diff --git a/.gitignore b/.gitignore index 02e1f10c3e7..8b5a75dd9bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ node_modules +_site + +__pycache__ build/* !build/plotcss.js @@ -16,3 +19,5 @@ tags !.circleci !.gitignore !.npmignore + +tmp diff --git a/BUILDING.md b/BUILDING.md deleted file mode 100644 index c5ee25e7765..00000000000 --- a/BUILDING.md +++ /dev/null @@ -1,67 +0,0 @@ -# Alternative ways to require or build plotly.js -Depending on your needs you may require/import one of [the distributed plotly.js packages](https://github.com/plotly/plotly.js/blob/master/dist/README.md) or [a plotly.js/lib index file](https://github.com/plotly/plotly.js/tree/master/lib) and integrate it into your application. - -The sections below provide additional info in respect to alternative building frameworks. - ---- -## Angular CLI - -Since Angular uses webpack under the hood and doesn't allow easily to change it's webpack configuration, there is some work needed using a `custom-webpack` builder to get things going. - -1. Install [`@angular-builders/custom-webpack`](https://www.npmjs.com/package/@angular-builders/custom-webpack) and [ify-loader@v1.1.0+](https://github.com/hughsk/ify-loader) -2. Create a new `extra-webpack.config.js` beside `angular.json`. - -> extra-webpack.config.json -```javascript -module.exports = { - module: { - rules: [ - { - test: /\.js$/, - include: [ - path.resolve(__dirname, "node_modules/plotly.js") - ], - loader: 'ify-loader' - } - ] - }, -}; -``` - -3. Change the builder in `angular.json` to `"@angular-builders/custom-webpack:browser` and configure it correctly to use our new webpack config. - -> angular.json -```json -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "MY_PROJECT_NAME": { - "root": "", - "sourceRoot": "src", - "projectType": "application", - "prefix": "app", - "schematics": { - "@schematics/angular:component": { - "styleext": "scss" - } - }, - "architect": { - "build": { - "builder": "@angular-builders/custom-webpack:browser", - "options": { - .... - "customWebpackConfig": { - "path": "./extra-webpack.config.js", - "replaceDuplicatePlugins": true, - "mergeStrategies": {"module.rules": "merge"} - } - } - } -... -``` - -It's important to set `projects.x.architect.build.builder` and `projects.x.architect.build.options.customWebpackConfig`. -If you have more projects in your `angular.json` make sure to adjust their settings accordingly. ---- diff --git a/code_of_conduct.md b/CODE_OF_CONDUCT.md similarity index 100% rename from code_of_conduct.md rename to CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 14be34d8b8d..96d7b25c2d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,11 +12,11 @@ environment for doing development and running tests. Please check out our [Code of Conduct](code_of_conduct.md). Don't tl:dr; it but the general idea is to be nice. -## Plotly.js vs Plotly.py and Plotly.R +## Plotly.js vs Plotly.py -[Plotly.js](https://plotly.com/javascript) is a standalone Javascript data visualization library, and it also powers the Python and R modules named `plotly` in those respective ecosystems (referred to as [Plotly.py](https://plotly.com/python) and [Plotly.R](http://plotly.com/r), respectively, for clarity). There also exist Plotly.js-powered libraries for other languages such as Julia, Scala, Rust, .NET and even C++! +[Plotly.js](https://plotly.com/javascript) is a standalone Javascript data visualization library, and it also powers the Python module named `plotly` (referred to as [Plotly.py](https://plotly.com/python) for clarity). -The basic architecture of Plotly.js is to accept [JSON](https://json.org/) representation of figures that adhere to the [figure schema](https://plotly.com/javascript/reference/index/) and draw interactive graphical representations of these figures in a browser. Libraries in other languages like Python and R provide idiomatic interfaces for users of those languages to create and manipulate these JSON structures, and arrange for them to be rendered in a browser context by Plotly.js. This means that in many cases, when a Python or R user wishes to add a feature to the library they know as `plotly`, the relevant changes must be implemented in Plotly.js, in this repo. +The basic architecture of Plotly.js is to accept [JSON](https://json.org/) representation of figures that adhere to the [figure schema](https://plotly.com/javascript/reference/index/) and draw interactive graphical representations of these figures in a browser. The Python library provides an idiomatic interface for Python users to create and manipulate these JSON structures, and arrange for them to be rendered in a browser context by Plotly.js. This means that in many cases, when a Python user wishes to add a feature to the library they know as `plotly`, the relevant changes must be implemented in Plotly.js, in this repo. ## How do changes get made to Plotly.js? @@ -37,7 +37,8 @@ The basic process for adding new features or fixing bugs is as follows. Please n The current Plotly.js maintainers are all employees of Plotly (the company) and one of their primary responsibilities is ensuring the process above runs smoothly. It is worth noting that maintainers and non-maintainer Plotly employees all follow the process above: proposing changes, iterating on proposals and eventually developing and reviewing each other's pull requests. As mentioned above, maintainers look after bug fixes, performance, security, documentation and concerns that impact the long-term prospects for this library. In terms of development work, maintainers tend to prioritize issues that do or are likely to impact Plotly customers, as well as on [sponsored features or bug fixes](https://plot.ly/products/consulting-and-oem/). Sponsored work proceeds via the process listed above, albeit with the option of conducting portions of the "discussion" step in a confidential setting if desired. Please note that maintainers are happy and eager to help with community-led pull requests, independent of customer-driven development priorities :) ### The Plotly.js Community -The Plotly.js community, construed fairly broadly, includes the maintainers and all users of Plotly.js and associated projects ([Plotly.py](https://plotly.com/python), [Dash](https://dash.plotly.com/), [Plotly.R](https://plotly.com/r), [Chart Studio](https://plotly.com/chart-studio) and many others). The community includes people from any background, domain, affiliation and level of technical expertise, for example (but not limited to!) employees of small or large companies or startups; employees or students of universities or other educational institutions; government employees and contractors; employees and volunteers of non-profits; individual hobbyists etc. + +The Plotly.js community, construed fairly broadly, includes the maintainers and all users of Plotly.js and associated projects ([Plotly.py](https://plotly.com/python), [Dash](https://dash.plotly.com/), and others supported by the open source community). The community includes people from any background, domain, affiliation and level of technical expertise, for example (but not limited to!) employees of small or large companies or startups; employees or students of universities or other educational institutions; government employees and contractors; employees and volunteers of non-profits; individual hobbyists etc. **Anyone in the community is encouraged to contribute to every step of the process described above!** Creating issues to report bugs or suggest new behaviours is a valuable contribution to this project, as is proposing a concrete set of changes to address issues created by anyone at any time. In the same way, giving feedback on proposals created by anyone in the community is valuable, as is, of course, development and review work. [Proposing changes to the documentation of Plotly.js or associated projects](https://github.com/plotly/graphing-library-docs/blob/master/README.md) is an extremely valuable form of contribution, as is [asking or answering questions on our community forum](https://community.plotly.com/), as it creates a record of a question and discussion, which others can stumble across later and use to further their own work. diff --git a/Makefile b/Makefile new file mode 100644 index 00000000000..f04ff98e4a4 --- /dev/null +++ b/Makefile @@ -0,0 +1,53 @@ +# Manage plotly.js documentation. + +RUN = uv run +HANDWRITTEN=content +SCHEMA_SRC=test/plot-schema.json +TMP=tmp +EXAMPLES_DIR=${TMP}/javascript +EXAMPLES_FILE=${EXAMPLES_DIR}/axes/index.html # could be any of the generated files +REFERENCE_DIR=${TMP}/reference +REFERENCE_FILE=${REFERENCE_DIR}/bar/index.html # could be any of the generated files + +## commands: show available commands +commands: + @grep -h -E '^##' ${MAKEFILE_LIST} | sed -e 's/## //g' | column -t -s ':' + +## docs: rebuild full documentation in `./docs` +.PHONY: docs +docs: ${EXAMPLES_FILE} ${REFERENCE_FILE} + ${RUN} mkdocs build + +## examples: build intermediate example documentation in ./tmp +examples: ${EXAMPLES_FILE} + +${EXAMPLES_FILE}: + @mkdir -p ${TMP} + ${RUN} bin/example_pages.py --indir ${HANDWRITTEN}/plotly_js --outdir ${EXAMPLES_DIR} --jsversion 3.2.1 + +## reference: build intermediate reference documentation in ./tmp +reference: ${REFERENCE_FILE} + +${REFERENCE_FILE}: + @mkdir -p ${TMP} + ${RUN} bin/reference_pages.py --schema ${SCHEMA_SRC} --outdir ${TMP}/reference ${HANDWRITTEN}/reference_pages/javascript/*.html + +## serve: display documentation +serve: + ${RUN} mkdocs serve + +## --: -- + +## clean: clean up repository +clean: + @find . -name '*~' -delete + @find . -name '.DS_Store' -delete + @rm -rf docs ${TMP} + +## format: reformat Python code +format: + @ruff format bin + +## lint: check code and project +lint: + @ruff check bin diff --git a/README.md b/README.md index d61082b8455..5057d296b01 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![circle ci](https://circleci.com/gh/plotly/plotly.js.svg?style=shield)](https://circleci.com/gh/plotly/plotly.js) [![MIT License](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://github.com/plotly/plotly.js/blob/master/LICENSE) -[Plotly.js](https://plotly.com/javascript) is a standalone Javascript data visualization library, and it also powers the Python and R modules named `plotly` in those respective ecosystems (referred to as [Plotly.py](https://plotly.com/python) and [Plotly.R](http://plotly.com/r)). +[Plotly.js](https://plotly.com/javascript) is a standalone Javascript data visualization library, and it also powers the Python module named `plotly` (referred to as [Plotly.py](https://plotly.com/python)). Plotly.js can be used to produce dozens of chart types and visualizations, including statistical charts, 3D graphs, scientific charts, SVG and tile maps, financial charts and more. @@ -22,22 +22,20 @@ Plotly.js can be used to produce dozens of chart types and visualizations, inclu +## Table of Contents -## Table of contents - -* [Load as a node module](#load-as-a-node-module) -* [Load via script tag](#load-via-script-tag) +* [Load as a Node Module](#load-as-a-node-module) +* [Load via Script Tag](#load-via-script-tag) * [Bundles](#bundles) -* [Alternative ways to load and build plotly.js](#alternative-ways-to-load-and-build-plotlyjs) * [Documentation](#documentation) -* [Bugs and feature requests](#bugs-and-feature-requests) +* [Bugs and Feature Requests](#bugs-and-feature-requests) * [Contributing](#contributing) -* [Notable contributors](#notable-contributors) +* [Notable Contributors](#notable-contributors) * [Copyright and license](#copyright-and-license) * [Community](#community) ---- -## Load as a node module +## Load as a Node Module + Install [a ready-to-use distributed bundle](https://github.com/plotly/plotly.js/blob/master/dist/README.md) ```sh npm i --save plotly.js-dist-min @@ -54,10 +52,10 @@ var Plotly = require('plotly.js-dist-min') You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plotly.js-dist) if you prefer using an unminified package. ---- -## Load via script tag +## Load via Script Tag + +### The `script` HTML Element -### The script HTML element > In the examples below `Plotly` object is added to the window scope by `script`. The `newPlot` method is then used to draw an interactive figure as described by `data` and `layout` into the desired `div` here named `gd`. As demonstrated in the example above basic knowledge of `html` and [JSON](https://en.wikipedia.org/wiki/JSON) syntax is enough to get started i.e. with/without JavaScript! To learn and build more with plotly.js please visit [plotly.js documentation](https://plotly.com/javascript). ```html @@ -77,6 +75,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo ``` Alternatively you may consider using [native ES6 import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) in the script tag. + ```html ``` @@ -95,7 +96,9 @@ While non-minified source files may contain characters outside UTF-8, it is reco > Please note that as of v2 the "plotly-latest" outputs (e.g. https://cdn.plot.ly/plotly-latest.min.js) will no longer be updated on the CDN, and will stay at the last v1 patch v1.58.5. Therefore, to use the CDN with plotly.js v2 and higher, you must specify an exact plotly.js version. ### MathJax + You could load either version two or version three of MathJax files, for example: + ```html ``` @@ -108,21 +111,20 @@ You could load either version two or version three of MathJax files, for example Please refer to `devtools/test_dashboard/index-mathjax3chtml.html` to see an example. ### Need to have several WebGL graphs on a page? + You may simply load [virtual-webgl](https://github.com/greggman/virtual-webgl) script for WebGL 1 (not WebGL 2) before loading other scripts. + ```html ``` ## Bundles + There are two kinds of plotly.js bundles: + 1. Complete and partial official bundles that are distributed to `npm` and the `CDN`, described in [the dist README](https://github.com/plotly/plotly.js/blob/master/dist/README.md). 2. Custom bundles you can create yourself to optimize the size of bundle depending on your needs. Please visit [CUSTOM_BUNDLE](https://github.com/plotly/plotly.js/blob/master/CUSTOM_BUNDLE.md) for more information. ---- -## Alternative ways to load and build plotly.js -If your library needs to bundle or directly load [plotly.js/lib/index.js](https://github.com/plotly/plotly.js/blob/master/lib/index.js) or parts of its modules similar to [index-basic](https://github.com/plotly/plotly.js/blob/master/lib/index-basic.js) in some other way than via an official or a custom bundle, or in case you want to tweak the default build configurations, then please visit [`BUILDING.md`](https://github.com/plotly/plotly.js/blob/master/BUILDING.md). - ---- ## Documentation Official plotly.js documentation is hosted at [https://plotly.com/javascript](https://plotly.com/javascript). @@ -130,18 +132,15 @@ Official plotly.js documentation is hosted at [https://plotly.com/javascript](ht These pages are generated by the Plotly [graphing-library-docs repo](https://github.com/plotly/graphing-library-docs) built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages. For more info about contributing to Plotly documentation, please read through [contributing guidelines](https://github.com/plotly/graphing-library-docs/blob/master/README.md). ---- -## Bugs and feature requests +## Bugs and Feature Requests Have a bug or a feature request? Please [open a Github issue](https://github.com/plotly/plotly.js/issues/new) keeping in mind the [issue guidelines](https://github.com/plotly/plotly.js/blob/master/.github/ISSUE_TEMPLATE.md). You may also want to read about [how changes get made to Plotly.js](https://github.com/plotly/plotly.js/blob/master/CONTRIBUTING.md) ---- ## Contributing Please read through our [contributing guidelines](https://github.com/plotly/plotly.js/blob/master/CONTRIBUTING.md). Included are directions for opening issues, using plotly.js in your project and notes on development. ---- -## Notable contributors +## Notable Contributors Plotly.js is at the core of a large and dynamic ecosystem with many contributors who file issues, reproduce bugs, suggest improvements, write code in this repo (and other upstream or downstream ones) and help users in the Plotly community forum. The following people deserve special recognition for their outsized contributions to this ecosystem: @@ -170,10 +169,9 @@ Plotly.js is at the core of a large and dynamic ecosystem with many contributors |**Chris Parmer**| [@chriddyp](https://github.com/chriddyp) | | Hall of Fame | |**Alex Vados**| [@alexander-daniel](https://github.com/alexander-daniel) | | Hall of Fame | ---- ## Copyright and license -Code and documentation copyright 2021 Plotly, Inc. +Code and documentation copyright Plotly, Inc. Code released under the [MIT license](https://github.com/plotly/plotly.js/blob/master/LICENSE). @@ -183,10 +181,7 @@ This project is maintained under the [Semantic Versioning guidelines](https://se See the [Releases section](https://github.com/plotly/plotly.js/releases) of our GitHub project for changelogs for each release version of plotly.js. ---- ## Community -* Follow [@plotlygraphs](https://twitter.com/plotlygraphs) on Twitter for the latest Plotly news. -* Implementation help may be found on community.plot.com (tagged [`plotly-js`](https://community.plotly.com/c/plotly-js)) or - on Stack Overflow (tagged [`plotly`](https://stackoverflow.com/questions/tagged/plotly)). +* Implementation help may be found on community.plot.com (tagged [`plotly-js`](https://community.plotly.com/c/plotly-js)) or on Stack Overflow (tagged [`plotly`](https://stackoverflow.com/questions/tagged/plotly)). * Developers should use the keyword `plotly` on packages which modify or add to the functionality of plotly.js when distributing through [npm](https://www.npmjs.com/browse/keyword/plotly). diff --git a/bin/example_pages.py b/bin/example_pages.py new file mode 100644 index 00000000000..982a02e2b6a --- /dev/null +++ b/bin/example_pages.py @@ -0,0 +1,267 @@ +"""Rebuild plotly.js example pages from Jekyll HTML.""" + +import argparse +import frontmatter +from html import escape +import json +from markdown import markdown +from pathlib import Path +import re +from mkdocs.config import load_config +from utils import _log + + +HTML_TAG_RE = re.compile(r"<[^>]*>") +SUITE_RE = re.compile(r'where:"suite","(.+?)"') + + +def main(): + """Main driver.""" + args = _parse_args() + index_files, example_files = _get_source_files(args) + for path, record in index_files.items(): + _process(args, path, record, example_files) + + +def _get_source_files(args): + """Load and classify source files.""" + index_files = {} + example_files = {} + for filepath in args.indir.glob("**/*.html"): + page = frontmatter.load(filepath) + record = {"header": page.metadata, "content": page.content} + if not str(filepath).endswith("index.html"): + example_files[filepath] = record + elif "posts/auto_examples.html" in page.content: + index_files[filepath] = record + return index_files, example_files + + +def _get_suite(path, content): + """Get suite specification from index file.""" + m = SUITE_RE.search(content) + if _log(not m, f"cannot find 'suite' in index file {path}"): + return None + return m.group(1) + + +def _make_html(args, examples): + """Build HTML page full of examples.""" + accum = [] + for counter, (path, record) in enumerate(examples): + header = record["header"] + content = record["content"] + accum.append('
\n') + accum.append('
\n') + + _make_html_name(accum, path, header) + + accum.append('
\n') + _make_html_text(accum, path, header, content) + if _make_plot_url(accum, path, header, content): + pass + elif _make_mydiv(args, accum, path, header, content, counter): + pass + accum.append("
\n") + + accum.append("
\n") + accum.append("
\n\n") + + return "".join(accum) + + +HTML_NAME = """\ +

+ {name} +

+""" + + +def _make_html_name(accum, path, header): + """Make example name block.""" + name = header["name"] if header["name"] else "" + _log(not name, f"{path} does not have name") + name = _strip_html(name.replace(" ", "-").replace(",", "").lower()) + accum.append(HTML_NAME.format(name=name)) + + +HTML_TEXT = """\ + {markdown_content} + {page_content} + {description} +""" + +HTML_TEXT_PAGE_CONTENT = """\ +
+
{text}
+
+""" + +HTML_TEXT_DESCRIPTION = """\ +
+ {text} +
+""" + + +def _make_html_text(accum, path, header, content): + """Make text of example.""" + # columns = "twelve" if "horizontal" in header.get("arrangement", "") else "six" + markdown_content = markdown(header.get("markdown_content", "")) + page_content = ( + HTML_TEXT_PAGE_CONTENT.format(text=escape(content)) if content else "" + ) + description = header.get("description", "") + description = HTML_TEXT_DESCRIPTION.format(text=description) if description else "" + accum.append( + HTML_TEXT.format( + markdown_content=markdown_content, + page_content=page_content, + description=description, + ) + ) + + +MYDIV_D3 = "\n\t<script src='https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js'></script>" +MYDIV_MATHJAX = "\n\t<script src='//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML'></script>" + +MYDIV = """\ +
+ + +
+
+ +""" + + +def _make_mydiv(args, accum, path, header, content, counter): + """Handle myDiv case.""" + if ("'myDiv'" not in content) and ('"myDiv"' not in content): + return False + + d3 = MYDIV_D3 if "d3." in content else "" + mathjax = MYDIV_MATHJAX if "remember to load MathJax.js" in content else "" + # columns = "twelve" if "horizontal" in header.get("arrangement", "") else "six" + name = header["name"] + unique_mydiv = f"myDiv_{counter}" + content_mydiv = content.replace("myDiv", unique_mydiv) + content_json = escape(json.dumps(content)) + + # Get JS Version + mkdocs_path = Path(__file__).resolve().parent.parent / "mkdocs.yml" + config = load_config(config_file=str(mkdocs_path)) + extra = config.get("extra", {}) + version = extra.get("js-version") + + accum.append( + MYDIV.format( + d3=d3, + mathjax=mathjax, + name=name, + unique_mydiv=unique_mydiv, + content_mydiv=content_mydiv, + content_json=content_json, + jsversion=version, + ) + ) + + return True + + +PLOT_URL = """\ + {plot_url_img} + {plot_url_embed} +""" + +PLOT_URL_IMG = """\ + +""" + +PLOT_URL_EMBED = """\ + +""" + + +def _make_plot_url(accum, path, header, content): + """Handle specified plot URL.""" + plot_url = header.get("plot_url") + if not plot_url: + return False + columns = "twelve" if "horizontal" in header.get("arrangement", "") else "six" + + plot_url_img = "" + plot_url_embed = "" + if (".gif" in plot_url) or (".png" in plot_url): + plot_url_img = PLOT_URL_IMG.format(plot_url=plot_url) + else: + embed_class = ".embed" if "plot.ly" in plot_url else "" + width = f"{header.get('width', '550')}px" + height = f"{header.get('height', '550')}px" + plot_url_embed = PLOT_URL_EMBED.format( + plot_url=plot_url, + embed_class=embed_class, + width=width, + height=height, + ) + accum.append( + PLOT_URL.format( + columns=columns, + plot_url=plot_url, + plot_url_img=plot_url_img, + plot_url_embed=plot_url_embed, + ) + ) + + return True + + +def _parse_args(): + """Parse command-line arguments.""" + parser = argparse.ArgumentParser(description="Generate HTML example documentation") + parser.add_argument("--indir", type=Path, help="Input directory") + parser.add_argument("--jsversion", help="Plotly JS version") + parser.add_argument("--schema", type=Path, help="Path to plot schema JSON file") + parser.add_argument("--outdir", type=Path, help="Output directory") + parser.add_argument( + "--verbose", type=int, default=0, help="Integer verbosity level" + ) + return parser.parse_args() + + +def _process(args, path, record, example_files): + """Process a section.""" + if (suite := _get_suite(path, record["content"])) is None: + return + + examples = [ + (p, r) + for p, r in example_files.items() + if r["header"].get("suite", None) == suite + ] + examples.sort( + key=lambda pair: (example_files[pair[0]]["header"]["order"], str(pair[0])) + ) + + section = record["header"]["permalink"].strip("/").split("/")[-1] + _log(args.verbose > 0, f"...{section}: {len(examples)}") + + html = _make_html(args, examples) + + output_path = args.outdir / section / "index.html" + output_path.parent.mkdir(parents=True, exist_ok=True) + output_path.write_text(html) + + +def _strip_html(text): + """Remove HTML tags from text.""" + return HTML_TAG_RE.sub("", text) + + +if __name__ == "__main__": + main() diff --git a/bin/generate_reference_pages.py b/bin/generate_reference_pages.py new file mode 100644 index 00000000000..e45891cf25a --- /dev/null +++ b/bin/generate_reference_pages.py @@ -0,0 +1,46 @@ +"""Generate reference pages to satisfy MkDocs.""" + +import os +from pathlib import Path +import mkdocs_gen_files + + +def generate_pages(path, output_dir, parent, nav=None): + """ + Walk through a directory and generate Markdown files that + include the corresponding HTML snippets. + """ + with os.scandir(path) as it: + entries = sorted(it, key=lambda e: e.name) + for folder in entries: + dir_name = folder.name + ".md" + file_path = os.path.join(output_dir, dir_name) + + with open(file_path, "w") as f: + f.write(f"# {folder.name}\n") + f.write(f'--8<-- "{parent}/{folder.name}/index.html"\n') + + # Add markdown file to navigation + if nav is not None: + nav[(folder.name)] = dir_name + + it.close() + + +nav = mkdocs_gen_files.Nav() + +parent = Path(__file__).resolve().parent.parent +ref_path = f"{parent}/tmp/reference" +ref_output_dir = f"{parent}/pages/reference/" + +examples_path = f"{parent}/tmp/javascript" +examples_output_dir = f"{parent}/pages/examples/" + +os.makedirs(ref_output_dir, exist_ok=True) +os.makedirs(examples_output_dir, exist_ok=True) + +generate_pages(ref_path, ref_output_dir, "reference", nav) +generate_pages(examples_path, examples_output_dir, "javascript") + +with mkdocs_gen_files.open("reference/SUMMARY.md", "w") as nav_file: + nav_file.writelines(nav.build_literate_nav()) diff --git a/bin/reference_pages.py b/bin/reference_pages.py new file mode 100644 index 00000000000..46e89ed1acb --- /dev/null +++ b/bin/reference_pages.py @@ -0,0 +1,419 @@ +"""Rebuild a reference page from the Jekyll HTML and plot schema JSON file.""" + +import argparse +from html import escape +import json +from pathlib import Path +import re +import sys + +from utils import _log, _str + + +INCLUDE_BLOCK_RE = re.compile( + r'{%\s*include\s+posts/reference-block.html\s+parentlink="(.+?)"\s+block="(.+?)"\s+parentpath="(.+?)"\s+mustmatch="(.+?)"\s*%}' +) +INCLUDE_TRACE_RE = re.compile( + r'\{%\s*include\s+posts/reference-trace.html\s+trace_name="(.+?)"\s+trace_data=site\.data\.plotschema\.traces\.(.+?)\s*%}' +) +TITLE_RE = re.compile(r"

.+?(.+?).*

") + + +PLOT_SCHEMA_CONTENT = """\ +
+ A {trace_name} trace is an object with the key "type" equal to "{trace_data_attributes_type}" + (i.e. {{"type": "{trace_data_attributes_type}"}}) and any of the keys listed below. +

{trace_data_meta_description}

+
+""" + +PLOT_SCHEMA_REPLACEMENTS = ( + ("*", '"'), + ("{array}", "array"), + ("{arrays}", "arrays"), + ("{object}", "object"), + ("{2D array}", "2D array"), +) + +OBJ_EXCLUDES = { + "_arrayAttrRegexps", + "_deprecated", + "_isLinkedToArray", + "_isSubplotObj", + "description", + "editType", + "extras", + "flags", + "impliedEdits", + "items", + "magic_underscores", + "role", + "stream", + "transformsuid", +} + +SKIP_MUSTMATCH = { + "annotations", + "coloraxis", + "geo", + "images", + "mapbox", + "polar", + "scene", + "shapes", + "sliders", + "smith", + "ternary", + "updatemenus", + "xaxis", + "yaxis", +} + +ANNOTATION = " ".join( + [ + "
An annotation is a text element that can be placed anywhere in the plot.", + "It can be positioned with respect to relative coordinates in the plot", + "or with respect to the actual data coordinates of the graph.", + "Annotations can be shown with or without an arrow.", + ] +) + + +def main(): + """Main driver.""" + args = _parse_args() + schema = json.loads(args.schema.read_text()) + assert "traces" in schema, f"'traces' missing from {args.schema}" + + for src_path in args.inputs: + _log(args.verbose > 0, f"...{src_path}") + src_content = src_path.read_text() + + m = TITLE_RE.search(src_content) + if _log(not m, f"failed to match title in {src_path}"): + continue + title = m.group(1) + + if m := INCLUDE_TRACE_RE.search(src_content): + if _log( + m.group(1) != title, + f"title {title} != include title {m.group(1)} in {src_path}", + ): + continue + trace_name = m.group(2) + trace_data = schema["traces"].get(trace_name, None) + if _log( + trace_data is None, f"trace '{trace_name}' not found in {args.schema}" + ): + continue + html = _reference_trace(args, schema, src_path, trace_name, trace_data) + + elif m := INCLUDE_BLOCK_RE.search(src_content): + parent_link = m.group(1) + block = m.group(2) + parent_path = m.group(3) + mustmatch = m.group(4) + accum = [] + attributes = schema["layout"]["layoutAttributes"] + _reference_block( + args, + src_path, + accum, + attributes, + parent_link, + parent_path, + block, + mustmatch, + ) + html = _replace_special("".join([_str(a) for a in accum])) + + else: + _log(not m, f"failed to match include in {src_path}") + continue + + output_path = args.outdir / title.replace(".", "/") / "index.html" + output_path.parent.mkdir(parents=True, exist_ok=True) + output_path.write_text(html) + + +def _bool_or_star(value): + if isinstance(value, bool): + return str(value).lower() + else: + return f"*{value}*" + + +def _comma(accum, i, text=","): + """Conditionally insert comma in list.""" + if i > 0: + accum.append(f"{text} ") + + +def _get(value, key, default=None): + """Simulate Jekyll's obj.field (which is 'nil' if 'obj' is a string).""" + if isinstance(value, str): + return default + assert isinstance(value, dict), f"{value} not recognized" + return value.get(key, default) + + +def _parse_args(): + """Parse command-line arguments.""" + parser = argparse.ArgumentParser( + description="Generate HTML reference documentation" + ) + parser.add_argument("inputs", nargs="+", type=Path, help="Input Jekyll files") + parser.add_argument("--schema", type=Path, help="Path to plot schema JSON file") + parser.add_argument("--outdir", type=Path, help="Output directory") + parser.add_argument( + "--verbose", type=int, default=0, help="Integer verbosity level" + ) + return parser.parse_args() + + +def _reference_block( + args, src_path, accum, attributes, parent_link, parent_path, block, mustmatch=None +): + """Generate HTML documentation for a trace's attributes.""" + accum.append("\n") + + +def _reference_block_valtype(src_path, accum, key, value): + """Handle a value type.""" + outer = " " * 12 + inner = " " * 20 + accum.append("
\n") + + if (_get(value, "valType") == "enumerated") or _get( + _get(value, "valType"), "values" + ): + accum.append(f"{outer}Type:\n") + accum.append(f"{inner}{_get(value, 'valType')}") + if _get(value, "arrayOk"): + accum.append(f" or array of {_get(value, 'valType')}s\n") + accum.append(f"{inner}, one of (\n") + for i, sub_value in enumerate(_get(value, "values")): + _comma(accum, i, "|") + accum.append(f"{_bool_or_star(sub_value)}") + accum.append(f"{inner})\n") + + elif _get(value, "valType") in {"number", "integer"}: + accum.append(f"{inner}Type: {_get(value, 'valType')}") + if _get(value, "arrayOk"): + accum.append(f" or array of {_get(value, 'valType')}s") + if _get(value, "min") and _get(value, "max"): + accum.append( + f" between or equal to {_get(value, 'min')} and {_get(value, 'max')}\n" + ) + elif _get(value, "min"): + accum.append(f" greater than or equal to {_get(value, 'min')}\n") + elif _get(value, "max"): + accum.append(f" less than or equal to {_get(value, 'max')}\n") + + elif _get(value, "valType") == "boolean": + accum.append(f"{inner}Type: {_get(value, 'valType')}") + if _get(value, "arrayOk"): + accum.append(f" or array of {_get(value, 'valType')}s") + + elif _get(value, "valType") == "flaglist": + accum.append(f"{inner}Type: {_get(value, 'valType')} string.\n\n") + flags = _get(value, "flags") + if not flags: + print(f"no flags for flaglist {key} in {src_path}", file=sys.stderr) + return + + accum.append(f"{inner}Any combination of ") + for i, f in enumerate(flags): + _comma(accum, i) + accum.append(_bool_or_star(f)) + accum.append(" joined with a *+*\n") + accum.append(f"{inner}OR ") + + extras = _get(value, "extras") + if extras: + for i, x in enumerate(extras): + _comma(accum, i) + accum.append(_bool_or_star(x)) + + accum.append(".\n\n") + accum.append(f"{inner}
Examples: ") + accum.append(f"*{flags[0]}*, ") + accum.append(f"*{flags[1]}*, ") + accum.append(f"*{flags[0]}+{flags[1]}*, ") + if len(flags) > 2: + accum.append(f"*{flags[0]}+{flags[1]}+{flags[2]}*, ") + if extras: + accum.append(f"*{extras[0]}*") + accum.append("\n\n") + + elif _get(value, "valType") == "data_array": + accum.append(f"{inner}Type: {_get(value, 'valType')}\n") + + elif _get(value, "valType") == "info_array": + accum.append("{inner}Type: {{array}}\n") + + elif _get(value, "valType") == "color": + accum.append(f"{inner}Type: {_get(value, 'valType')}") + if _get(value, "arrayOk"): + accum.append(f" or array of {_get(value, 'valType')}s") + + elif _get(value, "valType") == "any": + accum.append(f"{inner}Type: number or categorical coordinate string\n") + + elif _get(value, "valType") == "string": + if "src" in key: + return + accum.append(f"{inner}Type: string") + if _get(value, "arrayOk"): + accum.append(" or array of strings") + + else: + accum.append(f"{inner}Type: {_get(value, 'valType')}\n") + + if _get(value, "role") == "object": + if _get(value, "items"): + accum.append(f"{inner}Type: {{array}} of {{object}}s") + else: + accum.append(f"{inner}Type: {{object}}") + + +def _reference_block_dflt(src_path, accum, key, value): + """Handle a default.""" + outer = " " * 16 + if _get(value, "valType") == "flaglist": + accum.append( + f"{outer}
Default: *{_get(value, 'dflt')}*\n" + ) + else: + accum.append(f"{outer}
Default: ") + if _get(value, "dflt") == "": + accum.append("**") + elif _get(value, "valType") == "colorscale": + temp = [f"[{', '.join(_str(d))}]" for d in _get(value, "dflt")] + accum.append(f"[{', '.join(temp)}]") + elif _get(value, "valType") in {"info_array", "colorlist"}: + accum.append(f"[{', '.join([_str(x) for x in _get(value, 'dflt')])}]") + elif (_get(value, "valType") in {"string", "color"}) or ( + _get(value, "dflt") == "auto" + ): + accum.append(f"*{_get(value, 'dflt')}*") + elif (_get(value, "valType") == "enumerated") and ( + _get(value, "dflt") not in {"true", "false"} + ): + accum.append(f"*{_get(value, 'dflt')}*") + else: + accum.append(_get(value, "dflt")) + accum.append("\n") + + +def _reference_block_array(src_path, accum, key, value): + """Handle an array.""" + outer = " " * 12 + inner = " " * 16 + accum.append(f"{outer}
Type: {{array}} of {{object}} where\n") + accum.append(f"{outer}each {{object}} has one or more of the keys listed below.\n") + if key == "annotations": + if not _get(value, "descipription"): + accum.append(f"{inner}{ANNOTATION}\n") + + +def _reference_block_object( + args, src_path, accum, parent_link, parent_path, key, value +): + """Handle an object with a recursive call.""" + parent_path = f"{parent_path}-{key}" + if _get(value, "items"): + # This will break if there is ever more than one type of item in items, + # but for now it's just "shape" and "annotation" + for item_key, item_value in _get(value, "items").items(): + attributes = item_value + else: + attributes = value + _reference_block( + args, src_path, accum, attributes, parent_link, parent_path, "nested" + ) + + +def _reference_trace(args, schema, src_path, trace_name, trace_data): + """Generate HTML documentation for a trace.""" + plot_schema_content = PLOT_SCHEMA_CONTENT.format( + trace_name=trace_name, + trace_data_attributes_type=trace_data["attributes"]["type"], + trace_data_meta_description=trace_data["meta"]["description"], + ) + accum = [plot_schema_content] + + parent_link = trace_name + parent_path = f"data[type={trace_name}]" + attributes = trace_data["attributes"] + _reference_block( + args, src_path, accum, attributes, parent_link, parent_path, "data" + ) + + return _replace_special("".join([_str(a) for a in accum])) + + +def _replace_special(text): + """Handle our funky special-case strings.""" + for original, replacement in PLOT_SCHEMA_REPLACEMENTS: + text = text.replace(original, replacement) + return text + + +def _skip_mustmatch(key, mustmatch): + if mustmatch is None: + return False + if mustmatch == "global": + return key in SKIP_MUSTMATCH + elif key != mustmatch: + return True + else: + return False + + +if __name__ == "__main__": + main() diff --git a/bin/utils.py b/bin/utils.py new file mode 100644 index 00000000000..8c900f56409 --- /dev/null +++ b/bin/utils.py @@ -0,0 +1,21 @@ +"""Documentation generation utilities.""" + +import sys + + +def _log(condition, msg): + """Conditionally report progress.""" + if condition: + print(msg, file=sys.stderr) + return condition + + +def _str(val): + """Hacky string conversion.""" + if isinstance(val, str): + return val + if isinstance(val, bool): + return str(val).lower() + if isinstance(val, int): + return str(val) + return str(val) diff --git a/content/2015-07-26-index.html b/content/2015-07-26-index.html new file mode 100644 index 00000000000..294b98a660b --- /dev/null +++ b/content/2015-07-26-index.html @@ -0,0 +1,92 @@ +--- +name: Plotly Open Source Graphing Libraries +permalink: /api/ +redirect_from: +- / +- /graphing-libraries/ +--- + + + + +{% include layouts/head.html %} + + + {% include layouts/google-tag-body.html %} + + {% include layouts/_header-main.html %} + +
+
+
+
+
+

Plotly Open Source Graphing Libraries

+ +

+ Interactive charts and maps for Python, Javascript, and Dash. +

+
+
+
+
+
+ +
+ +
+
+
+ + {% include layouts/_footer-main.html %} + + + + diff --git a/content/plotly_js/2015-04-05-plotly_js-index.html b/content/plotly_js/2015-04-05-plotly_js-index.html new file mode 100644 index 00000000000..1e7a8104181 --- /dev/null +++ b/content/plotly_js/2015-04-05-plotly_js-index.html @@ -0,0 +1,177 @@ +--- +name: Plotly JavaScript Graphing Library +permalink: /javascript/ +description: A free open source interactive javascript graphing library. Plotly.js is built on d3.js and webgl and supports over 20 types of interactive charts. +language: plotly_js +layout: langindex +display_as: false +redirect_from: /javascript-graphing-library/ +--- + + +
+
+ +
+ +
+

Plotly JavaScript Open Source Graphing Library

+

+ Built on top of d3.js and stack.gl, Plotly.js is a high-level, declarative charting library. plotly.js ships with over 40 chart types, including 3D charts, statistical graphs, and SVG maps. +
plotly.js is free and open source and you can view the source, report issues or contribute on GitHub. +

+
+
+
+
+ {% include layouts/dashplug.html %} +
+
+ Read more about plotly.js features +
+ +
+ +
+ Sophisticated chart types +
+
+ plotly.js abstracts the types of statistical and scientific charts that you would find in packages like matplotlib, ggplot2, or MATLAB. +
+ + +
+ +
+
d3.json('https://plotly.com/~DanielCarrera/13.json', function(figure){
+                  var trace = {
+                    x: figure.data[0].x, y: figure.data[0].y, z: figure.data[0].z,
+                    type: 'contour', autocolorscale: false,
+                    colorscale: [[0,"rgb(  0,  0,  0)"],[0.3,"rgb(230,  0,  0)"],[0.6,"rgb(255,210,  0)"],[1,"rgb(255,255,255)"]],
+                    reversescale: true, zmax: 2.5, zmin: -2.5
+                  };
+                  var layout = {
+                    title: {
+                      text: 'turbulence simulation'
+                  },
+                    xaxis: {
+                      title: {
+                          text: 'radial direction'
+                      },
+                      showline: true,
+                      mirror: 'allticks',
+                      ticks: 'inside'
+                    },
+                    yaxis: {
+                        title: {
+                            text: 'vertical direction'
+                        },
+                        showline: true,
+                        mirror: 'allticks',
+                        ticks: 'inside'
+                    },
+                    margin: {l: 40, b: 40, t: 60},
+                    annotations: [{
+                      showarrow: false,
+                      text: 'Credit: Daniel Carrera',
+                      x: 0, y: 0, xref: 'paper', yref: 'paper'
+                    }]
+                  }
+                  Plotly.newPlot(document.getElementById('contour-plot'), [trace], layout, {showLink: false});
+                });
+ + + +
Fully customizable
+
+ plotly.js charts are described declaratively as JSON objects. Every aspect of the charts, such as colors, grid lines, and the legend, has a corresponding set of JSON attributes. + +
+ +
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/wind_speed_laurel_nebraska.csv', function(rows){
+                    var trace = {
+                      type: 'scatter',                    // set the chart type
+                      mode: 'lines',                      // connect points with lines
+                      x: rows.map(function(row){          // set the x-data
+                        return row['Time'];
+                      }),
+                      y: rows.map(function(row){          // set the x-data
+                        return row['10 Min Sampled Avg'];
+                      }),
+                      line: {                             // set the width of the line.
+                        width: 1
+                      },
+                      error_y: {
+                        array: rows.map(function(row){    // set the height of the error bars
+                          return row['10 Min Std Dev'];
+                        }),
+                        thickness: 0.5,                   // set the thickness of the error bars
+                        width: 0
+                      }
+                    };
+
+                    var layout = {
+                      yaxis: {
+                        title: {
+                          text: "Wind Speed"
+                        }
+                      },       // set the y axis title
+                      xaxis: {
+                        showgrid: false,                  // remove the x-axis grid lines
+                        tickformat: "%B, %Y"              // customize the date format to "month, day"
+                      },
+                      margin: {                           // update the left, bottom, right, top margin
+                        l: 40, b: 10, r: 10, t: 20
+                      }
+                    };
+
+                    Plotly.newPlot(document.getElementById('wind-speed'), [trace], layout, {showLink: false});
+                });
+ + + +
High performance
+
+
+ Most plotly graphs are drawn with SVG. This offers great compatibility across browsers and publication-quality vector image export. Unfortunately, there are inherent performance limitations with the number of SVG elements that you can draw in the DOM.

+ plotly.js uses stack.gl for high performance 2D and 3D charting.

+
+
+
+ +
+
+ This chart was drawn with the plotly.js chart type scattergl. scattergl charts render an order of magnitude faster than their SVG counterparts.
+
+
+
+
+ + + +
+
+ All 3D charts in plotly.js are rendered with WebGL, leveraging the power of the GPU for fast interactivity. + view the interactive version +
+
+
+
Universal
+
+ By abstracting charts to a declarative JSON structure, plotly.js is used as a browser-based charting library for Python, R, MATLAB. +
+ +
+
+
+
+ + +
+
+
+ +{% assign languagelist = site.posts | where:"language","plotly_js" | sort: "order" %} +{% include posts/mainlang_documentation_eg.html %} diff --git a/content/plotly_js/2015-07-21-plotlyjs-getting-started.html b/content/plotly_js/2015-07-21-plotlyjs-getting-started.html new file mode 100644 index 00000000000..8792041a2fe --- /dev/null +++ b/content/plotly_js/2015-07-21-plotlyjs-getting-started.html @@ -0,0 +1,105 @@ +--- +name: Getting Started +permalink: javascript/getting-started/ +description: Getting Started with plotly +layout: base +language: plotly_js +redirect_from: javascript-graphing-library/getting-started/ +--- + + +
+

NPM

+
+

+ You can install Plotly.js from NPM via npm install plotly.js-dist or yarn add plotly.js-dist +

+ +
+ +
+

plotly.js CDN

+
+

+ You can also use the ultrafast plotly.js CDN link. This CDN is graciously provided by the incredible team at Fastly. +

+ +
<head>
+               <script src="https://cdn.plot.ly/plotly-{{site.data.jsversion.version}}.min.js" charset="utf-8"></script>
+</head>
+ +
+
+ +
+

Download

+
+

+ Download the minified plotly.js source code and dependencies. +

+ +

+ Include the downloaded scripts before the end of the </head> tag in your HTML document: +

+ +
<head>
+	<script src="plotly-{{site.data.jsversion.version}}.min.js" charset="utf-8"></script>
+</head>
+
+ +
+ +

+ + Download plotly.js +

+ +
+ +
+

Start plotting!

+
+

+ In your HTML document, create an empty DIV to draw the graph in: +

+ +
<div id="tester" style="width:600px;height:250px;"></div>
+ +

+ Now you can make interactive plotly.js charts using Plotly.newPlot(). +

+
<script>
+	TESTER = document.getElementById('tester');
+	Plotly.newPlot( TESTER, [{
+	x: [1, 2, 3, 4, 5],
+	y: [1, 2, 4, 8, 16] }], {
+	margin: { t: 0 } } );
+</script>
+ +

+ Now you can pass Plotly.newPlot() either the ID of the DIV ("tester") or the DIV DOM element (TESTER). +

+ +
+
+ +
+

Hello World Example

+
+ +
+
+ +
+ more examples +
+ + diff --git a/content/plotly_js/2016-06-03-plotly_js_function_ref.html b/content/plotly_js/2016-06-03-plotly_js_function_ref.html new file mode 100644 index 00000000000..c256e8e203e --- /dev/null +++ b/content/plotly_js/2016-06-03-plotly_js_function_ref.html @@ -0,0 +1,629 @@ +--- +name: Function Reference +permalink: /javascript/plotlyjs-function-reference/ +description: Plotly.js function reference. How to create, update, and modify graphs drawn with Plotly's JavaScript Graphing Library. +language: plotly_js +layout: base +redirect_from: /javascript-graphing-library/plotlyjs-function-reference +--- + + + +

Common parameters

+ +
+
graphDiv
+
The functions documented here all create or modify a plot that is drawn into a <div> element on the page, commonly referred to as graphDiv or plotDiv. The first argument to each function on this page is a reference to this element, and it can be either a DOM node, i.e. the output of document.getElementById(), or a string, in which case it will be treated as the id of the div. A note on sizing: You can either supply height and width in the layout object (see below), or give the <div> a height and width in CSS.
+ +
data
+
The data to be plotted is described in an array usually called data, whose elements are trace objects of various types (e.g. scatter, bar etc) as documented in the Full Reference. +
+
layout
+
The layout of the plot – non-data-related visual attributes such as the title, annotations etc – is described in an object usually called layout, as documented in/ the Full Reference. +
+
config
+
High-level configuration options for the plot, such as the scroll/zoom/hover behaviour, is described in an object usually called config, as documented here. The difference between config and layout is that layout relates to the content of the plot, whereas config relates to the context in which the plot is being shown. +
+
frames
+
Animation frames are described in an object usually called frames as per the example here. + They can contain data and layout objects, which define any changes to be animated, and a traces + object that defines which traces to animate. Additionally, frames containing name and/or group + attributes can be referenced by Plotly.animate + after they are added by Plotly.addFrames +
+
+ + +

Plotly.newPlot

+ +Draws a new plot in an <div> element, overwriting any existing plot. To update an existing plot in a <div>, it is much more efficient to use Plotly.react than to overwrite it. +

+
+Signature +
+
Plotly.newPlot(graphDiv, data, layout, config)
+
+
+
graphDiv
+
DOM node or string id of a DOM node
+
data
+
array of objects, see documentation
(defaults to [])
+
layout
+
object, see documentation/
(defaults to {})
+
config
+
object, see documentation
(defaults to {})
+
+
+
Plotly.newPlot(graphDiv, obj)
+
+
+
graphDiv
+
DOM node or string id of a DOM node
+
obj
+
single object with keys for data, layout, config and frames, see above for contents
(defaults to {data: [], layout: {}, config: {}, frames: []})
+
+
+
+
+

+ + +After plotting, the data or layout can always be retrieved from the <div> element in which the plot was drawn: +

+var graphDiv = document.getElementById('id_of_the_div')
+
+var data = [{
+  x: [1999, 2000, 2001, 2002],
+  y: [10, 15, 13, 17],
+  type: 'scatter'
+}];
+
+var layout = {
+  title: {
+    text: 'Sales Growth'
+  },
+  xaxis: {
+    title: {
+      text: 'Year'
+    },
+    showgrid: false,
+    zeroline: false
+  },
+  yaxis: {
+    title: {
+      text: 'Percent'
+    },
+    showline: false
+  }
+};
+Plotly.newPlot(graphDiv, data, layout);
+
+...
+var dataRetrievedLater = graphDiv.data;
+var layoutRetrievedLater = graphDiv.layout;
+
+ + +

Plotly.react

+ +Plotly.react has the same signature as Plotly.newPlot above, and can be used in its place to create a plot, but when called again on the same <div> will update it far more efficiently than Plotly.newPlot, which would destroy and recreate the plot. Plotly.react is as fast as Plotly.restyle/Plotly.relayout documented below. +

+Important Note: In order to use this method to plot new items in arrays under data such as x or marker.color etc, these items must either have been added immutably (i.e. the identity of the parent array must have changed) or the value of layout.datarevision must have changed. + +

Plotly.restyle

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+ +An efficient means of changing attributes in the data array in an existing plot. When restyling, you may choose to have the specified changes affect as many traces as desired. The update is given as a single object and the traces that are affected are given as a list of traces indices. Note, leaving the trace indices unspecified assumes that you want to restyle all the traces. + +

+
+Signature +
+
Plotly.restyle(graphDiv, update [, traceIndices])
+
+
+
graphDiv
+
DOM node or string id of a DOM node
+
update
+
object, see below for examples
(defaults to {})
+
traceIndices
+
array of integer indices into existing value of data
(optional, default behaviour is to apply to all traces)
+
+ +
+
+

+ +

+// restyle a single trace using attribute strings
+var update = {
+    opacity: 0.4,
+    'marker.color': 'red'
+};
+Plotly.restyle(graphDiv, update, 0);
+
+// restyle all traces using attribute strings
+var update = {
+    opacity: 0.4,
+    'marker.color': 'red'
+};
+Plotly.restyle(graphDiv, update);
+
+// restyle two traces using attribute strings
+var update = {
+    opacity: 0.4,
+    'marker.color': 'red'
+};
+Plotly.restyle(graphDiv, update, [1, 2]);
+
+ +

See the Pen Plotly.restyle by plotly (@plotly) on CodePen.

+ + +

+ +The above examples have applied values across single or multiple traces. However, you can also specify arrays of values to apply to traces in turn. + +

+// restyle the first trace's marker color 'red' and the second's 'green'
+var update = {
+    'marker.color': ['red', 'green']
+};
+Plotly.restyle(graphDiv, update, [0, 1])
+
+// alternate between red and green for all traces (note omission of traces)
+var update = {
+    'marker.color': ['red', 'green']
+};
+Plotly.restyle(graphDiv, update)
+
+ +

See the Pen Plotly.restyle Traces in Turn by plotly (@plotly) on CodePen.

+ +

+ +In restyle, arrays are assumed to be used in conjunction with the trace indices provided. Therefore, to apply an array as a value, you need to wrap it in an additional array. For example: + +

+// update the color attribute of the first trace so that the markers within the same trace
+// have different colors
+var update = {
+    'marker.color': [['red', 'green']]
+}
+Plotly.restyle(graphDiv, update, [0])
+
+// update two traces with new z data
+var update = {z: [[[1,2,3], [2,1,2], [1,1,1]], [[0,1,1], [0,2,1], [3,2,1]]]};
+Plotly.restyle(graphDiv, update, [1, 2])
+
+ +

See the Pen Plotly.restyle Arrays by plotly (@plotly) on CodePen.

+ +

+ +The term attribute strings is used above to mean flattened (e.g., {marker: {color: 'red'}} vs. {'marker.color': red}). When you pass an attribute string to restyle inside the update object, it’s assumed to mean update only this attribute. Therefore, if you wish to replace and entire sub-object, you may simply specify one less level of nesting. + +

+// replace the entire marker object with the one provided
+var update = {
+    marker: {color: 'red'}
+};
+Plotly.restyle(graphDiv, update, [0])
+
+ +

See the Pen Plotly.restyle Attribute strings by plotly (@plotly) on CodePen.

+ +

+ +Finally, you may wish to selectively reset or ignore certain properties when restyling. This may be useful when specifying multiple properties for multiple traces so that you can carefully target what is and is not affected. In general `null` resets a property to the default while `undefined` applies no change to the current state. + +

+// Set the first trace's line to red, the second to the default, and ignore the third
+Plotly.restyle(graphDiv, {
+  'line.color': ['red', null, undefined]
+}, [0, 1, 2])
+
+ +

See the Pen null vs. undefined in Plotly.restyle by plotly (@plotly) on CodePen.

+ + +

Plotly.relayout

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+ +An efficient means of updating the layout object of an existing plot. The call signature and arguments for relayout are similar (but simpler) to restyle. Because there are no indices to deal with, arrays need not be wrapped. Also, no argument specifying applicable trace indices is passed in. + +

+
+Signature +
+
Plotly.relayout(graphDiv, update)
+
+
+
graphDiv
+
DOM node or string id of a DOM node
+
update
+
object, see below for examples
(defaults to {})
+
+
+
+
+

+ + +

+// update only values within nested objects
+var update = {
+    title: {text: 'some new title'}, // updates the title
+    'xaxis.range': [0, 5],   // updates the xaxis range
+    'yaxis.range[1]': 15     // updates the end of the yaxis range
+};
+Plotly.relayout(graphDiv, update)
+
+ +

See the Pen Plotly.relayout by plotly (@plotly) on CodePen.

+ + +

Plotly.update

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+ +An efficient means of updating both the data array and layout object in an existing plot, basically a combination of Plotly.restyle and Plotly.relayout. +

+
+Signature +
+
Plotly.update(graphDiv, data_update, layout_update, [, traceIndices])
+
+
+
graphDiv
+
DOM node or string id of a DOM node
+
data_update
+
object, see Plotly.restyle above
(defaults to {})
+
layout_update
+
object, see Plotly.relayout above
(defaults to {})
+
traceIndices
+
array of integer indices into existing value of data, see Plotly.restyle above
(optional, default behaviour is to apply to all traces)
+
+
+
+
+

+ +

+//update the layout and all the traces
+var layout_update = {
+    title: {text: 'some new title'}, // updates the title
+};
+var data_update = {
+    'marker.color': 'red'
+};
+Plotly.update(graphDiv, data_update, layout_update)
+
+//update the layout and a single trace
+var layout_update = {
+    title: {text: 'some new title'}, // updates the title
+};
+var data_update = {
+    'marker.color': 'red'
+};
+Plotly.update(graphDiv, data_update, layout_update,0)
+
+//update the layout and two specific traces
+var layout_update = {
+    title: {text: 'some new title'}, // updates the title
+};
+var data_update = {
+    'marker.color': 'red'
+};
+Plotly.update(graphDiv, data_update, layout_update, [0,2])
+
+
+ + +

See the Pen Plotly.update by plotly (@plotly) on CodePen.

+ + +

Plotly.validate

+ +Plotly.validate allows users to validate their input data array and layout object. This can be done on the data array and layout object passed into Plotly.newPlot or on an updated graphDiv with Plotly.validate(graphDiv.data, graphDiv.layout). +

+
+Signature +
+
Plotly.validate(data, layout)
+
+
+
data
+
array of objects +
layout
+
object +
+
+
+
+

+ +

+var data = [{
+  type: 'bar',
+  y: [2, 1, 3, 2],
+  orientation: 'horizontal'
+}];
+
+var out = Plotly.validate(data, layout);
+console.log(out[0].msg)
+// "In data trace 0, key orientation is set to an invalid value (horizontal)"
+
+ +

Plotly.makeTemplate

+ +Plotly.makeTemplate copies the style information from a figure. It does this by returning a template object which can be passed to the layout.template attribute of another figure. +

+
+Signature +
+
Plotly.makeTemplate(figure)
+
+
+
figure or DOM Node
+
where figure is a plot object, with {data, layout} members. If a DOM node is used + it must be a div element already containing a plot. +
+
+
+
+

+ +

+var figure = {
+  data: [{
+    type: 'bar',
+    marker: {color: 'red'},
+    y: [2, 1, 3, 2],
+  }],
+  layout:{
+    title: {
+      text: 'Quarterly Earnings'
+    }
+  }
+};
+
+var template = Plotly.makeTemplate(figure);
+
+var newData = [{
+  type:'bar',
+  y:[3,2,5,8]
+}]
+
+var layout = {template:template}
+
+Plotly.newPlot(graphDiv,newData,layout)
+
+
+ +

Plotly.validateTemplate

+ +Plotly.validateTemplate allows users to Test for consistency between the given figure and a template, +either already included in the figure or given separately. Note that not every issue identified here is necessarily +a problem, it depends on what you're using the template for. +

+
+Signature +
+
Plotly.validateTemplate(figure, template)
+
+
+
figure or DOM Node
+
where figure is a plot object, with {data, layout} members. +
template
+
the template, with its own {data, layout}, to test. + If omitted, we will look for a template already attached as + the plot's layout.template attribute. +
+
+
+
+

+ +

+var out = Plotly.validateTemplate(figure, template);
+console.log(out[0].msg)
+// "The template has 1 traces of type bar but there are none in the data."
+
+ +

Plotly.addTraces

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+ +This allows you to add new traces to an existing graphDiv at any location in its data array. Every graphDiv object has a data component which is an array of JSON blobs that each describe one trace. The full list of trace types can be found in the Full Reference. + + +

+// add a single trace to an existing graphDiv
+Plotly.addTraces(graphDiv, {y: [2,1,2]});
+
+// add two traces
+Plotly.addTraces(graphDiv, [{y: [2,1,2]}, {y: [4, 5, 7]}]);
+
+// add a trace at the beginning of the data array
+Plotly.addTraces(graphDiv, {y: [1, 5, 7]}, 0);
+
+ +

See the Pen Plotly.addtraces by plotly (@plotly) on CodePen.

+ + +

Plotly.deleteTraces

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+This allows you to remove traces from an existing graphDiv by specifying the indices of the traces to be removed. + +

+// remove the first trace
+Plotly.deleteTraces(graphDiv, 0);
+
+// remove the last two traces
+Plotly.deleteTraces(graphDiv, [-2, -1]);
+
+ +

See the Pen Plotly.deleteTraces by plotly (@plotly) on CodePen.

+ + +

Plotly.moveTraces

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+This allows you to reorder traces in an existing graphDiv. This will change the ordering of the layering and the legend. + +All traces defined in graphDiv are ordered in an array. They are drawn one by one from first to last. Each time a new layer or trace is drawn to the canvas the new trace is drawn directly over the current canvas, replacing the colors of the traces and background. This algorithm to image stacking/drawing is known as the Painter's Algorithm. As its name implies the Painter's Algorithm is typically the manner in which a painter paints a landscape, starting from objects with the most perspective depth and progressively moving forward and layering over the background objects. + +

+// move the first trace (at index 0) the the end of the data array
+Plotly.moveTraces(graphDiv, 0);
+
+// move selected traces (at indices [0, 3, 5]) to the end of the data array
+Plotly.moveTraces(graphDiv, [0, 3, 5]);
+
+// move last trace (at index -1) to the beginning of the data array (index 0)
+Plotly.moveTraces(graphDiv, -1, 0);
+
+// move selected traces (at indices [1, 4, 5]) to new indices [0, 3, 2]
+Plotly.moveTraces(graphDiv, [1, 4, 5], [0, 3, 2]);
+
+ +

See the Pen Plotly.moveTraces by plotly (@plotly) on CodePen.

+ + +

Plotly.extendTraces

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+This allows you to add data to traces in an existing graphDiv. + +

+// extend one trace
+Plotly.extendTraces(graphDiv, {y: [[rand()]]}, [0])
+
+// extend multiple traces
+Plotly.extendTraces(graphDiv, {y: [[rand()], [rand()]]}, [0, 1])
+
+// extend multiple traces up to a maximum of 10 points per trace
+Plotly.extendTraces(graphDiv, {y: [[rand()], [rand()]]}, [0, 1], 10)
+
+ +

See the Pen Plotly.extendTraces by plotly (@plotly) on CodePen.

+ + +

Plotly.prependTraces

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+This allows you to prepend data to an existing trace graphDiv. + +

+// prepend one trace
+Plotly.prependTraces(graphDiv, {y: [[rand()]]}, [0])
+
+// prepend multiple traces
+Plotly.prependTraces(graphDiv, {y: [[rand()], [rand()]]}, [0, 1])
+
+// prepend multiple traces up to a maximum of 10 points per trace
+Plotly.prependTraces(graphDiv, {y: [[rand()], [rand()]]}, [0, 1], 10)
+
+ +

Plotly.addFrames

+This function has comparable performance to Plotly.react and is faster than redrawing the whole plot with Plotly.newPlot.

+This allows you to add animation frames to a graphDiv. The group or name attribute of a frame can +be used by Plotly.animate in place of a frame object (or array of +frame objects). +See example here. + +

Plotly.animate

+Add dynamic behaviour to plotly graphs with Plotly.animate. + +

+
+Signature +
+ +
Plotly.animate(graphDiv, frameOrGroupNameOrFrameList, animationAttributes)
+
+
+
graphDiv
+
DOM node or string id of a DOM node
+
frameOrGroupNameOrFrameList
+
A frame to be animated or an array of frames to be animated in sequence. Frames added by + Plotly.addFrames which have a + group attribute, can be animated by passing their group name here. + Similarly, you can reference frames by an array of strings of frame name values.
+
animationAttributes
+
An object, see documentation for examples.
+
+
+
+
+

+ + +

+Plotly.newPlot('graph', [{
+  x: [1, 2, 3],
+  y: [0, 0.5, 1],
+  line: {simplify: false},
+}]);
+
+function randomize() {
+  Plotly.animate('graph', {
+    data: [{y: [Math.random(), Math.random(), Math.random()]}],
+    traces: [0],
+    layout: {}
+  }, {
+    transition: {
+      duration: 500,
+      easing: 'cubic-in-out'
+    },
+	  frame: {
+		  duration: 500
+	  }
+  })
+}
+
+ +

See the Pen Plotly.animate by plotly (@plotly) on CodePen.

+ + + +

Plotly.purge

+ +Using purge will clear the div, and remove any Plotly plots that have been placed in it. +

+// purge will be used on the div that you wish clear of Plotly plots
+Plotly.purge(graphDiv);
+
+ +

See the Pen Plotly.purge by plotly (@plotly) on CodePen.

+ + +

Plotly.toImage

+ +toImage will generate a promise to an image of the plot in data URL format. +

+// Plotly.toImage will turn the plot in the given div into a data URL string
+// toImage takes the div as the first argument and an object specifying image properties as the other
+Plotly.toImage(graphDiv, {format: 'png', width: 800, height: 600}).then(function(dataUrl) {
+    // use the dataUrl
+})
+
+ +

See the Pen Plotly.toImage by plotly (@plotly) on CodePen.

+ + +

Plotly.downloadImage

+ +downloadImage will trigger a request to download the image of a Plotly plot. +

+// downloadImage will accept the div as the first argument and an object specifying image properties as the other
+Plotly.downloadImage(graphDiv, {format: 'png', width: 800, height: 600, filename: 'newplot'});
+
+ +

See the Pen Plotly.toImage by plotly (@plotly) on CodePen.

+ + +

Using events

+ +Plots emit events prefixed with plotly_ when clicked or hovered over, and event handlers can be bound to events using the on method that is exposed by the plot div object. For more information and examples of how to use Plotly events see: https://plotly.com/javascript/plotlyjs-events/. diff --git a/content/plotly_js/2019-07-03-is-plotly-free-js.md b/content/plotly_js/2019-07-03-is-plotly-free-js.md new file mode 100644 index 00000000000..cf0259affb0 --- /dev/null +++ b/content/plotly_js/2019-07-03-is-plotly-free-js.md @@ -0,0 +1,33 @@ +--- +name: Is Plotly.js Free? +permalink: javascript/is-plotly-free/ +redirect_from: javascript/open-source-announcement/ +description: Plotly's open-source graphing libraries are free to use, work offline and don't require any account registration. Plotly also has a commercial offering called Dash Enterprise. +layout: base +no_in_language: true +language: plotly_js +--- + +#### Is Plotly.js Free? + +     **Yes.**   Plotly.js is free and open-source software, [licensed under the **MIT license**](https://github.com/plotly/plotly.js/blob/master/LICENSE). It costs nothing to [install and use](/javascript/getting-started). You can view the source, report issues or contribute using [our Github repository](https://github.com/plotly/plotly.js). + + +#### Can I use Plotly.js without signing up to any service? + +    **Yes.**   You can use Plotly.js to make, view, and distribute charts and maps without registering for any service, +obtaining any token, or creating any account. The one exception is that to view tile maps +which use tiles from the Mapbox service (which is optional, as [you can use other tile servers](/javascript/mapbox-layers)), you will need to have a Mapbox token. + +#### Can I use Plotly.js offline, without being connected to the internet? + +    **Yes.**   You can use Plotly.js to make, view, and distribute graphics totally offline. The one exception is that to view tile maps +which use tiles from a cloud-hosted service, such as Open Street Maps or Mapbox, you will need a connection to that service. You can view tile maps totally offline if you run your own local tile server and [use its tiles](/javascript/mapbox-layers). + +#### Is Dash free? + +    **Yes.**   Plotly's [Dash](https://plotly.com/dash) analytics application framework is also free and open-source software, licensed under the **MIT license**. + +#### Does Plotly also make commercial software? + +    **Yes.**   Plotly has commercial offerings such as [Dash Enterprise](https://plotly.com/dash). diff --git a/content/plotly_js/3d/2017-02-24-plotly_js-3D-index.html b/content/plotly_js/3d/2017-02-24-plotly_js-3D-index.html new file mode 100644 index 00000000000..98202789c0d --- /dev/null +++ b/content/plotly_js/3d/2017-02-24-plotly_js-3D-index.html @@ -0,0 +1,27 @@ +--- +permalink: javascript/3d-charts/ +description: Plotly.js makes interactive, publication-quality graphs online. Examples of how to make 3D graphs such as 3D scatter and surface charts. +name: 3D Charts +layout: langindex +language: plotly_js +display_as: 3d_charts +thumbnail: thumbnail/mixed.jpg +--- + + +
+
+ +
+ +
+

Plotly.js 3D Charts

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","3d_charts" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/3d/3d-cluster/2015-08-10-3d-point-cluster.html b/content/plotly_js/3d/3d-cluster/2015-08-10-3d-point-cluster.html new file mode 100644 index 00000000000..6f5509abf4c --- /dev/null +++ b/content/plotly_js/3d/3d-cluster/2015-08-10-3d-point-cluster.html @@ -0,0 +1,81 @@ +--- +name: 3D Point Clustering +language: plotly_js +suite: 3d-cluster +order: 0 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/alpha_shape.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var data = [{ + x: unpack(rows, 'x'), + y: unpack(rows, 'y'), + z: unpack(rows, 'z'), + mode: 'markers', + type: 'scatter3d', + marker: { + color: 'rgb(23, 190, 207)', + size: 2 + } + },{ + alphahull: 7, + opacity: 0.1, + type: 'mesh3d', + x: unpack(rows, 'x'), + y: unpack(rows, 'y'), + z: unpack(rows, 'z') + }]; + + var layout = { + autosize: true, + height: 480, + scene: { + aspectratio: { + x: 1, + y: 1, + z: 1 + }, + camera: { + center: { + x: 0, + y: 0, + z: 0 + }, + eye: { + x: 1.25, + y: 1.25, + z: 1.25 + }, + up: { + x: 0, + y: 0, + z: 1 + } + }, + xaxis: { + type: 'linear', + zeroline: false + }, + yaxis: { + type: 'linear', + zeroline: false + }, + zaxis: { + type: 'linear', + zeroline: false + } + }, + title: { + text: '3d point clustering' + }, + width: 477 + }; + + Plotly.newPlot('myDiv', data, layout); + +}); diff --git a/content/plotly_js/3d/3d-cluster/2015-08-10-3d_point_cluster_index.html b/content/plotly_js/3d/3d-cluster/2015-08-10-3d_point_cluster_index.html new file mode 100644 index 00000000000..9c64706ff38 --- /dev/null +++ b/content/plotly_js/3d/3d-cluster/2015-08-10-3d_point_cluster_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a 3D Cluster Graph in JavaScript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Cluster Graph +order: 7 +permalink: javascript/3d-point-clustering/ +redirect_from: javascript-graphing-library/3d-point-clustering/ +thumbnail: thumbnail/3d-clusters.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-cluster" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-cone/2018-06-12-3d-cone-plotly_js_index.html b/content/plotly_js/3d/3d-cone/2018-06-12-3d-cone-plotly_js_index.html new file mode 100644 index 00000000000..599c4533ea1 --- /dev/null +++ b/content/plotly_js/3d/3d-cone/2018-06-12-3d-cone-plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make 3D cone plots in javascript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Cone Plots +order: 8 +permalink: javascript/cone-plot/ +redirect_from: javascript/3d-cone/ +thumbnail: thumbnail/3dcone.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3dcone" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-cone/2018-06-12-basic-3d-cone.html b/content/plotly_js/3d/3d-cone/2018-06-12-basic-3d-cone.html new file mode 100644 index 00000000000..621c8cfb7b2 --- /dev/null +++ b/content/plotly_js/3d/3d-cone/2018-06-12-basic-3d-cone.html @@ -0,0 +1,24 @@ +--- +name: Basic 3D Cone +language: plotly_js +suite: 3dcone +order: 1 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: "cone", + x: [1], y: [1], z: [1], + u: [1], v: [1], w: [0] +}] + +var layout = { + "scene": { + "camera": { + "eye": {x: -0.76, y: 1.8, z: 0.92} + } + } +} + +Plotly.newPlot('myDiv',data,layout) diff --git a/content/plotly_js/3d/3d-cone/2018-06-12-lighting.html b/content/plotly_js/3d/3d-cone/2018-06-12-lighting.html new file mode 100644 index 00000000000..d65813e86fb --- /dev/null +++ b/content/plotly_js/3d/3d-cone/2018-06-12-lighting.html @@ -0,0 +1,126 @@ +--- +name: 3D Cone Lighting +language: plotly_js +suite: 3dcone +order: 3 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: "cone", + name: "base", + x: [1, 1, 1], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false + }, + { + type: "cone", + name: "opacity:0.3", + x: [2, 2, 2], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false, + opacity: 0.3 + }, + { + type: "cone", + name: "lighting.ambient:0.3", + x: [3, 3, 3], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false, + lighting: {ambient: 0.3} + }, + { + type: "cone", + name: "lighting.diffuse:0.3", + x: [4, 4, 4], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false, + lighting: {diffuse: 0.3} + }, + { + type: "cone", + name: "lighting.specular:2", + x: [5, 5, 5], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false, + lighting: {specular: 2} + }, + { + type: "cone", + name: "lighting.roughness:1", + x: [6, 6, 6], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false, + lighting: {roughness: 1} + }, + { + type: "cone", + name: "lighting.fresnel:2", + x: [7, 7, 7], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false, + lighting: {fresnel: 2} + }, + { + type: "cone", + name: "lighting.position x:0,y:0,z:1e5", + x: [8, 8, 8], + y: [1, 2, 3], + z: [1, 1, 1], + u: [1, 2, 3], + v: [1, 1, 2], + w: [4, 4, 1], + hoverinfo: "u+v+w+name", + showscale: false, + lightposition: {x: 0, y: 0, z: 1e5} +}] + +var layout = { + scene: { + aspectmode: "data", + camera: { + eye: {x: 0.05, y: -2.6, z: 2} + } + }, + width: 500, + height: 500, + margin: {t: 0, b: 0, l: 0, r: 0} +} + +Plotly.newPlot('myDiv',data,layout) diff --git a/content/plotly_js/3d/3d-cone/2018-06-12-multiple-3d-cone.html b/content/plotly_js/3d/3d-cone/2018-06-12-multiple-3d-cone.html new file mode 100644 index 00000000000..2feb33e8ef5 --- /dev/null +++ b/content/plotly_js/3d/3d-cone/2018-06-12-multiple-3d-cone.html @@ -0,0 +1,38 @@ +--- +name: Multiple 3D Cone +language: plotly_js +suite: 3dcone +order: 2 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: "cone", + x: [1, 2, 3], + y: [1, 2, 3], + z: [1, 2, 3], + u: [1, 0, 0], + v: [0, 3, 0], + w: [0, 0, 2], + sizemode: "absolute", + sizeref: 2, + anchor: "tip", + colorbar: { + x: 0, + xanchor: "right", + side: "left" + } +}] + +var layout = { + scene: { + domain: {x: [0, 1]}, + camera: { + eye: {x: -1.57, y: 1.36, z: 0.58} + } + }, + width: 800 +} + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/3d/3d-isosurface/2019-04-16-basic-isosurface.html b/content/plotly_js/3d/3d-isosurface/2019-04-16-basic-isosurface.html new file mode 100644 index 00000000000..7e7e3da8b91 --- /dev/null +++ b/content/plotly_js/3d/3d-isosurface/2019-04-16-basic-isosurface.html @@ -0,0 +1,36 @@ +--- +name: Basic Isosurface Plot +language: plotly_js +suite: isosurface +order: 1 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + type: "isosurface", + x: [0,0,0,0,1,1,1,1], + y: [0,1,0,1,0,1,0,1], + z: [1,1,0,0,1,1,0,0], + value: [1,2,3,4,5,6,7,8], + isomin: 2, + isomax: 6, + colorscale: "Reds" + } +]; + +var layout = { + margin: {t:0, l:0, b:0}, + scene: { + camera: { + eye: { + x: 1.88, + y: -2.12, + z: 0.96 + } + } + } +}; + +Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true}); diff --git a/content/plotly_js/3d/3d-isosurface/2019-04-16-isosurface-plotly_js_index.html b/content/plotly_js/3d/3d-isosurface/2019-04-16-isosurface-plotly_js_index.html new file mode 100644 index 00000000000..f93e61bd781 --- /dev/null +++ b/content/plotly_js/3d/3d-isosurface/2019-04-16-isosurface-plotly_js_index.html @@ -0,0 +1,13 @@ +--- +description: How to make 3D isosurface plots in javascript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Isosurface Plots +order: 10 +permalink: javascript/3d-isosurface-plots/ +thumbnail: thumbnail/isosurface.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","isosurface" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-isosurface/2019-04-16-isosurface-slices.html b/content/plotly_js/3d/3d-isosurface/2019-04-16-isosurface-slices.html new file mode 100644 index 00000000000..35cd650780f --- /dev/null +++ b/content/plotly_js/3d/3d-isosurface/2019-04-16-isosurface-slices.html @@ -0,0 +1,50 @@ +--- +name: Isosurface with Additional Slices +language: plotly_js +suite: isosurface +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/clebsch-cubic.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) {return parseFloat(row[key]); }); +} + +var data = [ + { + type: "isosurface", + x: unpack(rows, 'x'), + y: unpack(rows, 'y'), + z: unpack(rows, 'z'), + value: unpack(rows, 'value'), + isomin: -100, + isomax: 100, + surface: {show: true, count: 1, fill: 0.8}, + slices: {z: { + show: true, locations: [-0.3, 0.5] + }}, + caps: { + x: {show: false}, + y: {show: false}, + z: {show: false} + }, + } +]; + +var layout = { + margin: {t:0, l:0, b:0}, + scene: { + camera: { + eye: { + x: 1.86, + y: 0.61, + z: 0.98 + } + } + } +}; + +Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true}); +}); diff --git a/content/plotly_js/3d/3d-isosurface/2019-04-16-multiple-isosurfaces-caps.html b/content/plotly_js/3d/3d-isosurface/2019-04-16-multiple-isosurfaces-caps.html new file mode 100644 index 00000000000..cbe30342945 --- /dev/null +++ b/content/plotly_js/3d/3d-isosurface/2019-04-16-multiple-isosurfaces-caps.html @@ -0,0 +1,48 @@ +--- +name: Multiple Isosurfaces with Caps +language: plotly_js +suite: isosurface +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/clebsch-cubic.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) {return parseFloat(row[key]); }); +} + +var data = [ + { + type: "isosurface", + x: unpack(rows, 'x'), + y: unpack(rows, 'y'), + z: unpack(rows, 'z'), + value: unpack(rows, 'value'), + isomin: -10, + isomax: 10, + surface: {show: true, count: 4, fill: 1, pattern: 'odd'}, + caps: { + x: {show: true}, + y: {show: true}, + z: {show: true} + }, + } +]; + +var layout = { + margin: {t:0, l:0, b:0}, + scene: { + camera: { + eye: { + x: 1.86, + y: 0.61, + z: 0.98 + } + } + } +}; + +Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true}); +}); + diff --git a/content/plotly_js/3d/3d-line/2015-04-09-3d-line-spiral.html b/content/plotly_js/3d/3d-line/2015-04-09-3d-line-spiral.html new file mode 100644 index 00000000000..c00bf962050 --- /dev/null +++ b/content/plotly_js/3d/3d-line/2015-04-09-3d-line-spiral.html @@ -0,0 +1,37 @@ +--- +name: 3D Line Spiral Plot +language: plotly_js +suite: 3d-line +order: 2 +sitemap: false +arrangement: horizontal +--- +var pointCount = 3142; +var i, r; + +var x = []; +var y = []; +var z = []; +var c = []; + +for(i = 0; i < pointCount; i++) + { + r = i * (pointCount - i); + x.push(r * Math.cos(i / 30)); + y.push(r * Math.sin(i / 30)); + z.push(i); + c.push(i) + } + +Plotly.newPlot('myDiv', [{ + type: 'scatter3d', + mode: 'lines', + x: x, + y: y, + z: z, + opacity: 0.7, + line: { + width: 10, + color: c, + colorscale: 'Viridis'} + }]); \ No newline at end of file diff --git a/content/plotly_js/3d/3d-line/2015-04-09-3d-line_plotly_js_index.html b/content/plotly_js/3d/3d-line/2015-04-09-3d-line_plotly_js_index.html new file mode 100644 index 00000000000..0c20f58808f --- /dev/null +++ b/content/plotly_js/3d/3d-line/2015-04-09-3d-line_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make 3D line plots in javascript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Line Plots +order: 5 +page_type: example_index +permalink: javascript/3d-line-plots/ +redirect_from: javascript-graphing-library/3d-line-plots/ +thumbnail: thumbnail/3d-line.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-line" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-line/2015-04-09-random-walk.html b/content/plotly_js/3d/3d-line/2015-04-09-random-walk.html new file mode 100644 index 00000000000..824f0b2ab74 --- /dev/null +++ b/content/plotly_js/3d/3d-line/2015-04-09-random-walk.html @@ -0,0 +1,91 @@ +--- +name: 3D Random Walk Plot +language: plotly_js +suite: 3d-line +order: 3 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/_3d-line-plot.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) + { return row[key]; }); + } + +var trace1 = { + x: unpack(rows, 'x1'), + y: unpack(rows, 'y1'), + z: unpack(rows, 'z1'), + mode: 'lines', + marker: { + color: '#1f77b4', + size: 12, + symbol: 'circle', + line: { + color: 'rgb(0,0,0)', + width: 0 + }}, + line: { + color: '#1f77b4', + width: 1 + }, + type: 'scatter3d' +}; + +var trace2 = { + x: unpack(rows, 'x2'), + y: unpack(rows, 'y2'), + z: unpack(rows, 'z2'), + mode: 'lines', + marker: { + color: '#9467bd', + size: 12, + symbol: 'circle', + line: { + color: 'rgb(0,0,0)', + width: 0 + }}, + line: { + color: 'rgb(44, 160, 44)', + width: 1 + }, + type: 'scatter3d' +}; + +var trace3 = { + x: unpack(rows, 'x3'), + y: unpack(rows, 'y3'), + z: unpack(rows, 'z3'), + mode: 'lines', + marker: { + color: '#bcbd22', + size: 12, + symbol: 'circle', + line: { + color: 'rgb(0,0,0)', + width: 0 + }}, + line: { + color: '#bcbd22', + width: 1 + }, + type: 'scatter3d' +}; + +var data = [trace1, trace2, trace3]; +var layout = { + title: { + text: '3D Line Plot' + }, + autosize: false, + width: 500, + height: 500, + margin: { + l: 0, + r: 0, + b: 0, + t: 65 + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/3d/3d-line/2015-04-09-simple-3d-line+markers.html b/content/plotly_js/3d/3d-line/2015-04-09-simple-3d-line+markers.html new file mode 100644 index 00000000000..01fee224c88 --- /dev/null +++ b/content/plotly_js/3d/3d-line/2015-04-09-simple-3d-line+markers.html @@ -0,0 +1,43 @@ +--- +name: 3D Line + Markers Plot +language: plotly_js +suite: 3d-line +order: 1 +sitemap: false +arrangement: horizontal +--- +var pointCount = 31; +var i, r; + +var x = []; +var y = []; +var z = []; +var c = []; + +for(i = 0; i < pointCount; i++) +{ + r = 10 * Math.cos(i / 10); + x.push(r * Math.cos(i)); + y.push(r * Math.sin(i)); + z.push(i); + c.push(i) +} + +Plotly.newPlot('myDiv', [{ + type: 'scatter3d', + mode: 'lines+markers', + x: x, + y: y, + z: z, + line: { + width: 6, + color: c, + colorscale: "Viridis"}, + marker: { + size: 3.5, + color: c, + colorscale: "Greens", + cmin: -20, + cmax: 50 + }}, +]); \ No newline at end of file diff --git a/content/plotly_js/3d/3d-line/2015-04-09-simple-3d-line-plot.html b/content/plotly_js/3d/3d-line/2015-04-09-simple-3d-line-plot.html new file mode 100644 index 00000000000..5edbb41d93c --- /dev/null +++ b/content/plotly_js/3d/3d-line/2015-04-09-simple-3d-line-plot.html @@ -0,0 +1,33 @@ +--- +name: 3D Line Plot +language: plotly_js +suite: 3d-line +order: 0 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/3d-line1.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) + { return row[key]; }); } + +var x = unpack(rows , 'x'); +var y = unpack(rows , 'y'); +var z = unpack(rows , 'z'); +var c = unpack(rows , 'color'); +Plotly.newPlot('myDiv', [{ + type: 'scatter3d', + mode: 'lines', + x: x, + y: y, + z: z, + opacity: 1, + line: { + width: 6, + color: c, + reversescale: false + } +}], { + height: 640 +}); +}); diff --git a/content/plotly_js/3d/3d-mesh/2016-05-30-3d-alphahull-mesh.html b/content/plotly_js/3d/3d-mesh/2016-05-30-3d-alphahull-mesh.html new file mode 100644 index 00000000000..703cef4e249 --- /dev/null +++ b/content/plotly_js/3d/3d-mesh/2016-05-30-3d-alphahull-mesh.html @@ -0,0 +1,34 @@ +--- +name: 3D Mesh Plot with Alphahull +language: plotly_js +suite: 3d-mesh +order: 1 +sitemap: false +arrangement: horizontal +--- +// Generating random data.. +a=[]; b=[]; c=[]; +for(i=0;i<50;i++) + { + var a_ = Math.random(); + a.push(a_); + + var b_ = Math.random(); + b.push(b_); + + var c_ = Math.random(); + c.push(c_); + } +// Plotting the mesh +var data=[ + { + alphahull:5, + opacity:0.8, + color:'rgb(200,100,300)', + type: 'mesh3d', + x: a, + y: b, + z: c, + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/3d/3d-mesh/2016-05-30-3d-mesh-index.html b/content/plotly_js/3d/3d-mesh/2016-05-30-3d-mesh-index.html new file mode 100644 index 00000000000..44c19e36759 --- /dev/null +++ b/content/plotly_js/3d/3d-mesh/2016-05-30-3d-mesh-index.html @@ -0,0 +1,14 @@ +--- +description: How to make 3D mesh plots in javascript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Mesh Plots +order: 4 +page_type: example_index +permalink: javascript/3d-mesh/ +thumbnail: thumbnail/3d-mesh.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-mesh" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-mesh/2016-05-30-3d-simple-mesh.html b/content/plotly_js/3d/3d-mesh/2016-05-30-3d-simple-mesh.html new file mode 100644 index 00000000000..2f3c2af0104 --- /dev/null +++ b/content/plotly_js/3d/3d-mesh/2016-05-30-3d-simple-mesh.html @@ -0,0 +1,34 @@ +--- +name: Simple 3D Mesh Plot +language: plotly_js +suite: 3d-mesh +order: 0 +sitemap: true +arrangement: horizontal +--- + +// Generating random data.. +a=[]; b=[]; c=[]; +for(i=0;i<50;i++) + { + var a_ = Math.random(); + a.push(a_); + + var b_ = Math.random(); + b.push(b_); + + var c_ = Math.random(); + c.push(c_); + } +// Plotting the mesh +var data=[ + { + opacity:0.8, + color:'rgb(300,100,200)', + type: 'mesh3d', + x: a, + y: b, + z: c, + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/3d/3d-mesh/2016-06-16-cube-mesh.html b/content/plotly_js/3d/3d-mesh/2016-06-16-cube-mesh.html new file mode 100644 index 00000000000..d1106bc9512 --- /dev/null +++ b/content/plotly_js/3d/3d-mesh/2016-06-16-cube-mesh.html @@ -0,0 +1,29 @@ +--- +name: 3D Mesh Cube +language: plotly_js +suite: 3d-mesh +order: 3 +sitemap: false +arrangement: horizontal +--- + +var intensity = [0, 0.14285714285714285, 0.2857142857142857, 0.42857142857142855, 0.5714285714285714, 0.7142857142857143, 0.8571428571428571, 1]; + +var data = [{ + type: "mesh3d", + x: [0, 0, 1, 1, 0, 0, 1, 1], + y: [0, 1, 1, 0, 0, 1, 1, 0], + z: [0, 0, 0, 0, 1, 1, 1, 1], + i: [7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2], + j: [3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3], + k: [0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6], + intensity: intensity, + colorscale: [ + [0, 'rgb(255, 0, 255)'], + [0.5, 'rgb(0, 255, 0)'], + [1, 'rgb(0, 0, 255)'] + ] + } +]; + +Plotly.newPlot('myDiv', data, {}); diff --git a/content/plotly_js/3d/3d-mesh/2016-06-16-tetrahedron.html b/content/plotly_js/3d/3d-mesh/2016-06-16-tetrahedron.html new file mode 100644 index 00000000000..1864ec37129 --- /dev/null +++ b/content/plotly_js/3d/3d-mesh/2016-06-16-tetrahedron.html @@ -0,0 +1,26 @@ +--- +name: 3D Mesh Tetrahedron +language: plotly_js +suite: 3d-mesh +order: 2 +sitemap: false +arrangement: horizontal +--- +var data = [{ + type: "mesh3d", + x: [0, 1, 2, 0], + y: [0, 0, 1, 2], + z: [0, 2, 0, 1], + i: [0, 0, 0, 1], + j: [1, 2, 3, 2], + k: [2, 3, 1, 3], + intensity: [0, 0.33, 0.66, 1], + colorscale: [ + [0, 'rgb(255, 0, 0)'], + [0.5, 'rgb(0, 255, 0)'], + [1, 'rgb(0, 0, 255)'] + ] + } +]; + +Plotly.newPlot('myDiv', data, {}); diff --git a/content/plotly_js/3d/3d-scatter/2015-04-09-3d-scatter_plotly_js_index.html b/content/plotly_js/3d/3d-scatter/2015-04-09-3d-scatter_plotly_js_index.html new file mode 100644 index 00000000000..982d4d4f84a --- /dev/null +++ b/content/plotly_js/3d/3d-scatter/2015-04-09-3d-scatter_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make 3D scatter plots in javascript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Scatter Plots +order: 1 +page_type: example_index +permalink: javascript/3d-scatter-plots/ +redirect_from: javascript-graphing-library/3d-scatter-plots/ +thumbnail: thumbnail/3d-scatter.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-scatter" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-scatter/2015-04-09-simple-3d-scatter.html b/content/plotly_js/3d/3d-scatter/2015-04-09-simple-3d-scatter.html new file mode 100644 index 00000000000..d0655e52326 --- /dev/null +++ b/content/plotly_js/3d/3d-scatter/2015-04-09-simple-3d-scatter.html @@ -0,0 +1,47 @@ +--- +name: 3D Scatter Plot +language: plotly_js +suite: 3d-scatter +order: 0 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/3d-scatter.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) + { return row[key]; });} + +var trace1 = { + x:unpack(rows, 'x1'), y: unpack(rows, 'y1'), z: unpack(rows, 'z1'), + mode: 'markers', + marker: { + size: 12, + line: { + color: 'rgba(217, 217, 217, 0.14)', + width: 0.5}, + opacity: 0.8}, + type: 'scatter3d' +}; + +var trace2 = { + x:unpack(rows, 'x2'), y: unpack(rows, 'y2'), z: unpack(rows, 'z2'), + mode: 'markers', + marker: { + color: 'rgb(127, 127, 127)', + size: 12, + symbol: 'circle', + line: { + color: 'rgb(204, 204, 204)', + width: 1}, + opacity: 0.8}, + type: 'scatter3d'}; + +var data = [trace1, trace2]; +var layout = {margin: { + l: 0, + r: 0, + b: 0, + t: 0 + }}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/3d/3d-streamtube/2018-07-19-3d-streamtube-plotly_js_index.html b/content/plotly_js/3d/3d-streamtube/2018-07-19-3d-streamtube-plotly_js_index.html new file mode 100644 index 00000000000..bc80988b791 --- /dev/null +++ b/content/plotly_js/3d/3d-streamtube/2018-07-19-3d-streamtube-plotly_js_index.html @@ -0,0 +1,13 @@ +--- +description: How to make 3D streamtube plots in javascript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Streamtube Plots +order: 9 +permalink: javascript/streamtube-plot/ +thumbnail: thumbnail/streamtube.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","streamtube" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-streamtube/2018-07-19-basic-streamtube.html b/content/plotly_js/3d/3d-streamtube/2018-07-19-basic-streamtube.html new file mode 100644 index 00000000000..c74cab0c7b8 --- /dev/null +++ b/content/plotly_js/3d/3d-streamtube/2018-07-19-basic-streamtube.html @@ -0,0 +1,43 @@ +--- +name: Basic Streamtube Plot +language: plotly_js +suite: streamtube +order: 2 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/streamtube-basic.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var data = [{ + type: "streamtube", + x: unpack(rows, 'x'), + y: unpack(rows, 'y'), + z: unpack(rows, 'z'), + u: unpack(rows, 'u'), + v: unpack(rows, 'v'), + w: unpack(rows, 'w'), + sizeref: 0.5, + cmin: 0, + cmax: 3 + }] + + var layout = { + scene: { + camera: { + eye: { + x: -0.7243612458865182, + y: 1.9269804254717962, + z: 0.6704828299861716 + } + } + } + } + + Plotly.newPlot('myDiv', data, layout) + +}); diff --git a/content/plotly_js/3d/3d-streamtube/2018-07-19-intro-streamtube.html b/content/plotly_js/3d/3d-streamtube/2018-07-19-intro-streamtube.html new file mode 100644 index 00000000000..74ed19d94ad --- /dev/null +++ b/content/plotly_js/3d/3d-streamtube/2018-07-19-intro-streamtube.html @@ -0,0 +1,10 @@ +--- +name: Introduction +language: plotly_js +suite: streamtube +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + In streamtube plots, attributes inlcude `x`, `y`, and `z`, which set the coorindates of the vector field, and `u`, `v`, and `w`, which sets the x, y, and z components of the vector field. Additionally, you can use `starts` to determine the streamtube's starting position. Lastly, `maxdisplayed` determines the maximum segments displayed in a streamtube. +--- diff --git a/content/plotly_js/3d/3d-streamtube/2018-07-19-starting-position.html b/content/plotly_js/3d/3d-streamtube/2018-07-19-starting-position.html new file mode 100644 index 00000000000..3ae2ac73261 --- /dev/null +++ b/content/plotly_js/3d/3d-streamtube/2018-07-19-starting-position.html @@ -0,0 +1,55 @@ +--- +name: Starting Position and Segments +language: plotly_js +suite: streamtube +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/streamtube-wind.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return +row[key]; }); + } + + var data = [{ + type: 'streamtube', + x: unpack(rows, 'x'), + y: unpack(rows, 'y'), + z: unpack(rows, 'z'), + u: unpack(rows, 'u'), + v: unpack(rows, 'v'), + w: unpack(rows, 'w'), + starts: { + x: Array(16).fill(80), + y: [20,30,40,50,20,30,40,50,20,30,40,50,20,30,40,50], + z: [0,0,0,0,5,5,5,5,10,10,10,10,15,15,15,15] + }, + sizeref: 0.3, + colorscale: "Portland", + showscale: false, + maxdisplayed: 3000 + }] + + var layout = { + scene: { + aspectratio: { + x: 2, + y: 1, + z: 0.3 + } + }, + margin: { + t: 20, + b: 20, + l: 20, + r: 20 + }, + width: 600, + height: 400 + } + + Plotly.newPlot('myDiv', data, layout); + +}); diff --git a/content/plotly_js/3d/3d-surface/2015-04-09-3d-surface_plotly_js_index.html b/content/plotly_js/3d/3d-surface/2015-04-09-3d-surface_plotly_js_index.html new file mode 100644 index 00000000000..9642491d218 --- /dev/null +++ b/content/plotly_js/3d/3d-surface/2015-04-09-3d-surface_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make 3D surface plots in javascript. +display_as: 3d_charts +language: plotly_js +layout: base +name: 3D Surface Plots +order: 3 +page_type: example_index +permalink: javascript/3d-surface-plots/ +redirect_from: javascript-graphing-library/3d-surface-plots/ +thumbnail: thumbnail/3d-surface.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-surface" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/3d/3d-surface/2015-04-09-elevations-3d-surface.html b/content/plotly_js/3d/3d-surface/2015-04-09-elevations-3d-surface.html new file mode 100644 index 00000000000..9aa643ab28c --- /dev/null +++ b/content/plotly_js/3d/3d-surface/2015-04-09-elevations-3d-surface.html @@ -0,0 +1,41 @@ +--- +name: Topographical 3D Surface Plot +language: plotly_js +suite: 3d-surface +order: 0 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var z_data=[ ] +for(i=0;i<24;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type: 'surface' + }]; + +var layout = { + title: { + text: 'Mt Bruno Elevation' + }, + autosize: false, + width: 500, + height: 500, + margin: { + l: 65, + r: 50, + b: 65, + t: 90, + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/3d/3d-surface/2015-12-07-multiple-graphs-3d-surface.html b/content/plotly_js/3d/3d-surface/2015-12-07-multiple-graphs-3d-surface.html new file mode 100644 index 00000000000..10d7a1aef2c --- /dev/null +++ b/content/plotly_js/3d/3d-surface/2015-12-07-multiple-graphs-3d-surface.html @@ -0,0 +1,53 @@ +--- +name: Multiple 3D Surface Plots +language: plotly_js +suite: 3d-surface +order: 1 +sitemap: false +arrangement: horizontal +--- + +z1 = [ + [8.83,8.89,8.81,8.87,8.9,8.87], + [8.89,8.94,8.85,8.94,8.96,8.92], + [8.84,8.9,8.82,8.92,8.93,8.91], + [8.79,8.85,8.79,8.9,8.94,8.92], + [8.79,8.88,8.81,8.9,8.95,8.92], + [8.8,8.82,8.78,8.91,8.94,8.92], + [8.75,8.78,8.77,8.91,8.95,8.92], + [8.8,8.8,8.77,8.91,8.95,8.94], + [8.74,8.81,8.76,8.93,8.98,8.99], + [8.89,8.99,8.92,9.1,9.13,9.11], + [8.97,8.97,8.91,9.09,9.11,9.11], + [9.04,9.08,9.05,9.25,9.28,9.27], + [9,9.01,9,9.2,9.23,9.2], + [8.99,8.99,8.98,9.18,9.2,9.19], + [8.93,8.97,8.97,9.18,9.2,9.18] +]; + +z2 = []; +for (var i=0;iNote The `order` of posts within a `display_as` must be a set of consecutive integers (i.e. [1, 2, 3, 4, 5, 6, ...]). + - If a post has an `order` less than 5, it **MUST** also have the `page_type: example_index` front-matter so that it gets displayed on the index page. + + - `markdown_content` is rendered directly above the examples. In general, it is best to *avoid* paragraph-formatted explanation and let the simplicity of the example speak for itself, but that's not always possible. Take note that headings in this block *are* reflected in the sidebar. + + - Thumbnail images should named `your-tutorial-chart.jpg` and be *EXACTLY* 160px X 160px. + - posts in the following `display_as` categories **MUST** have a thumbnail + - 'file_settings' = https://plotly.com/javascript/plotly-fundamentals + - 'basic' = https://plotly.com/javascript/basic-charts + - 'statistical' = https://plotly.com/javascript/statistical-charts + - 'scientific' = https://plotly.com/javascript/scientific-charts + - 'financial' = https://plotly.com/javascript/financial-charts + - 'maps' = https://plotly.com/javascript/maps + - '3d_charts' = https://plotly.com/javascript/3d-charts + - Thumbnail images should be clear and interesting. You do not need to capture the ENTIRE chart, but rather focus on the most interesting part of the chart. + - Use images.plot.ly for adding new images. The password is in the Plotly 1Password Engineering Vault. + - Log-in here: https://661924842005.signin.aws.amazon.com/console + - From the Amazon Web Services Console select S3 (Scalable Storage in the Cloud) then select plotly-tutorials -> plotly-documentation -> thumbnail + - Now from All Buckets /plotly-tutorials/plotly-documentation/thumbnail select the Actions dropdown and upload your .jpg file + +## Modify An Existing Post: + +1. Find the post you want to modify in `_posts/plotly_js`. Then, open the HTML file that contains that post and modify either the front-matter or the JavaScript. + +# Best Practices: + - `order` examples from basic to advanced + - avoid the use of global JavaScript variables for `data` and `layout`. + - make the chart display in a DOM element named `myDiv` + - use the `.newPlot()` function + - use "real" data to make the examples realistic and useful for users. + - avoid using random or dummy data as much as humanly possible! Should only be a last resort. + - upload data files to https://github.com/plotly/datasets as importing data rather than pasting a large chunk of data in the tutorial creates a cleaner example. + - use `var config = {mapboxAccessToken: "your access token"};` if your chart requires Mapbox authentication. `"your access token` will replaced by Plotly's private token at build time. In development mode, you will need to create a `_data/mapboxtoken.yml` file and paste Plotly's non-URL restricted Mapbox key into it. This is available in 1Password. + +## Make a Pull Request + - Ready for your changes to be reviewed? Make a pull request! + + - Create a feature branch and use `git status` to list changed files. + ``` + git checkout -b your_feature_branch + git status + ``` + - Add, commit, and push the files that you'd like to add to your PR: + ``` + git add file-a + git add file-b + git commit -m 'message about your changes' + git push origin your_feature_branch + ``` + - Visit the [documentation repo](https://github.com/plotly/graphing-library-docs) and open a pull request!. You can then tag **@jdamiba** for a review. + +## Style Edits + +Please refer to our [Styles README](https://github.com/plotly/graphing-library-docs/blob/master/style_README.md) + +Thanks for contributing to our documentation!! diff --git a/content/plotly_js/animations/2016-08-29-animations_plotly_js_index.html b/content/plotly_js/animations/2016-08-29-animations_plotly_js_index.html new file mode 100644 index 00000000000..77c1ea97b60 --- /dev/null +++ b/content/plotly_js/animations/2016-08-29-animations_plotly_js_index.html @@ -0,0 +1,13 @@ +--- +name: Animations +permalink: javascript/animations/ +description: How to animate charts in JavaScript with the animate API. +layout: base +thumbnail: thumbnail/animations.gif +language: plotly_js +page_type: example_index +display_as: animations +order: 1 +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","animations" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/animations/animations-slider/2017-08-22-adding-sliders.html b/content/plotly_js/animations/animations-slider/2017-08-22-adding-sliders.html new file mode 100644 index 00000000000..6e87af70fe2 --- /dev/null +++ b/content/plotly_js/animations/animations-slider/2017-08-22-adding-sliders.html @@ -0,0 +1,172 @@ +--- +name: Animating with a Slider +plot_url: https://codepen.io/plotly/embed/KNrJQo/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: adding-sliders +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv', function (err, data) { + // Create a lookup table to sort and regroup the columns of data, + // first by year, then by continent: + var lookup = {}; + function getData(year, continent) { + var byYear, trace; + if (!(byYear = lookup[year])) {; + byYear = lookup[year] = {}; + } + // If a container for this year + continent doesn't exist yet, + // then create one: + if (!(trace = byYear[continent])) { + trace = byYear[continent] = { + x: [], + y: [], + id: [], + text: [], + marker: {size: []} + }; + } + return trace; + } + + // Go through each row, get the right trace, and append the data: + for (var i = 0; i < data.length; i++) { + var datum = data[i]; + var trace = getData(datum.year, datum.continent); + trace.text.push(datum.country); + trace.id.push(datum.country); + trace.x.push(datum.lifeExp); + trace.y.push(datum.gdpPercap); + trace.marker.size.push(datum.pop); + } + + // Get the group names: + var years = Object.keys(lookup); + // In this case, every year includes every continent, so we + // can just infer the continents from the *first* year: + var firstYear = lookup[years[0]]; + var continents = Object.keys(firstYear); + + // Create the main traces, one for each continent: + var traces = []; + for (i = 0; i < continents.length; i++) { + var data = firstYear[continents[i]]; + // One small note. We're creating a single trace here, to which + // the frames will pass data for the different years. It's + // subtle, but to avoid data reference problems, we'll slice + // the arrays to ensure we never write any new data into our + // lookup table: + traces.push({ + name: continents[i], + x: data.x.slice(), + y: data.y.slice(), + id: data.id.slice(), + text: data.text.slice(), + mode: 'markers', + marker: { + size: data.marker.size.slice(), + sizemode: 'area', + sizeref: 200000 + } + }); + } + + // Create a frame for each year. Frames are effectively just + // traces, except they don't need to contain the *full* trace + // definition (for example, appearance). The frames just need + // the parts the traces that change (here, the data). + var frames = []; + for (i = 0; i < years.length; i++) { + frames.push({ + name: years[i], + data: continents.map(function (continent) { + return getData(years[i], continent); + }) + }) + } + + // Now create slider steps, one for each frame. The slider + // executes a plotly.js API command (here, Plotly.animate). + // In this example, we'll animate to one of the named frames + // created in the above loop. + var sliderSteps = []; + for (i = 0; i < years.length; i++) { + sliderSteps.push({ + method: 'animate', + label: years[i], + args: [[years[i]], { + mode: 'immediate', + transition: {duration: 300}, + frame: {duration: 300, redraw: false}, + }] + }); + } + + var layout = { + xaxis: { + title: {text: 'Life Expectancy'}, + range: [30, 85] + }, + yaxis: { + title: {text: 'GDP per Capita'}, + type: 'log' + }, + hovermode: 'closest', + // We'll use updatemenus (whose functionality includes menus as + // well as buttons) to create a play button and a pause button. + // The play button works by passing `null`, which indicates that + // Plotly should animate all frames. The pause button works by + // passing `[null]`, which indicates we'd like to interrupt any + // currently running animations with a new list of frames. Here + // The new list of frames is empty, so it halts the animation. + updatemenus: [{ + x: 0, + y: 0, + yanchor: 'top', + xanchor: 'left', + showactive: false, + direction: 'left', + type: 'buttons', + pad: {t: 87, r: 10}, + buttons: [{ + method: 'animate', + args: [null, { + mode: 'immediate', + fromcurrent: true, + transition: {duration: 300}, + frame: {duration: 500, redraw: false} + }], + label: 'Play' + }, { + method: 'animate', + args: [[null], { + mode: 'immediate', + transition: {duration: 0}, + frame: {duration: 0, redraw: false} + }], + label: 'Pause' + }] + }], + // Finally, add the slider and use `pad` to position it + // nicely next to the buttons. + sliders: [{ + pad: {l: 130, t: 55}, + currentvalue: { + visible: true, + prefix: 'Year:', + xanchor: 'right', + font: {size: 20, color: '#666'} + }, + steps: sliderSteps + }] + }; + + // Create the plot: + Plotly.newPlot('myDiv', { + data: traces, + layout: layout, + frames: frames, + }); +}); diff --git a/content/plotly_js/animations/animations-slider/gapminder-with-frames.json b/content/plotly_js/animations/animations-slider/gapminder-with-frames.json new file mode 100644 index 00000000000..843dc88bad5 --- /dev/null +++ b/content/plotly_js/animations/animations-slider/gapminder-with-frames.json @@ -0,0 +1,8705 @@ +{ + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8425333, + 120447, + 46886859, + 4693836, + 556263527.999989, + 2125900, + 372000000, + 82052000, + 17272000, + 5441766, + 1620914, + 86459025, + 607914, + 8865488, + 20947571, + 160000, + 1439529, + 6748378, + 800663, + 20092996, + 9182536, + 507833, + 41346560, + 22438691, + 4005677, + 1127000, + 7982342, + 3661549, + 8550362, + 21289402, + 26246839, + 1030585, + 4963829 + ] + }, + "mode":"markers", + "x":[ + 28.801, + 50.939, + 37.484, + 39.417, + 44, + 60.96, + 37.373, + 37.468, + 44.869, + 45.32, + 65.39, + 63.03, + 43.158, + 50.056, + 47.453, + 55.565, + 55.928, + 48.463, + 42.244, + 36.319, + 36.157, + 37.578, + 43.436, + 47.752, + 39.875, + 60.396, + 57.593, + 45.883, + 58.5, + 50.848, + 40.412, + 43.16, + 32.548 + ], + "y":[ + 779.4453145, + 9867.084765, + 684.2441716, + 368.4692856, + 400.448610699994, + 3054.421209, + 546.5657493, + 749.6816546, + 3035.326002, + 4129.766056, + 4086.522128, + 3216.956347, + 1546.907807, + 1088.277758, + 1030.592226, + 108382.3529, + 4834.804067, + 1831.132894, + 786.5668575, + 331, + 545.8657229, + 1828.230307, + 684.5971438, + 1272.880995, + 6459.554823, + 2315.138227, + 1083.53203, + 1643.485354, + 1206.947913, + 757.7974177, + 605.0664917, + 1515.592329, + 781.7175761 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1282697, + 6927772, + 8730405, + 2791000, + 7274900, + 3882229, + 9125183, + 4334000, + 4090500, + 42459667, + 69145952, + 7733250, + 9504000, + 147962, + 2952156, + 47666000, + 413834, + 10381988, + 3327728, + 25730551, + 8526050, + 16630000, + 6860147, + 3558137, + 1489518, + 28549870, + 7124673, + 4815000, + 22235677, + 50430000 + ] + }, + "mode":"markers", + "x":[ + 55.23, + 66.8, + 68, + 53.82, + 59.6, + 61.21, + 66.87, + 70.78, + 66.55, + 67.41, + 67.5, + 65.86, + 64.03, + 72.49, + 66.91, + 65.94, + 59.164, + 72.13, + 72.67, + 61.31, + 59.82, + 61.05, + 57.996, + 64.36, + 65.57, + 64.94, + 71.86, + 69.62, + 43.585, + 69.18 + ], + "y":[ + 1601.056136, + 6137.076492, + 8343.105127, + 973.5331948, + 2444.286648, + 3119.23652, + 6876.14025, + 9692.385245, + 6424.519071, + 7029.809327, + 7144.114393, + 3530.690067, + 5263.673816, + 7267.688428, + 5210.280328, + 4931.404155, + 2647.585601, + 8941.571858, + 10095.42172, + 4029.329699, + 3068.319867, + 3144.613186, + 3581.459448, + 5074.659104, + 4215.041741, + 3834.034742, + 8527.844662, + 14734.23275, + 1969.10098, + 9979.508487 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9279525, + 4232095, + 1738315, + 442308, + 4469979, + 2445618, + 5009067, + 1291695, + 2682462, + 153936, + 14100005, + 854885, + 2977019, + 63149, + 22223309, + 216964, + 1438760, + 20860941, + 420702, + 284320, + 5581001, + 2664249, + 580653, + 6464046, + 748747, + 863308, + 1019729, + 4762912, + 2917802, + 3838168, + 1022556, + 516556, + 9939217, + 6446316, + 485831, + 3379468, + 33119096, + 257700, + 2534927, + 60011, + 2755589, + 2143249, + 2526994, + 14264935, + 8504667, + 290243, + 8322925, + 1219113, + 3647735, + 5824797, + 2672000, + 3080907 + ] + }, + "mode":"markers", + "x":[ + 43.077, + 30.015, + 38.223, + 47.622, + 31.975, + 39.031, + 38.523, + 35.463, + 38.092, + 40.715, + 39.143, + 42.111, + 40.477, + 34.812, + 41.893, + 34.482, + 35.928, + 34.078, + 37.003, + 30, + 43.149, + 33.609, + 32.5, + 42.27, + 42.138, + 38.48, + 42.723, + 36.681, + 36.256, + 33.685, + 40.543, + 50.986, + 42.873, + 31.286, + 41.725, + 37.444, + 36.324, + 52.724, + 40, + 46.471, + 37.278, + 30.331, + 32.978, + 45.009, + 38.635, + 41.407, + 41.215, + 38.596, + 44.6, + 39.978, + 42.038, + 48.451 + ], + "y":[ + 2449.008185, + 3520.610273, + 1062.7522, + 851.2411407, + 543.2552413, + 339.2964587, + 1172.667655, + 1071.310713, + 1178.665927, + 1102.990936, + 780.5423257, + 2125.621418, + 1388.594732, + 2669.529475, + 1418.822445, + 375.6431231, + 328.9405571, + 362.1462796, + 4293.476475, + 485.2306591, + 911.2989371, + 510.1964923, + 299.850319, + 853.540919, + 298.8462121, + 575.5729961, + 2387.54806, + 1443.011715, + 369.1650802, + 452.3369807, + 743.1159097, + 1967.955707, + 1688.20357, + 468.5260381, + 2423.780443, + 761.879376, + 1077.281856, + 2718.885295, + 493.3238752, + 879.5835855, + 1450.356983, + 879.7877358, + 1135.749842, + 4725.295531, + 1615.991129, + 1148.376626, + 716.6500721, + 859.8086567, + 1468.475631, + 734.753484, + 1147.388831, + 406.8841148 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17876956, + 2883315, + 56602560, + 14785584, + 6377619, + 12350771, + 926317, + 6007797, + 2491346, + 3548753, + 2042865, + 3146381, + 3201488, + 1517453, + 1426095, + 30144317, + 1165790, + 940080, + 1555876, + 8025700, + 2227000, + 662850, + 157553000, + 2252965, + 5439568 + ] + }, + "mode":"markers", + "x":[ + 62.485, + 40.414, + 50.917, + 68.75, + 54.745, + 50.643, + 57.206, + 59.421, + 45.928, + 48.357, + 45.262, + 42.023, + 37.579, + 41.912, + 58.53, + 50.789, + 42.314, + 55.191, + 62.649, + 43.902, + 64.28, + 59.1, + 68.44, + 66.071, + 55.088 + ], + "y":[ + 5911.315053, + 2677.326347, + 2108.944355, + 11367.16112, + 3939.978789, + 2144.115096, + 2627.009471, + 5586.53878, + 1397.717137, + 3522.110717, + 3048.3029, + 2428.237769, + 1840.366939, + 2194.926204, + 2898.530881, + 3478.125529, + 3112.363948, + 2480.380334, + 1952.308701, + 3758.523437, + 3081.959785, + 3023.271928, + 13990.48208, + 5716.766744, + 7689.799761 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8691212, + 1994794 + ] + }, + "mode":"markers", + "x":[ + 69.12, + 69.39 + ], + "y":[ + 10039.59564, + 10556.57566 + ] + } + ], + "frames":[ + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8425333, + 120447, + 46886859, + 4693836, + 556263527.999989, + 2125900, + 372000000, + 82052000, + 17272000, + 5441766, + 1620914, + 86459025, + 607914, + 8865488, + 20947571, + 160000, + 1439529, + 6748378, + 800663, + 20092996, + 9182536, + 507833, + 41346560, + 22438691, + 4005677, + 1127000, + 7982342, + 3661549, + 8550362, + 21289402, + 26246839, + 1030585, + 4963829 + ] + }, + "mode":"markers", + "x":[ + 28.801, + 50.939, + 37.484, + 39.417, + 44, + 60.96, + 37.373, + 37.468, + 44.869, + 45.32, + 65.39, + 63.03, + 43.158, + 50.056, + 47.453, + 55.565, + 55.928, + 48.463, + 42.244, + 36.319, + 36.157, + 37.578, + 43.436, + 47.752, + 39.875, + 60.396, + 57.593, + 45.883, + 58.5, + 50.848, + 40.412, + 43.16, + 32.548 + ], + "y":[ + 779.4453145, + 9867.084765, + 684.2441716, + 368.4692856, + 400.448610699994, + 3054.421209, + 546.5657493, + 749.6816546, + 3035.326002, + 4129.766056, + 4086.522128, + 3216.956347, + 1546.907807, + 1088.277758, + 1030.592226, + 108382.3529, + 4834.804067, + 1831.132894, + 786.5668575, + 331, + 545.8657229, + 1828.230307, + 684.5971438, + 1272.880995, + 6459.554823, + 2315.138227, + 1083.53203, + 1643.485354, + 1206.947913, + 757.7974177, + 605.0664917, + 1515.592329, + 781.7175761 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1282697, + 6927772, + 8730405, + 2791000, + 7274900, + 3882229, + 9125183, + 4334000, + 4090500, + 42459667, + 69145952, + 7733250, + 9504000, + 147962, + 2952156, + 47666000, + 413834, + 10381988, + 3327728, + 25730551, + 8526050, + 16630000, + 6860147, + 3558137, + 1489518, + 28549870, + 7124673, + 4815000, + 22235677, + 50430000 + ] + }, + "mode":"markers", + "x":[ + 55.23, + 66.8, + 68, + 53.82, + 59.6, + 61.21, + 66.87, + 70.78, + 66.55, + 67.41, + 67.5, + 65.86, + 64.03, + 72.49, + 66.91, + 65.94, + 59.164, + 72.13, + 72.67, + 61.31, + 59.82, + 61.05, + 57.996, + 64.36, + 65.57, + 64.94, + 71.86, + 69.62, + 43.585, + 69.18 + ], + "y":[ + 1601.056136, + 6137.076492, + 8343.105127, + 973.5331948, + 2444.286648, + 3119.23652, + 6876.14025, + 9692.385245, + 6424.519071, + 7029.809327, + 7144.114393, + 3530.690067, + 5263.673816, + 7267.688428, + 5210.280328, + 4931.404155, + 2647.585601, + 8941.571858, + 10095.42172, + 4029.329699, + 3068.319867, + 3144.613186, + 3581.459448, + 5074.659104, + 4215.041741, + 3834.034742, + 8527.844662, + 14734.23275, + 1969.10098, + 9979.508487 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9279525, + 4232095, + 1738315, + 442308, + 4469979, + 2445618, + 5009067, + 1291695, + 2682462, + 153936, + 14100005, + 854885, + 2977019, + 63149, + 22223309, + 216964, + 1438760, + 20860941, + 420702, + 284320, + 5581001, + 2664249, + 580653, + 6464046, + 748747, + 863308, + 1019729, + 4762912, + 2917802, + 3838168, + 1022556, + 516556, + 9939217, + 6446316, + 485831, + 3379468, + 33119096, + 257700, + 2534927, + 60011, + 2755589, + 2143249, + 2526994, + 14264935, + 8504667, + 290243, + 8322925, + 1219113, + 3647735, + 5824797, + 2672000, + 3080907 + ] + }, + "mode":"markers", + "x":[ + 43.077, + 30.015, + 38.223, + 47.622, + 31.975, + 39.031, + 38.523, + 35.463, + 38.092, + 40.715, + 39.143, + 42.111, + 40.477, + 34.812, + 41.893, + 34.482, + 35.928, + 34.078, + 37.003, + 30, + 43.149, + 33.609, + 32.5, + 42.27, + 42.138, + 38.48, + 42.723, + 36.681, + 36.256, + 33.685, + 40.543, + 50.986, + 42.873, + 31.286, + 41.725, + 37.444, + 36.324, + 52.724, + 40, + 46.471, + 37.278, + 30.331, + 32.978, + 45.009, + 38.635, + 41.407, + 41.215, + 38.596, + 44.6, + 39.978, + 42.038, + 48.451 + ], + "y":[ + 2449.008185, + 3520.610273, + 1062.7522, + 851.2411407, + 543.2552413, + 339.2964587, + 1172.667655, + 1071.310713, + 1178.665927, + 1102.990936, + 780.5423257, + 2125.621418, + 1388.594732, + 2669.529475, + 1418.822445, + 375.6431231, + 328.9405571, + 362.1462796, + 4293.476475, + 485.2306591, + 911.2989371, + 510.1964923, + 299.850319, + 853.540919, + 298.8462121, + 575.5729961, + 2387.54806, + 1443.011715, + 369.1650802, + 452.3369807, + 743.1159097, + 1967.955707, + 1688.20357, + 468.5260381, + 2423.780443, + 761.879376, + 1077.281856, + 2718.885295, + 493.3238752, + 879.5835855, + 1450.356983, + 879.7877358, + 1135.749842, + 4725.295531, + 1615.991129, + 1148.376626, + 716.6500721, + 859.8086567, + 1468.475631, + 734.753484, + 1147.388831, + 406.8841148 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17876956, + 2883315, + 56602560, + 14785584, + 6377619, + 12350771, + 926317, + 6007797, + 2491346, + 3548753, + 2042865, + 3146381, + 3201488, + 1517453, + 1426095, + 30144317, + 1165790, + 940080, + 1555876, + 8025700, + 2227000, + 662850, + 157553000, + 2252965, + 5439568 + ] + }, + "mode":"markers", + "x":[ + 62.485, + 40.414, + 50.917, + 68.75, + 54.745, + 50.643, + 57.206, + 59.421, + 45.928, + 48.357, + 45.262, + 42.023, + 37.579, + 41.912, + 58.53, + 50.789, + 42.314, + 55.191, + 62.649, + 43.902, + 64.28, + 59.1, + 68.44, + 66.071, + 55.088 + ], + "y":[ + 5911.315053, + 2677.326347, + 2108.944355, + 11367.16112, + 3939.978789, + 2144.115096, + 2627.009471, + 5586.53878, + 1397.717137, + 3522.110717, + 3048.3029, + 2428.237769, + 1840.366939, + 2194.926204, + 2898.530881, + 3478.125529, + 3112.363948, + 2480.380334, + 1952.308701, + 3758.523437, + 3081.959785, + 3023.271928, + 13990.48208, + 5716.766744, + 7689.799761 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8691212, + 1994794 + ] + }, + "mode":"markers", + "x":[ + 69.12, + 69.39 + ], + "y":[ + 10039.59564, + 10556.57566 + ] + } + ], + "name":"1952" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9240934, + 138655, + 51365468, + 5322536, + 637408000, + 2736300, + 409000000, + 90124000, + 19792000, + 6248643, + 1944401, + 91563009, + 746559, + 9411381, + 22611552, + 212846, + 1647412, + 7739235, + 882134, + 21731844, + 9682338, + 561977, + 46679944, + 26072194, + 4419650, + 1445929, + 9128546, + 4149908, + 10164215, + 25041917, + 28998543, + 1070439, + 5498090 + ] + }, + "mode":"markers", + "x":[ + 30.332, + 53.832, + 39.348, + 41.366, + 50.54896, + 64.75, + 40.249, + 39.918, + 47.181, + 48.437, + 67.84, + 65.5, + 45.669, + 54.081, + 52.681, + 58.033, + 59.489, + 52.102, + 45.248, + 41.905, + 37.686, + 40.08, + 45.557, + 51.334, + 42.868, + 63.179, + 61.456, + 48.284, + 62.4, + 53.63, + 42.887, + 45.671, + 33.97 + ], + "y":[ + 820.8530296, + 11635.79945, + 661.6374577, + 434.0383364, + 575.9870009, + 3629.076457, + 590.061996, + 858.9002707, + 3290.257643, + 6229.333562, + 5385.278451, + 4317.694365, + 1886.080591, + 1571.134655, + 1487.593537, + 113523.1329, + 6089.786934, + 1810.066992, + 912.6626085, + 350, + 597.9363558, + 2242.746551, + 747.0835292, + 1547.944844, + 8157.591248, + 2843.104409, + 1072.546602, + 2117.234893, + 1507.86129, + 793.5774148, + 676.2854478, + 1827.067742, + 804.8304547 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1476505, + 6965860, + 8989111, + 3076000, + 7651254, + 3991242, + 9513758, + 4487831, + 4324000, + 44310863, + 71019069, + 8096218, + 9839000, + 165110, + 2878220, + 49182000, + 442829, + 11026383, + 3491938, + 28235346, + 8817650, + 17829327, + 7271135, + 3844277, + 1533070, + 29841614, + 7363802, + 5126000, + 25670939, + 51430000 + ] + }, + "mode":"markers", + "x":[ + 59.28, + 67.48, + 69.24, + 58.45, + 66.61, + 64.77, + 69.03, + 71.81, + 67.49, + 68.93, + 69.1, + 67.86, + 66.41, + 73.47, + 68.9, + 67.81, + 61.448, + 72.99, + 73.44, + 65.77, + 61.51, + 64.1, + 61.685, + 67.45, + 67.85, + 66.66, + 72.49, + 70.56, + 48.079, + 70.42 + ], + "y":[ + 1942.284244, + 8842.59803, + 9714.960623, + 1353.989176, + 3008.670727, + 4338.231617, + 8256.343918, + 11099.65935, + 7545.415386, + 8662.834898, + 10187.82665, + 4916.299889, + 6040.180011, + 9244.001412, + 5599.077872, + 6248.656232, + 3682.259903, + 11276.19344, + 11653.97304, + 4734.253019, + 3774.571743, + 3943.370225, + 4981.090891, + 6093.26298, + 5862.276629, + 4564.80241, + 9911.878226, + 17909.48973, + 2218.754257, + 11283.17795 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 10270856, + 4561361, + 1925173, + 474639, + 4713416, + 2667518, + 5359923, + 1392284, + 2894855, + 170928, + 15577932, + 940458, + 3300000, + 71851, + 25009741, + 232922, + 1542611, + 22815614, + 434904, + 323150, + 6391288, + 2876726, + 601095, + 7454779, + 813338, + 975950, + 1201578, + 5181679, + 3221238, + 4241884, + 1076852, + 609816, + 11406350, + 7038035, + 548080, + 3692184, + 37173340, + 308700, + 2822082, + 61325, + 3054547, + 2295678, + 2780415, + 16151549, + 9753392, + 326741, + 9452826, + 1357445, + 3950849, + 6675501, + 3016000, + 3646340 + ] + }, + "mode":"markers", + "x":[ + 45.685, + 31.999, + 40.358, + 49.618, + 34.906, + 40.533, + 40.428, + 37.464, + 39.881, + 42.46, + 40.652, + 45.053, + 42.469, + 37.328, + 44.444, + 35.983, + 38.047, + 36.667, + 38.999, + 32.065, + 44.779, + 34.558, + 33.489, + 44.686, + 45.047, + 39.486, + 45.289, + 38.865, + 37.207, + 35.307, + 42.338, + 58.089, + 45.423, + 33.779, + 45.226, + 38.598, + 37.802, + 55.09, + 41.5, + 48.945, + 39.329, + 31.57, + 34.977, + 47.985, + 39.624, + 43.424, + 42.974, + 41.208, + 47.1, + 42.571, + 44.077, + 50.469 + ], + "y":[ + 3013.976023, + 3827.940465, + 959.6010805, + 918.2325349, + 617.1834648, + 379.5646281, + 1313.048099, + 1190.844328, + 1308.495577, + 1211.148548, + 905.8602303, + 2315.056572, + 1500.895925, + 2864.969076, + 1458.915272, + 426.0964081, + 344.1618859, + 378.9041632, + 4976.198099, + 520.9267111, + 1043.561537, + 576.2670245, + 431.7904566, + 944.4383152, + 335.9971151, + 620.9699901, + 3448.284395, + 1589.20275, + 416.3698064, + 490.3821867, + 846.1202613, + 2034.037981, + 1642.002314, + 495.5868333, + 2621.448058, + 835.5234025, + 1100.592563, + 2769.451844, + 540.2893983, + 860.7369026, + 1567.653006, + 1004.484437, + 1258.147413, + 5487.104219, + 1770.337074, + 1244.708364, + 698.5356073, + 925.9083202, + 1395.232468, + 774.3710692, + 1311.956766, + 518.7642681 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 19610538, + 3211738, + 65551171, + 17010154, + 7048426, + 14485993, + 1112300, + 6640752, + 2923186, + 4058385, + 2355805, + 3640876, + 3507701, + 1770390, + 1535090, + 35015548, + 1358828, + 1063506, + 1770902, + 9146100, + 2260000, + 764900, + 171984000, + 2424959, + 6702668 + ] + }, + "mode":"markers", + "x":[ + 64.399, + 41.89, + 53.285, + 69.96, + 56.074, + 55.118, + 60.026, + 62.325, + 49.828, + 51.356, + 48.57, + 44.142, + 40.696, + 44.665, + 62.61, + 55.19, + 45.432, + 59.201, + 63.196, + 46.263, + 68.54, + 61.8, + 69.49, + 67.044, + 57.907 + ], + "y":[ + 6856.856212, + 2127.686326, + 2487.365989, + 12489.95006, + 4315.622723, + 2323.805581, + 2990.010802, + 6092.174359, + 1544.402995, + 3780.546651, + 3421.523218, + 2617.155967, + 1726.887882, + 2220.487682, + 4756.525781, + 4131.546641, + 3457.415947, + 2961.800905, + 2046.154706, + 4245.256698, + 3907.156189, + 4100.3934, + 14847.12712, + 6150.772969, + 9802.466526 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9712569, + 2229407 + ] + }, + "mode":"markers", + "x":[ + 70.33, + 70.26 + ], + "y":[ + 10949.64959, + 12247.39532 + ] + } + ], + "name":"1957" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 10267083, + 171863, + 56839289, + 6083619, + 665770000, + 3305200, + 454000000, + 99028000, + 22874000, + 7240260, + 2310904, + 95831757, + 933559, + 10917494, + 26420307, + 358266, + 1886848, + 8906385, + 1010280, + 23634436, + 10332057, + 628164, + 53100671, + 30325264, + 4943029, + 1750200, + 10421936, + 4834621, + 11918938, + 29263397, + 33796140, + 1133134, + 6120081 + ] + }, + "mode":"markers", + "x":[ + 31.997, + 56.923, + 41.216, + 43.415, + 44.50136, + 67.65, + 43.605, + 42.518, + 49.325, + 51.457, + 69.39, + 68.73, + 48.126, + 56.656, + 55.292, + 60.47, + 62.094, + 55.737, + 48.251, + 45.108, + 39.393, + 43.165, + 47.67, + 54.757, + 45.914, + 65.798, + 62.192, + 50.305, + 65.2, + 56.061, + 45.363, + 48.127, + 35.18 + ], + "y":[ + 853.10071, + 12753.27514, + 686.3415538, + 496.9136476, + 487.6740183, + 4692.648272, + 658.3471509, + 849.2897701, + 4187.329802, + 8341.737815, + 7105.630706, + 6576.649461, + 2348.009158, + 1621.693598, + 1536.344387, + 95458.11176, + 5714.560611, + 2036.884944, + 1056.353958, + 388, + 652.3968593, + 2924.638113, + 803.3427418, + 1649.552153, + 11626.41975, + 3674.735572, + 1074.47196, + 2193.037133, + 1822.879028, + 1002.199172, + 772.0491602, + 2198.956312, + 825.6232006 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1728137, + 7129864, + 9218400, + 3349000, + 8012946, + 4076557, + 9620282, + 4646899, + 4491443, + 47124000, + 73739117, + 8448233, + 10063000, + 182053, + 2830000, + 50843200, + 474528, + 11805689, + 3638919, + 30329617, + 9019800, + 18680721, + 7616060, + 4237384, + 1582962, + 31158061, + 7561588, + 5666000, + 29788695, + 53292000 + ] + }, + "mode":"markers", + "x":[ + 64.82, + 69.54, + 70.25, + 61.93, + 69.51, + 67.13, + 69.9, + 72.35, + 68.75, + 70.51, + 70.3, + 69.51, + 67.96, + 73.68, + 70.29, + 69.24, + 63.728, + 73.23, + 73.47, + 67.64, + 64.39, + 66.8, + 64.531, + 70.33, + 69.15, + 69.69, + 73.37, + 71.32, + 52.098, + 70.76 + ], + "y":[ + 2312.888958, + 10750.72111, + 10991.20676, + 1709.683679, + 4254.337839, + 5477.890018, + 10136.86713, + 13583.31351, + 9371.842561, + 10560.48553, + 12902.46291, + 6017.190733, + 7550.359877, + 10350.15906, + 6631.597314, + 8243.58234, + 4649.593785, + 12790.84956, + 13450.40151, + 5338.752143, + 4727.954889, + 4734.997586, + 6289.629157, + 7481.107598, + 7402.303395, + 5693.843879, + 12329.44192, + 20431.0927, + 2322.869908, + 12477.17707 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 11000948, + 4826015, + 2151895, + 512764, + 4919632, + 2961915, + 5793633, + 1523478, + 3150417, + 191689, + 17486434, + 1047924, + 3832408, + 89898, + 28173309, + 249220, + 1666618, + 25145372, + 455661, + 374020, + 7355248, + 3140003, + 627820, + 8678557, + 893143, + 1112796, + 1441863, + 5703324, + 3628608, + 4690372, + 1146757, + 701016, + 13056604, + 7788944, + 621392, + 4076008, + 41871351, + 358900, + 3051242, + 65345, + 3430243, + 2467895, + 3080153, + 18356657, + 11183227, + 370006, + 10863958, + 1528098, + 4286552, + 7688797, + 3421000, + 4277736 + ] + }, + "mode":"markers", + "x":[ + 48.303, + 34, + 42.618, + 51.52, + 37.814, + 42.045, + 42.643, + 39.475, + 41.716, + 44.467, + 42.122, + 48.435, + 44.93, + 39.693, + 46.992, + 37.485, + 40.158, + 40.059, + 40.489, + 33.896, + 46.452, + 35.753, + 34.488, + 47.949, + 47.747, + 40.502, + 47.808, + 40.848, + 38.41, + 36.936, + 44.248, + 60.246, + 47.924, + 36.161, + 48.386, + 39.487, + 39.36, + 57.666, + 43, + 51.893, + 41.454, + 32.767, + 36.981, + 49.951, + 40.87, + 44.992, + 44.246, + 43.922, + 49.579, + 45.344, + 46.023, + 52.358 + ], + "y":[ + 2550.81688, + 4269.276742, + 949.4990641, + 983.6539764, + 722.5120206, + 355.2032273, + 1399.607441, + 1193.068753, + 1389.817618, + 1406.648278, + 896.3146335, + 2464.783157, + 1728.869428, + 3020.989263, + 1693.335853, + 582.8419714, + 380.9958433, + 419.4564161, + 6631.459222, + 599.650276, + 1190.041118, + 686.3736739, + 522.0343725, + 896.9663732, + 411.8006266, + 634.1951625, + 6757.030816, + 1643.38711, + 427.9010856, + 496.1743428, + 1055.896036, + 2529.067487, + 1566.353493, + 556.6863539, + 3173.215595, + 997.7661127, + 1150.927478, + 3173.72334, + 597.4730727, + 1071.551119, + 1654.988723, + 1116.639877, + 1369.488336, + 5768.729717, + 1959.593767, + 1856.182125, + 722.0038073, + 1067.53481, + 1660.30321, + 767.2717398, + 1452.725766, + 527.2721818 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 21283783, + 3593918, + 76039390, + 18985849, + 7961258, + 17009885, + 1345187, + 7254373, + 3453434, + 4681707, + 2747687, + 4208858, + 3880130, + 2090162, + 1665128, + 41121485, + 1590597, + 1215725, + 2009813, + 10516500, + 2448046, + 887498, + 186538000, + 2598466, + 8143375 + ] + }, + "mode":"markers", + "x":[ + 65.142, + 43.428, + 55.665, + 71.3, + 57.924, + 57.863, + 62.842, + 65.246, + 53.459, + 54.64, + 52.307, + 46.954, + 43.59, + 48.041, + 65.61, + 58.299, + 48.632, + 61.817, + 64.361, + 49.096, + 69.62, + 64.9, + 70.21, + 68.253, + 60.77 + ], + "y":[ + 7133.166023, + 2180.972546, + 3336.585802, + 13462.48555, + 4519.094331, + 2492.351109, + 3460.937025, + 5180.75591, + 1662.137359, + 4086.114078, + 3776.803627, + 2750.364446, + 1796.589032, + 2291.156835, + 5246.107524, + 4581.609385, + 3634.364406, + 3536.540301, + 2148.027146, + 4957.037982, + 5108.34463, + 4997.523971, + 16173.14586, + 5603.357717, + 8422.974165 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 10794968, + 2488550 + ] + }, + "mode":"markers", + "x":[ + 70.93, + 71.24 + ], + "y":[ + 12217.22686, + 13175.678 + ] + } + ], + "name":"1962" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 11537966, + 202182, + 62821884, + 6960067, + 754550000, + 3722800, + 506000000, + 109343000, + 26538000, + 8519282, + 2693585, + 100825279, + 1255058, + 12617009, + 30131000, + 575003, + 2186894, + 10154878, + 1149500, + 25870271, + 11261690, + 714775, + 60641899, + 35356600, + 5618198, + 1977600, + 11737396, + 5680812, + 13648692, + 34024249, + 39463910, + 1142636, + 6740785 + ] + }, + "mode":"markers", + "x":[ + 34.02, + 59.923, + 43.453, + 45.415, + 58.38112, + 70, + 47.193, + 45.964, + 52.469, + 54.459, + 70.75, + 71.43, + 51.629, + 59.942, + 57.716, + 64.624, + 63.87, + 59.371, + 51.253, + 49.379, + 41.472, + 46.988, + 49.8, + 56.393, + 49.901, + 67.946, + 64.266, + 53.655, + 67.5, + 58.285, + 47.838, + 51.631, + 36.984 + ], + "y":[ + 836.1971382, + 14804.6727, + 721.1860862, + 523.4323142, + 612.7056934, + 6197.962814, + 700.7706107, + 762.4317721, + 5906.731805, + 8931.459811, + 8393.741404, + 9847.788607, + 2741.796252, + 2143.540609, + 2029.228142, + 80894.88326, + 6006.983042, + 2277.742396, + 1226.04113, + 349, + 676.4422254, + 4720.942687, + 942.4082588, + 1814.12743, + 16903.04886, + 4977.41854, + 1135.514326, + 1881.923632, + 2643.858681, + 1295.46066, + 637.1232887, + 2649.715007, + 862.4421463 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1984060, + 7376998, + 9556500, + 3585000, + 8310226, + 4174366, + 9835109, + 4838800, + 4605744, + 49569000, + 76368453, + 8716441, + 10223422, + 198676, + 2900100, + 52667100, + 501035, + 12596822, + 3786019, + 31785378, + 9103000, + 19284814, + 7971222, + 4442238, + 1646912, + 32850275, + 7867931, + 6063000, + 33411317, + 54959000 + ] + }, + "mode":"markers", + "x":[ + 66.22, + 70.14, + 70.94, + 64.79, + 70.42, + 68.5, + 70.38, + 72.96, + 69.83, + 71.55, + 70.8, + 71, + 69.5, + 73.73, + 71.08, + 71.06, + 67.178, + 73.82, + 74.08, + 69.61, + 66.6, + 66.8, + 66.914, + 70.98, + 69.18, + 71.44, + 74.16, + 72.77, + 54.336, + 71.36 + ], + "y":[ + 2760.196931, + 12834.6024, + 13149.04119, + 2172.352423, + 5577.0028, + 6960.297861, + 11399.44489, + 15937.21123, + 10921.63626, + 12999.91766, + 14745.62561, + 8513.097016, + 9326.64467, + 13319.89568, + 7655.568963, + 10022.40131, + 5907.850937, + 15363.25136, + 16361.87647, + 6557.152776, + 6361.517993, + 6470.866545, + 7991.707066, + 8412.902397, + 9405.489397, + 7993.512294, + 15258.29697, + 22966.14432, + 2826.356387, + 14142.85089 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 12760499, + 5247469, + 2427334, + 553541, + 5127935, + 3330989, + 6335506, + 1733638, + 3495967, + 217378, + 19941073, + 1179760, + 4744870, + 127617, + 31681188, + 259864, + 1820319, + 27860297, + 489004, + 439593, + 8490213, + 3451418, + 601287, + 10191512, + 996380, + 1279406, + 1759224, + 6334556, + 4147252, + 5212416, + 1230542, + 789309, + 14770296, + 8680909, + 706640, + 4534062, + 47287752, + 414024, + 3451079, + 70787, + 3965841, + 2662190, + 3428839, + 20997321, + 12716129, + 420690, + 12607312, + 1735550, + 4786986, + 8900294, + 3900000, + 4995432 + ] + }, + "mode":"markers", + "x":[ + 51.407, + 35.985, + 44.885, + 53.298, + 40.697, + 43.548, + 44.799, + 41.478, + 43.601, + 46.472, + 44.056, + 52.04, + 47.35, + 42.074, + 49.293, + 38.987, + 42.189, + 42.115, + 44.598, + 35.857, + 48.072, + 37.197, + 35.492, + 50.654, + 48.492, + 41.536, + 50.227, + 42.881, + 39.487, + 38.487, + 46.289, + 61.557, + 50.335, + 38.113, + 51.159, + 40.118, + 41.04, + 60.542, + 44.1, + 54.425, + 43.563, + 34.113, + 38.977, + 51.927, + 42.858, + 46.633, + 45.757, + 46.769, + 52.053, + 48.051, + 47.768, + 53.995 + ], + "y":[ + 3246.991771, + 5522.776375, + 1035.831411, + 1214.709294, + 794.8265597, + 412.9775136, + 1508.453148, + 1136.056615, + 1196.810565, + 1876.029643, + 861.5932424, + 2677.939642, + 2052.050473, + 3020.050513, + 1814.880728, + 915.5960025, + 468.7949699, + 516.1186438, + 8358.761987, + 734.7829124, + 1125.69716, + 708.7595409, + 715.5806402, + 1056.736457, + 498.6390265, + 713.6036483, + 18772.75169, + 1634.047282, + 495.5147806, + 545.0098873, + 1421.145193, + 2475.387562, + 1711.04477, + 566.6691539, + 3793.694753, + 1054.384891, + 1014.514104, + 4021.175739, + 510.9637142, + 1384.840593, + 1612.404632, + 1206.043465, + 1284.73318, + 7114.477971, + 1687.997641, + 2613.101665, + 848.2186575, + 1477.59676, + 1932.360167, + 908.9185217, + 1777.077318, + 569.7950712 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 22934225, + 4040665, + 88049823, + 20819767, + 8858908, + 19764027, + 1588717, + 8139332, + 4049146, + 5432424, + 3232927, + 4690773, + 4318137, + 2500689, + 1861096, + 47995559, + 1865490, + 1405486, + 2287985, + 12132200, + 2648961, + 960155, + 198712000, + 2748579, + 9709552 + ] + }, + "mode":"markers", + "x":[ + 65.634, + 45.032, + 57.632, + 72.13, + 60.523, + 59.963, + 65.424, + 68.29, + 56.751, + 56.678, + 55.855, + 50.016, + 46.243, + 50.924, + 67.51, + 60.11, + 51.884, + 64.071, + 64.951, + 51.445, + 71.1, + 65.4, + 70.76, + 68.468, + 63.479 + ], + "y":[ + 8052.953021, + 2586.886053, + 3429.864357, + 16076.58803, + 5106.654313, + 2678.729839, + 4161.727834, + 5690.268015, + 1653.723003, + 4579.074215, + 4358.595393, + 3242.531147, + 1452.057666, + 2538.269358, + 6124.703451, + 5754.733883, + 4643.393534, + 4421.009084, + 2299.376311, + 5788.09333, + 6929.277714, + 5621.368472, + 19530.36557, + 5444.61962, + 9541.474188 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 11872264, + 2728150 + ] + }, + "mode":"markers", + "x":[ + 71.1, + 71.52 + ], + "y":[ + 14526.12465, + 14463.91893 + ] + } + ], + "name":"1967" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 13079460, + 230800, + 70759295, + 7450606, + 862030000, + 4115700, + 567000000, + 121282000, + 30614000, + 10061506, + 3095893, + 107188273, + 1613551, + 14781241, + 33505000, + 841934, + 2680018, + 11441462, + 1320500, + 28466390, + 12412593, + 829050, + 69325921, + 40850141, + 6472756, + 2152400, + 13016733, + 6701172, + 15226039, + 39276153, + 44655014, + 1089572, + 7407075 + ] + }, + "mode":"markers", + "x":[ + 36.088, + 63.3, + 45.252, + 40.317, + 63.11888, + 72, + 50.651, + 49.203, + 55.234, + 56.95, + 71.63, + 73.42, + 56.528, + 63.983, + 62.612, + 67.712, + 65.421, + 63.01, + 53.754, + 53.07, + 43.971, + 52.143, + 51.929, + 58.065, + 53.886, + 69.521, + 65.042, + 57.296, + 69.39, + 60.405, + 50.254, + 56.532, + 39.848 + ], + "y":[ + 739.9811058, + 18268.65839, + 630.2336265, + 421.6240257, + 676.9000921, + 8315.928145, + 724.032527, + 1111.107907, + 9613.818607, + 9576.037596, + 12786.93223, + 14778.78636, + 2110.856309, + 3701.621503, + 3030.87665, + 109347.867, + 7486.384341, + 2849.09478, + 1421.741975, + 357, + 674.7881296, + 10618.03855, + 1049.938981, + 1989.37407, + 24837.42865, + 8597.756202, + 1213.39553, + 2571.423014, + 4062.523897, + 1524.358936, + 699.5016441, + 3133.409277, + 1265.047031 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 2263554, + 7544201, + 9709100, + 3819000, + 8576200, + 4225310, + 9862158, + 4991596, + 4639657, + 51732000, + 78717088, + 8888628, + 10394091, + 209275, + 3024400, + 54365564, + 527678, + 13329874, + 3933004, + 33039545, + 8970450, + 20662648, + 8313288, + 4593433, + 1694510, + 34513161, + 8122293, + 6401400, + 37492953, + 56079000 + ] + }, + "mode":"markers", + "x":[ + 67.69, + 70.63, + 71.44, + 67.45, + 70.9, + 69.61, + 70.29, + 73.47, + 70.87, + 72.38, + 71, + 72.34, + 69.76, + 74.46, + 71.28, + 72.19, + 70.636, + 73.75, + 74.34, + 70.85, + 69.26, + 69.21, + 68.7, + 70.35, + 69.82, + 73.06, + 74.72, + 73.78, + 57.005, + 72.01 + ], + "y":[ + 3313.422188, + 16661.6256, + 16672.14356, + 2860.16975, + 6597.494398, + 9164.090127, + 13108.4536, + 18866.20721, + 14358.8759, + 16107.19171, + 18016.18027, + 12724.82957, + 10168.65611, + 15798.06362, + 9530.772896, + 12269.27378, + 7778.414017, + 18794.74567, + 18965.05551, + 8006.506993, + 9022.247417, + 8011.414402, + 10522.06749, + 9674.167626, + 12383.4862, + 10638.75131, + 17832.02464, + 27195.11304, + 3450.69638, + 15895.11641 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 14760787, + 5894858, + 2761407, + 619351, + 5433886, + 3529983, + 7021028, + 1927260, + 3899068, + 250027, + 23007669, + 1340458, + 6071696, + 178848, + 34807417, + 277603, + 2260187, + 30770372, + 537977, + 517101, + 9354120, + 3811387, + 625361, + 12044785, + 1116779, + 1482628, + 2183877, + 7082430, + 4730997, + 5828158, + 1332786, + 851334, + 16660670, + 9809596, + 821782, + 5060262, + 53740085, + 461633, + 3992121, + 76595, + 4588696, + 2879013, + 3840161, + 23935810, + 14597019, + 480105, + 14706593, + 2056351, + 5303507, + 10190285, + 4506497, + 5861135 + ] + }, + "mode":"markers", + "x":[ + 54.518, + 37.928, + 47.014, + 56.024, + 43.591, + 44.057, + 47.049, + 43.457, + 45.569, + 48.944, + 45.989, + 54.907, + 49.801, + 44.366, + 51.137, + 40.516, + 44.142, + 43.515, + 48.69, + 38.308, + 49.875, + 38.842, + 36.486, + 53.559, + 49.767, + 42.614, + 52.773, + 44.851, + 41.766, + 39.977, + 48.437, + 62.944, + 52.862, + 40.328, + 53.867, + 40.546, + 42.821, + 64.274, + 44.6, + 56.48, + 45.815, + 35.4, + 40.973, + 53.696, + 45.083, + 49.552, + 47.62, + 49.759, + 55.602, + 51.016, + 50.107, + 55.635 + ], + "y":[ + 4182.663766, + 5473.288005, + 1085.796879, + 2263.611114, + 854.7359763, + 464.0995039, + 1684.146528, + 1070.013275, + 1104.103987, + 1937.577675, + 904.8960685, + 3213.152683, + 2378.201111, + 3694.212352, + 2024.008147, + 672.4122571, + 514.3242082, + 566.2439442, + 11401.94841, + 756.0868363, + 1178.223708, + 741.6662307, + 820.2245876, + 1222.359968, + 496.5815922, + 803.0054535, + 21011.49721, + 1748.562982, + 584.6219709, + 581.3688761, + 1586.851781, + 2575.484158, + 1930.194975, + 724.9178037, + 3746.080948, + 954.2092363, + 1698.388838, + 5047.658563, + 590.5806638, + 1532.985254, + 1597.712056, + 1353.759762, + 1254.576127, + 7765.962636, + 1659.652775, + 3364.836625, + 915.9850592, + 1649.660188, + 2753.285994, + 950.735869, + 1773.498265, + 799.3621758 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 24779799, + 4565872, + 100840058, + 22284500, + 9717524, + 22542890, + 1834796, + 8831348, + 4671329, + 6298651, + 3790903, + 5149581, + 4698301, + 2965146, + 1997616, + 55984294, + 2182908, + 1616384, + 2614104, + 13954700, + 2847132, + 975199, + 209896000, + 2829526, + 11515649 + ] + }, + "mode":"markers", + "x":[ + 67.065, + 46.714, + 59.504, + 72.88, + 63.441, + 61.623, + 67.849, + 70.723, + 59.631, + 58.796, + 58.207, + 53.738, + 48.042, + 53.884, + 69, + 62.361, + 55.151, + 66.216, + 65.815, + 55.448, + 72.16, + 65.9, + 71.34, + 68.673, + 65.712 + ], + "y":[ + 9443.038526, + 2980.331339, + 4985.711467, + 18970.57086, + 5494.024437, + 3264.660041, + 5118.146939, + 5305.445256, + 2189.874499, + 5280.99471, + 4520.246008, + 4031.408271, + 1654.456946, + 2529.842345, + 7433.889293, + 6809.40669, + 4688.593267, + 5364.249663, + 2523.337977, + 5937.827283, + 9123.041742, + 6619.551419, + 21806.03594, + 5703.408898, + 10505.25966 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 13177000, + 2929100 + ] + }, + "mode":"markers", + "x":[ + 71.93, + 71.89 + ], + "y":[ + 16788.62948, + 16046.03728 + ] + } + ], + "name":"1972" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 14880372, + 297410, + 80428306, + 6978607, + 943455000, + 4583700, + 634000000, + 136725000, + 35480679, + 11882916, + 3495918, + 113872473, + 1937652, + 16325320, + 36436000, + 1140357, + 3115787, + 12845381, + 1528000, + 31528087, + 13933198, + 1004533, + 78152686, + 46850962, + 8128505, + 2325300, + 14116836, + 7932503, + 16785196, + 44148285, + 50533506, + 1261091, + 8403990 + ] + }, + "mode":"markers", + "x":[ + 38.438, + 65.593, + 46.923, + 31.22, + 63.96736, + 73.6, + 54.208, + 52.702, + 57.702, + 60.413, + 73.06, + 75.38, + 61.134, + 67.159, + 64.766, + 69.343, + 66.099, + 65.256, + 55.491, + 56.059, + 46.748, + 57.367, + 54.043, + 60.06, + 58.69, + 70.795, + 65.949, + 61.195, + 70.59, + 62.494, + 55.764, + 60.765, + 44.175 + ], + "y":[ + 786.11336, + 19340.10196, + 659.8772322, + 524.9721832, + 741.2374699, + 11186.14125, + 813.337323, + 1382.702056, + 11888.59508, + 14688.23507, + 13306.61921, + 16610.37701, + 2852.351568, + 4106.301249, + 4657.22102, + 59265.47714, + 8659.696836, + 3827.921571, + 1647.511665, + 371, + 694.1124398, + 11848.34392, + 1175.921193, + 2373.204287, + 34167.7626, + 11210.08948, + 1348.775651, + 3195.484582, + 5596.519826, + 1961.224635, + 713.5371196, + 3682.831494, + 1829.765177 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 2509048, + 7568430, + 9821800, + 4086000, + 8797022, + 4318673, + 10161915, + 5088419, + 4738902, + 53165019, + 78160773, + 9308479, + 10637171, + 221823, + 3271900, + 56059245, + 560073, + 13852989, + 4043205, + 34621254, + 9662600, + 21658597, + 8686367, + 4827803, + 1746919, + 36439000, + 8251648, + 6316424, + 42404033, + 56179000 + ] + }, + "mode":"markers", + "x":[ + 68.93, + 72.17, + 72.8, + 69.86, + 70.81, + 70.64, + 70.71, + 74.69, + 72.52, + 73.83, + 72.5, + 73.68, + 69.95, + 76.11, + 72.03, + 73.48, + 73.066, + 75.24, + 75.37, + 70.67, + 70.41, + 69.46, + 70.3, + 70.45, + 70.97, + 74.39, + 75.44, + 75.39, + 59.507, + 72.76 + ], + "y":[ + 3533.00391, + 19749.4223, + 19117.97448, + 3528.481305, + 7612.240438, + 11305.38517, + 14800.16062, + 20422.9015, + 15605.42283, + 18292.63514, + 20512.92123, + 14195.52428, + 11674.83737, + 19654.96247, + 11150.98113, + 14255.98475, + 9595.929905, + 21209.0592, + 23311.34939, + 9508.141454, + 10172.48572, + 9356.39724, + 12980.66956, + 10922.66404, + 15277.03017, + 13236.92117, + 18855.72521, + 26982.29052, + 4269.122326, + 17428.74846 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17152804, + 6162675, + 3168267, + 781472, + 5889574, + 3834415, + 7959865, + 2167533, + 4388260, + 304739, + 26480870, + 1536769, + 7459574, + 228694, + 38783863, + 192675, + 2512642, + 34617799, + 706367, + 608274, + 10538093, + 4227026, + 745228, + 14500404, + 1251524, + 1703617, + 2721783, + 8007166, + 5637246, + 6491649, + 1456688, + 913025, + 18396941, + 11127868, + 977026, + 5682086, + 62209173, + 492095, + 4657072, + 86796, + 5260855, + 3140897, + 4353666, + 27129932, + 17104986, + 551425, + 17129565, + 2308582, + 6005061, + 11457758, + 5216550, + 6642107 + ] + }, + "mode":"markers", + "x":[ + 58.014, + 39.483, + 49.19, + 59.319, + 46.137, + 45.91, + 49.355, + 46.775, + 47.383, + 50.939, + 47.804, + 55.625, + 52.374, + 46.519, + 53.319, + 42.024, + 44.535, + 44.51, + 52.79, + 41.842, + 51.756, + 40.762, + 37.465, + 56.155, + 52.208, + 43.764, + 57.442, + 46.881, + 43.767, + 41.714, + 50.852, + 64.93, + 55.73, + 42.495, + 56.437, + 41.291, + 44.514, + 67.064, + 45, + 58.55, + 48.879, + 36.788, + 41.974, + 55.527, + 47.8, + 52.537, + 49.919, + 52.887, + 59.837, + 50.35, + 51.386, + 57.674 + ], + "y":[ + 4910.416756, + 3008.647355, + 1029.161251, + 3214.857818, + 743.3870368, + 556.1032651, + 1783.432873, + 1109.374338, + 1133.98495, + 1172.603047, + 795.757282, + 3259.178978, + 2517.736547, + 3081.761022, + 2785.493582, + 958.5668124, + 505.7538077, + 556.8083834, + 21745.57328, + 884.7552507, + 993.2239571, + 874.6858643, + 764.7259628, + 1267.613204, + 745.3695408, + 640.3224383, + 21951.21176, + 1544.228586, + 663.2236766, + 686.3952693, + 1497.492223, + 3710.982963, + 2370.619976, + 502.3197334, + 3876.485958, + 808.8970728, + 1981.951806, + 4319.804067, + 670.0806011, + 1737.561657, + 1561.769116, + 1348.285159, + 1450.992513, + 8028.651439, + 2202.988423, + 3781.410618, + 962.4922932, + 1532.776998, + 3120.876811, + 843.7331372, + 1588.688299, + 685.5876821 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 26983828, + 5079716, + 114313951, + 23796400, + 10599793, + 25094412, + 2108457, + 9537988, + 5302800, + 7278866, + 4282586, + 5703430, + 4908554, + 3055235, + 2156814, + 63759976, + 2554598, + 1839782, + 2984494, + 15990099, + 3080828, + 1039009, + 220239000, + 2873520, + 13503563 + ] + }, + "mode":"markers", + "x":[ + 68.481, + 50.023, + 61.489, + 74.21, + 67.052, + 63.837, + 70.75, + 72.649, + 61.788, + 61.31, + 56.696, + 56.029, + 49.923, + 57.402, + 70.11, + 65.032, + 57.47, + 68.681, + 66.353, + 58.447, + 73.44, + 68.3, + 73.38, + 69.481, + 67.456 + ], + "y":[ + 10079.02674, + 3548.097832, + 6660.118654, + 22090.88306, + 4756.763836, + 3815.80787, + 5926.876967, + 6380.494966, + 2681.9889, + 6679.62326, + 5138.922374, + 4879.992748, + 1874.298931, + 3203.208066, + 6650.195573, + 7674.929108, + 5486.371089, + 5351.912144, + 3248.373311, + 6281.290855, + 9770.524921, + 7899.554209, + 24072.63213, + 6504.339663, + 13143.95095 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 14074100, + 3164900 + ] + }, + "mode":"markers", + "x":[ + 73.49, + 72.22 + ], + "y":[ + 18334.19751, + 16233.7177 + ] + } + ], + "name":"1977" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 12881816, + 377967, + 93074406, + 7272485, + 1000281000, + 5264500, + 708000000, + 153343000, + 43072751, + 14173318, + 3858421, + 118454974, + 2347031, + 17647518, + 39326000, + 1497494, + 3086876, + 14441916, + 1756032, + 34680442, + 15796314, + 1301048, + 91462088, + 53456774, + 11254672, + 2651869, + 15410151, + 9410494, + 18501390, + 48827160, + 56142181, + 1425876, + 9657618 + ] + }, + "mode":"markers", + "x":[ + 39.854, + 69.052, + 50.009, + 50.957, + 65.525, + 75.45, + 56.596, + 56.159, + 59.62, + 62.038, + 74.45, + 77.11, + 63.739, + 69.1, + 67.123, + 71.309, + 66.983, + 68, + 57.489, + 58.056, + 49.594, + 62.728, + 56.158, + 62.082, + 63.012, + 71.76, + 68.757, + 64.59, + 72.16, + 64.597, + 58.816, + 64.406, + 49.113 + ], + "y":[ + 978.0114388, + 19211.14731, + 676.9818656, + 624.4754784, + 962.4213805, + 14560.53051, + 855.7235377, + 1516.872988, + 7608.334602, + 14517.90711, + 15367.0292, + 19384.10571, + 4161.415959, + 4106.525293, + 5622.942464, + 31354.03573, + 7640.519521, + 4920.355951, + 2000.603139, + 424, + 718.3730947, + 12954.79101, + 1443.429832, + 2603.273765, + 33693.17525, + 15169.16112, + 1648.079789, + 3761.837715, + 7426.354774, + 2393.219781, + 707.2357863, + 4336.032082, + 1977.55701 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 2780097, + 7574613, + 9856303, + 4172693, + 8892098, + 4413368, + 10303704, + 5117810, + 4826933, + 54433565, + 78335266, + 9786480, + 10705535, + 233997, + 3480000, + 56535636, + 562548, + 14310401, + 4114787, + 36227381, + 9859650, + 22356726, + 9032824, + 5048043, + 1861252, + 37983310, + 8325260, + 6468126, + 47328791, + 56339704 + ] + }, + "mode":"markers", + "x":[ + 70.42, + 73.18, + 73.93, + 70.69, + 71.08, + 70.46, + 70.96, + 74.63, + 74.55, + 74.89, + 73.8, + 75.24, + 69.39, + 76.99, + 73.1, + 74.98, + 74.101, + 76.05, + 75.97, + 71.32, + 72.77, + 69.66, + 70.162, + 70.8, + 71.063, + 76.3, + 76.42, + 76.21, + 61.036, + 74.04 + ], + "y":[ + 3630.880722, + 21597.08362, + 20979.84589, + 4126.613157, + 8224.191647, + 13221.82184, + 15377.22855, + 21688.04048, + 18533.15761, + 20293.89746, + 22031.53274, + 15268.42089, + 12545.99066, + 23269.6075, + 12618.32141, + 16537.4835, + 11222.58762, + 21399.46046, + 26298.63531, + 8451.531004, + 11753.84291, + 9605.314053, + 15181.0927, + 11348.54585, + 17866.72175, + 13926.16997, + 20667.38125, + 28397.71512, + 4241.356344, + 18232.42452 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 20033753, + 7016384, + 3641603, + 970347, + 6634596, + 4580410, + 9250831, + 2476971, + 4875118, + 348643, + 30646495, + 1774735, + 9025951, + 305991, + 45681811, + 285483, + 2637297, + 38111756, + 753874, + 715523, + 11400338, + 4710497, + 825987, + 17661452, + 1411807, + 1956875, + 3344074, + 9171477, + 6502825, + 6998256, + 1622136, + 992040, + 20198730, + 12587223, + 1099010, + 6437188, + 73039376, + 517810, + 5507565, + 98593, + 6147783, + 3464522, + 5828892, + 31140029, + 20367053, + 649901, + 19844382, + 2644765, + 6734098, + 12939400, + 6100407, + 7636524 + ] + }, + "mode":"markers", + "x":[ + 61.368, + 39.942, + 50.904, + 61.484, + 48.122, + 47.471, + 52.961, + 48.295, + 49.517, + 52.933, + 47.784, + 56.695, + 53.983, + 48.812, + 56.006, + 43.662, + 43.89, + 44.916, + 56.564, + 45.58, + 53.744, + 42.891, + 39.327, + 58.766, + 55.078, + 44.852, + 62.155, + 48.969, + 45.642, + 43.916, + 53.599, + 66.711, + 59.65, + 42.795, + 58.968, + 42.598, + 45.826, + 69.885, + 46.218, + 60.351, + 52.379, + 38.445, + 42.955, + 58.161, + 50.338, + 55.561, + 50.608, + 55.471, + 64.048, + 49.849, + 51.821, + 60.363 + ], + "y":[ + 5745.160213, + 2756.953672, + 1277.897616, + 4551.14215, + 807.1985855, + 559.603231, + 2367.983282, + 956.7529907, + 797.9081006, + 1267.100083, + 673.7478181, + 4879.507522, + 2602.710169, + 2879.468067, + 3503.729636, + 927.8253427, + 524.8758493, + 577.8607471, + 15113.36194, + 835.8096108, + 876.032569, + 857.2503577, + 838.1239671, + 1348.225791, + 797.2631074, + 572.1995694, + 17364.27538, + 1302.878658, + 632.8039209, + 618.0140641, + 1481.150189, + 3688.037739, + 2702.620356, + 462.2114149, + 4191.100511, + 909.7221354, + 1576.97375, + 5267.219353, + 881.5706467, + 1890.218117, + 1518.479984, + 1465.010784, + 1176.807031, + 8568.266228, + 1895.544073, + 3895.384018, + 874.2426069, + 1344.577953, + 3560.233174, + 682.2662268, + 1408.678565, + 788.8550411 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 29341374, + 5642224, + 128962939, + 25201900, + 11487112, + 27764644, + 2424367, + 9789224, + 5968349, + 8365850, + 4474873, + 6395630, + 5198399, + 3669448, + 2298309, + 71640904, + 2979423, + 2036305, + 3366439, + 18125129, + 3279001, + 1116479, + 232187835, + 2953997, + 15620766 + ] + }, + "mode":"markers", + "x":[ + 69.942, + 53.859, + 63.336, + 75.76, + 70.565, + 66.653, + 73.45, + 73.717, + 63.727, + 64.342, + 56.604, + 58.137, + 51.461, + 60.909, + 71.21, + 67.405, + 59.298, + 70.472, + 66.874, + 61.406, + 73.75, + 68.832, + 74.65, + 70.805, + 68.557 + ], + "y":[ + 8997.897412, + 3156.510452, + 7030.835878, + 22898.79214, + 5095.665738, + 4397.575659, + 5262.734751, + 7316.918107, + 2861.092386, + 7213.791267, + 4098.344175, + 4820.49479, + 2011.159549, + 3121.760794, + 6068.05135, + 9611.147541, + 3470.338156, + 7009.601598, + 4258.503604, + 6434.501797, + 10330.98915, + 9119.528607, + 25009.55914, + 6920.223051, + 11152.41011 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 15184200, + 3210650 + ] + }, + "mode":"markers", + "x":[ + 74.74, + 73.84 + ], + "y":[ + 19477.00928, + 17632.4104 + ] + } + ], + "name":"1982" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 13867957, + 454612, + 103764241, + 8371791, + 1084035000, + 5584510, + 788000000, + 169276000, + 51889696, + 16543189, + 4203148, + 122091325, + 2820042, + 19067554, + 41622000, + 1891487, + 3089353, + 16331785, + 2015133, + 38028578, + 17917180, + 1593882, + 105186881, + 60017788, + 14619745, + 2794552, + 16495304, + 11242847, + 19757799, + 52910342, + 62826491, + 1691210, + 11219340 + ] + }, + "mode":"markers", + "x":[ + 40.822, + 70.75, + 52.819, + 53.914, + 67.274, + 76.2, + 58.553, + 60.137, + 63.04, + 65.044, + 75.6, + 78.67, + 65.869, + 70.647, + 69.81, + 74.174, + 67.926, + 69.5, + 60.222, + 58.339, + 52.537, + 67.734, + 58.245, + 64.151, + 66.295, + 73.56, + 69.011, + 66.974, + 73.4, + 66.084, + 62.82, + 67.046, + 52.922 + ], + "y":[ + 852.3959448, + 18524.02406, + 751.9794035, + 683.8955732, + 1378.904018, + 20038.47269, + 976.5126756, + 1748.356961, + 6642.881371, + 11643.57268, + 17122.47986, + 22375.94189, + 4448.679912, + 4106.492315, + 8533.088805, + 28118.42998, + 5377.091329, + 5249.802653, + 2338.008304, + 385, + 775.6324501, + 18115.22313, + 1704.686583, + 2189.634995, + 21198.26136, + 18861.53081, + 1876.766827, + 3116.774285, + 11054.56175, + 2982.653773, + 820.7994449, + 5107.197384, + 1971.741538 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3075321, + 7578903, + 9870200, + 4338977, + 8971958, + 4484310, + 10311597, + 5127024, + 4931729, + 55630100, + 77718298, + 9974490, + 10612740, + 244676, + 3539900, + 56729703, + 569473, + 14665278, + 4186147, + 37740710, + 9915289, + 22686371, + 9230783, + 5199318, + 1945870, + 38880702, + 8421403, + 6649942, + 52881328, + 56981620 + ] + }, + "mode":"markers", + "x":[ + 72, + 74.94, + 75.35, + 71.14, + 71.34, + 71.52, + 71.58, + 74.8, + 74.83, + 76.34, + 74.847, + 76.67, + 69.58, + 77.23, + 74.36, + 76.42, + 74.865, + 76.83, + 75.89, + 70.98, + 74.06, + 69.53, + 71.218, + 71.08, + 72.25, + 76.9, + 77.19, + 77.41, + 63.108, + 75.007 + ], + "y":[ + 3738.932735, + 23687.82607, + 22525.56308, + 4314.114757, + 8239.854824, + 13822.58394, + 16310.4434, + 25116.17581, + 21141.01223, + 22066.44214, + 24639.18566, + 16120.52839, + 12986.47998, + 26923.20628, + 13872.86652, + 19207.23482, + 11732.51017, + 23651.32361, + 31540.9748, + 9082.351172, + 13039.30876, + 9696.273295, + 15870.87851, + 12037.26758, + 18678.53492, + 15764.98313, + 23586.92927, + 30281.70459, + 5089.043686, + 21664.78767 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 23254956, + 7874230, + 4243788, + 1151184, + 7586551, + 5126023, + 10780667, + 2840009, + 5498955, + 395114, + 35481645, + 2064095, + 10761098, + 311025, + 52799062, + 341244, + 2915959, + 42999530, + 880397, + 848406, + 14168101, + 5650262, + 927524, + 21198082, + 1599200, + 2269414, + 3799845, + 10568642, + 7824747, + 7634008, + 1841240, + 1042663, + 22987397, + 12891952, + 1278184, + 7332638, + 81551520, + 562035, + 6349365, + 110812, + 7171347, + 3868905, + 6921858, + 35933379, + 24725960, + 779348, + 23040630, + 3154264, + 7724976, + 15283050, + 7272406, + 9216418 + ] + }, + "mode":"markers", + "x":[ + 65.799, + 39.906, + 52.337, + 63.622, + 49.557, + 48.211, + 54.985, + 50.485, + 51.051, + 54.926, + 47.412, + 57.47, + 54.655, + 50.04, + 59.797, + 45.664, + 46.453, + 46.684, + 60.19, + 49.265, + 55.729, + 45.552, + 41.245, + 59.339, + 57.18, + 46.027, + 66.234, + 49.35, + 47.457, + 46.364, + 56.145, + 68.74, + 62.677, + 42.861, + 60.835, + 44.555, + 46.886, + 71.913, + 44.02, + 61.728, + 55.769, + 40.006, + 44.501, + 60.834, + 51.744, + 57.678, + 51.535, + 56.941, + 66.894, + 51.509, + 50.821, + 62.351 + ], + "y":[ + 5681.358539, + 2430.208311, + 1225.85601, + 6205.88385, + 912.0631417, + 621.8188189, + 2602.664206, + 844.8763504, + 952.386129, + 1315.980812, + 672.774812, + 4201.194937, + 2156.956069, + 2880.102568, + 3885.46071, + 966.8968149, + 521.1341333, + 573.7413142, + 11864.40844, + 611.6588611, + 847.0061135, + 805.5724718, + 736.4153921, + 1361.936856, + 773.9932141, + 506.1138573, + 11770.5898, + 1155.441948, + 635.5173634, + 684.1715576, + 1421.603576, + 4783.586903, + 2755.046991, + 389.8761846, + 3693.731337, + 668.3000228, + 1385.029563, + 5303.377488, + 847.991217, + 1516.525457, + 1441.72072, + 1294.447788, + 1093.244963, + 7825.823398, + 1507.819159, + 3984.839812, + 831.8220794, + 1202.201361, + 3810.419296, + 617.7244065, + 1213.315116, + 706.1573059 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 31620918, + 6156369, + 142938076, + 26549700, + 12463354, + 30964245, + 2799811, + 10239839, + 6655297, + 9545158, + 4842194, + 7326406, + 5756203, + 4372203, + 2326606, + 80122492, + 3344353, + 2253639, + 3886512, + 20195924, + 3444468, + 1191336, + 242803533, + 3045153, + 17910182 + ] + }, + "mode":"markers", + "x":[ + 70.774, + 57.251, + 65.205, + 76.86, + 72.492, + 67.768, + 74.752, + 74.174, + 66.046, + 67.231, + 63.154, + 60.782, + 53.636, + 64.492, + 71.77, + 69.498, + 62.008, + 71.523, + 67.378, + 64.134, + 74.63, + 69.582, + 75.02, + 71.918, + 70.19 + ], + "y":[ + 9139.671389, + 2753.69149, + 7807.095818, + 26626.51503, + 5547.063754, + 4903.2191, + 5629.915318, + 7532.924763, + 2899.842175, + 6481.776993, + 4140.442097, + 4246.485974, + 1823.015995, + 3023.096699, + 6351.237495, + 8688.156003, + 2955.984375, + 7034.779161, + 3998.875695, + 6360.943444, + 12281.34191, + 7388.597823, + 29884.35041, + 7452.398969, + 9883.584648 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 16257249, + 3317166 + ] + }, + "mode":"markers", + "x":[ + 76.32, + 74.32 + ], + "y":[ + 21888.88903, + 19007.19129 + ] + } + ], + "name":"1987" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 16317921, + 529491, + 113704579, + 10150094, + 1164970000, + 5829696, + 872000000, + 184816000, + 60397973, + 17861905, + 4936550, + 124329269, + 3867409, + 20711375, + 43805450, + 1418095, + 3219994, + 18319502, + 2312802, + 40546538, + 20326209, + 1915208, + 120065004, + 67185766, + 16945857, + 3235865, + 17587060, + 13219062, + 20686918, + 56667095, + 69940728, + 2104779, + 13367997 + ] + }, + "mode":"markers", + "x":[ + 41.674, + 72.601, + 56.018, + 55.803, + 68.69, + 77.601, + 60.223, + 62.681, + 65.742, + 59.461, + 76.93, + 79.36, + 68.015, + 69.978, + 72.244, + 75.19, + 69.292, + 70.693, + 61.271, + 59.32, + 55.727, + 71.197, + 60.838, + 66.458, + 68.768, + 75.788, + 70.379, + 69.249, + 74.26, + 67.298, + 67.662, + 69.718, + 55.599 + ], + "y":[ + 649.3413952, + 19035.57917, + 837.8101643, + 682.3031755, + 1655.784158, + 24757.60301, + 1164.406809, + 2383.140898, + 7235.653188, + 3745.640687, + 18051.52254, + 26824.89511, + 3431.593647, + 3726.063507, + 12104.27872, + 34932.91959, + 6890.806854, + 7277.912802, + 1785.402016, + 347, + 897.7403604, + 18616.70691, + 1971.829464, + 2279.324017, + 24841.61777, + 24769.8912, + 2153.739222, + 3340.542768, + 15215.6579, + 4616.896545, + 989.0231487, + 6017.654756, + 1879.496673 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3326498, + 7914969, + 10045622, + 4256013, + 8658506, + 4494013, + 10315702, + 5171393, + 5041039, + 57374179, + 80597764, + 10325429, + 10348684, + 259012, + 3557761, + 56840847, + 621621, + 15174244, + 4286357, + 38370697, + 9927680, + 22797027, + 9826397, + 5302888, + 1999210, + 39549438, + 8718867, + 6995447, + 58179144, + 57866349 + ] + }, + "mode":"markers", + "x":[ + 71.581, + 76.04, + 76.46, + 72.178, + 71.19, + 72.527, + 72.4, + 75.33, + 75.7, + 77.46, + 76.07, + 77.03, + 69.17, + 78.77, + 75.467, + 77.44, + 75.435, + 77.42, + 77.32, + 70.99, + 74.86, + 69.36, + 71.659, + 71.38, + 73.64, + 77.57, + 78.16, + 78.03, + 66.146, + 76.42 + ], + "y":[ + 2497.437901, + 27042.01868, + 25575.57069, + 2546.781445, + 6302.623438, + 8447.794873, + 14297.02122, + 26406.73985, + 20647.16499, + 24703.79615, + 26505.30317, + 17541.49634, + 10535.62855, + 25144.39201, + 17558.81555, + 22013.64486, + 7003.339037, + 26790.94961, + 33965.66115, + 7738.881247, + 16207.26663, + 6598.409903, + 9325.068238, + 9498.467723, + 14214.71681, + 18603.06452, + 23880.01683, + 31871.5303, + 5678.348271, + 22705.09254 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 26298373, + 8735988, + 4981671, + 1342614, + 8878303, + 5809236, + 12467171, + 3265124, + 6429417, + 454429, + 41672143, + 2409073, + 12772596, + 384156, + 59402198, + 387838, + 3668440, + 52088559, + 985739, + 1025384, + 16278738, + 6990574, + 1050938, + 25020539, + 1803195, + 1912974, + 4364501, + 12210395, + 10014249, + 8416215, + 2119465, + 1096202, + 25798239, + 13160731, + 1554253, + 8392818, + 93364244, + 622191, + 7290203, + 125911, + 8307920, + 4260884, + 6099799, + 39964159, + 28227588, + 962344, + 26605473, + 3747553, + 8523077, + 18252190, + 8381163, + 10704340 + ] + }, + "mode":"markers", + "x":[ + 67.744, + 40.647, + 53.919, + 62.745, + 50.26, + 44.736, + 54.314, + 49.396, + 51.724, + 57.939, + 45.548, + 56.433, + 52.044, + 51.604, + 63.674, + 47.545, + 49.991, + 48.091, + 61.366, + 52.644, + 57.501, + 48.576, + 43.266, + 59.285, + 59.685, + 40.802, + 68.755, + 52.214, + 49.42, + 48.388, + 58.333, + 69.745, + 65.393, + 44.284, + 61.999, + 47.391, + 47.472, + 73.615, + 23.599, + 62.742, + 58.196, + 38.333, + 39.658, + 61.888, + 53.556, + 58.474, + 50.44, + 58.061, + 70.001, + 48.825, + 46.1, + 60.377 + ], + "y":[ + 5023.216647, + 2627.845685, + 1191.207681, + 7954.111645, + 931.7527731, + 631.6998778, + 1793.163278, + 747.9055252, + 1058.0643, + 1246.90737, + 457.7191807, + 4016.239529, + 1648.073791, + 2377.156192, + 3794.755195, + 1132.055034, + 582.8585102, + 421.3534653, + 13522.15752, + 665.6244126, + 925.060154, + 794.3484384, + 745.5398706, + 1341.921721, + 977.4862725, + 636.6229191, + 9640.138501, + 1040.67619, + 563.2000145, + 739.014375, + 1361.369784, + 6058.253846, + 2948.047252, + 410.8968239, + 3804.537999, + 581.182725, + 1619.848217, + 6101.255823, + 737.0685949, + 1428.777814, + 1367.899369, + 1068.696278, + 926.9602964, + 7225.069258, + 1492.197043, + 3553.0224, + 825.682454, + 1034.298904, + 4332.720164, + 644.1707969, + 1210.884633, + 693.4207856 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 33958947, + 6893451, + 155975974, + 28523502, + 13572994, + 34202721, + 3173216, + 10723260, + 7351181, + 10748394, + 5274649, + 8486949, + 6326682, + 5077347, + 2378618, + 88111030, + 4017939, + 2484997, + 4483945, + 22430449, + 3585176, + 1183669, + 256894189, + 3149262, + 20265563 + ] + }, + "mode":"markers", + "x":[ + 71.868, + 59.957, + 67.057, + 77.95, + 74.126, + 68.421, + 75.713, + 74.414, + 68.457, + 69.613, + 66.798, + 63.373, + 55.089, + 66.399, + 71.766, + 71.455, + 65.843, + 72.462, + 68.225, + 66.458, + 73.911, + 69.862, + 76.09, + 72.752, + 71.15 + ], + "y":[ + 9308.41871, + 2961.699694, + 6950.283021, + 26342.88426, + 7596.125964, + 5444.648617, + 6160.416317, + 5592.843963, + 3044.214214, + 7103.702595, + 4444.2317, + 4439.45084, + 1456.309517, + 3081.694603, + 7404.923685, + 9472.384295, + 2170.151724, + 6618.74305, + 4196.411078, + 4446.380924, + 14641.58711, + 7370.990932, + 32003.93224, + 8137.004775, + 10733.92631 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17481977, + 3437674 + ] + }, + "mode":"markers", + "x":[ + 77.56, + 76.33 + ], + "y":[ + 23424.76683, + 18363.32494 + ] + } + ], + "name":"1992" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 22227415, + 598561, + 123315288, + 11782962, + 1230075000, + 6495918, + 959000000, + 199278000, + 63327987, + 20775703, + 5531387, + 125956499, + 4526235, + 21585105, + 46173816, + 1765345, + 3430388, + 20476091, + 2494803, + 43247867, + 23001113, + 2283635, + 135564834, + 75012988, + 21229759, + 3802309, + 18698655, + 15081016, + 21628605, + 60216677, + 76048996, + 2826046, + 15826497 + ] + }, + "mode":"markers", + "x":[ + 41.763, + 73.925, + 59.412, + 56.534, + 70.426, + 80, + 61.765, + 66.041, + 68.042, + 58.811, + 78.269, + 80.69, + 69.772, + 67.727, + 74.647, + 76.156, + 70.265, + 71.938, + 63.625, + 60.328, + 59.426, + 72.499, + 61.818, + 68.564, + 70.533, + 77.158, + 70.457, + 71.527, + 75.25, + 67.521, + 70.672, + 71.096, + 58.02 + ], + "y":[ + 635.341351, + 20292.01679, + 972.7700352, + 734.28517, + 2289.234136, + 28377.63219, + 1458.817442, + 3119.335603, + 8263.590301, + 3076.239795, + 20896.60924, + 28816.58499, + 3645.379572, + 1690.756814, + 15993.52796, + 40300.61996, + 8754.96385, + 10132.90964, + 1902.2521, + 415, + 1010.892138, + 19702.05581, + 2049.350521, + 2536.534925, + 20586.69019, + 33519.4766, + 2664.477257, + 4014.238972, + 20206.82098, + 5852.625497, + 1385.896769, + 7110.667619, + 2117.484526 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3428038, + 8069876, + 10199787, + 3607000, + 8066057, + 4444595, + 10300707, + 5283663, + 5134406, + 58623428, + 82011073, + 10502372, + 10244684, + 271192, + 3667233, + 57479469, + 692651, + 15604464, + 4405672, + 38654957, + 10156415, + 22562458, + 10336594, + 5383010, + 2011612, + 39855442, + 8897619, + 7193761, + 63047647, + 58808266 + ] + }, + "mode":"markers", + "x":[ + 72.95, + 77.51, + 77.53, + 73.244, + 70.32, + 73.68, + 74.01, + 76.11, + 77.13, + 78.64, + 77.34, + 77.869, + 71.04, + 78.95, + 76.122, + 78.82, + 75.445, + 78.03, + 78.32, + 72.75, + 75.97, + 69.72, + 72.232, + 72.71, + 75.13, + 78.77, + 79.39, + 79.37, + 68.835, + 77.218 + ], + "y":[ + 3193.054604, + 29095.92066, + 27561.19663, + 4766.355904, + 5970.38876, + 9875.604515, + 16048.51424, + 29804.34567, + 23723.9502, + 25889.78487, + 27788.88416, + 18747.69814, + 11712.7768, + 28061.09966, + 24521.94713, + 24675.02446, + 6465.613349, + 30246.13063, + 41283.16433, + 10159.58368, + 17641.03156, + 7346.547557, + 7914.320304, + 12126.23065, + 17161.10735, + 20445.29896, + 25266.59499, + 32135.32301, + 6601.429915, + 26074.53136 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 29072015, + 9875024, + 6066080, + 1536536, + 10352843, + 6121610, + 14195809, + 3696513, + 7562011, + 527982, + 47798986, + 2800947, + 14625967, + 417908, + 66134291, + 439971, + 4058319, + 59861301, + 1126189, + 1235767, + 18418288, + 8048834, + 1193708, + 28263827, + 1982823, + 2200725, + 4759670, + 14165114, + 10419991, + 9384984, + 2444741, + 1149818, + 28529501, + 16603334, + 1774766, + 9666252, + 106207839, + 684810, + 7212583, + 145608, + 9535314, + 4578212, + 6633514, + 42835005, + 32160729, + 1054486, + 30686889, + 4320890, + 9231669, + 21210254, + 9417789, + 11404948 + ] + }, + "mode":"markers", + "x":[ + 69.152, + 40.963, + 54.777, + 52.556, + 50.324, + 45.326, + 52.199, + 46.066, + 51.573, + 60.66, + 42.587, + 52.962, + 47.991, + 53.157, + 67.217, + 48.245, + 53.378, + 49.402, + 60.461, + 55.861, + 58.556, + 51.455, + 44.873, + 54.407, + 55.558, + 42.221, + 71.555, + 54.978, + 47.495, + 49.903, + 60.43, + 70.736, + 67.66, + 46.344, + 58.909, + 51.313, + 47.464, + 74.772, + 36.087, + 63.306, + 60.187, + 39.897, + 43.795, + 60.236, + 55.373, + 54.289, + 48.466, + 58.39, + 71.973, + 44.578, + 40.238, + 46.809 + ], + "y":[ + 4797.295051, + 2277.140884, + 1232.975292, + 8647.142313, + 946.2949618, + 463.1151478, + 1694.337469, + 740.5063317, + 1004.961353, + 1173.618235, + 312.188423, + 3484.164376, + 1786.265407, + 1895.016984, + 4173.181797, + 2814.480755, + 913.47079, + 515.8894013, + 14722.84188, + 653.7301704, + 1005.245812, + 869.4497668, + 796.6644681, + 1360.485021, + 1186.147994, + 609.1739508, + 9467.446056, + 986.2958956, + 692.2758103, + 790.2579846, + 1483.136136, + 7425.705295, + 2982.101858, + 472.3460771, + 3899.52426, + 580.3052092, + 1624.941275, + 6071.941411, + 589.9445051, + 1339.076036, + 1392.368347, + 574.6481576, + 930.5964284, + 7479.188244, + 1632.210764, + 3876.76846, + 789.1862231, + 982.2869243, + 4876.798614, + 816.559081, + 1071.353818, + 792.4499603 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 36203463, + 7693188, + 168546719, + 30305843, + 14599929, + 37657830, + 3518107, + 10983007, + 7992357, + 11911819, + 5783439, + 9803875, + 6913545, + 5867957, + 2531311, + 95895146, + 4609572, + 2734531, + 5154123, + 24748122, + 3759430, + 1138101, + 272911760, + 3262838, + 22374398 + ] + }, + "mode":"markers", + "x":[ + 73.275, + 62.05, + 69.388, + 78.61, + 75.816, + 70.313, + 77.26, + 76.151, + 69.957, + 72.312, + 69.535, + 66.322, + 56.671, + 67.659, + 72.262, + 73.67, + 68.426, + 73.738, + 69.4, + 68.386, + 74.917, + 69.465, + 76.81, + 74.223, + 72.146 + ], + "y":[ + 10967.28195, + 3326.143191, + 7957.980824, + 28954.92589, + 10118.05318, + 6117.361746, + 6677.045314, + 5431.990415, + 3614.101285, + 7429.455877, + 5154.825496, + 4684.313807, + 1341.726931, + 3160.454906, + 7121.924704, + 9767.29753, + 2253.023004, + 7113.692252, + 4247.400261, + 5838.347657, + 16999.4333, + 8792.573126, + 35767.43303, + 9230.240708, + 10165.49518 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 18565243, + 3676187 + ] + }, + "mode":"markers", + "x":[ + 78.83, + 77.55 + ], + "y":[ + 26997.93657, + 21050.41377 + ] + } + ], + "name":"1997" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 25268405, + 656397, + 135656790, + 12926707, + 1280400000, + 6762476, + 1034172547, + 211060000, + 66907826, + 24001816, + 6029529, + 127065841, + 5307470, + 22215365, + 47969150, + 2111561, + 3677780, + 22662365, + 2674234, + 45598081, + 25873917, + 2713462, + 153403524, + 82995088, + 24501530, + 4197776, + 19576783, + 17155814, + 22454239, + 62806748, + 80908147, + 3389578, + 18701257 + ] + }, + "mode":"markers", + "x":[ + 42.129, + 74.795, + 62.013, + 56.752, + 72.028, + 81.495, + 62.879, + 68.588, + 69.451, + 57.046, + 79.696, + 82, + 71.263, + 66.662, + 77.045, + 76.904, + 71.028, + 73.044, + 65.033, + 59.908, + 61.34, + 74.193, + 63.61, + 70.303, + 71.626, + 78.77, + 70.815, + 73.053, + 76.99, + 68.564, + 73.017, + 72.37, + 60.308 + ], + "y":[ + 726.7340548, + 23403.55927, + 1136.39043, + 896.2260153, + 3119.280896, + 30209.01516, + 1746.769454, + 2873.91287, + 9240.761975, + 4390.717312, + 21905.59514, + 28604.5919, + 3844.917194, + 1646.758151, + 19233.98818, + 35110.10566, + 9313.93883, + 10206.97794, + 2140.739323, + 611, + 1057.206311, + 19774.83687, + 2092.712441, + 2650.921068, + 19014.54118, + 36023.1054, + 3015.378833, + 4090.925331, + 23235.42329, + 5913.187529, + 1764.456677, + 4515.487575, + 2234.820827 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3508512, + 8148312, + 10311970, + 4165416, + 7661799, + 4481020, + 10256295, + 5374693, + 5193039, + 59925035, + 82350671, + 10603863, + 10083313, + 288030, + 3879155, + 57926999, + 720230, + 16122830, + 4535591, + 38625976, + 10433867, + 22404337, + 10111559, + 5410052, + 2011497, + 40152517, + 8954175, + 7361757, + 67308928, + 59912431 + ] + }, + "mode":"markers", + "x":[ + 75.651, + 78.98, + 78.32, + 74.09, + 72.14, + 74.876, + 75.51, + 77.18, + 78.37, + 79.59, + 78.67, + 78.256, + 72.59, + 80.5, + 77.783, + 80.24, + 73.981, + 78.53, + 79.05, + 74.67, + 77.29, + 71.322, + 73.213, + 73.8, + 76.66, + 79.78, + 80.04, + 80.62, + 70.845, + 78.471 + ], + "y":[ + 4604.211737, + 32417.60769, + 30485.88375, + 6018.975239, + 7696.777725, + 11628.38895, + 17596.21022, + 32166.50006, + 28204.59057, + 28926.03234, + 30035.80198, + 22514.2548, + 14843.93556, + 31163.20196, + 34077.04939, + 27968.09817, + 6557.194282, + 33724.75778, + 44683.97525, + 12002.23908, + 19970.90787, + 7885.360081, + 7236.075251, + 13638.77837, + 20660.01936, + 24835.47166, + 29341.63093, + 34480.95771, + 6508.085718, + 29478.99919 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 31287142, + 10866106, + 7026113, + 1630347, + 12251209, + 7021078, + 15929988, + 4048013, + 8835739, + 614382, + 55379852, + 3328795, + 16252726, + 447416, + 73312559, + 495627, + 4414865, + 67946797, + 1299304, + 1457766, + 20550751, + 8807818, + 1332459, + 31386842, + 2046772, + 2814651, + 5368585, + 16473477, + 11824495, + 10580176, + 2828858, + 1200206, + 31167783, + 18473780, + 1972153, + 11140655, + 119901274, + 743981, + 7852401, + 170372, + 10870037, + 5359092, + 7753310, + 44433622, + 37090298, + 1130269, + 34593779, + 4977378, + 9770575, + 24739869, + 10595811, + 11926563 + ] + }, + "mode":"markers", + "x":[ + 70.994, + 41.003, + 54.406, + 46.634, + 50.65, + 47.36, + 49.856, + 43.308, + 50.525, + 62.974, + 44.966, + 52.97, + 46.832, + 53.373, + 69.806, + 49.348, + 55.24, + 50.725, + 56.761, + 58.041, + 58.453, + 53.676, + 45.504, + 50.992, + 44.593, + 43.753, + 72.737, + 57.286, + 45.009, + 51.818, + 62.247, + 71.954, + 69.615, + 44.026, + 51.479, + 54.496, + 46.608, + 75.744, + 43.413, + 64.337, + 61.6, + 41.012, + 45.936, + 53.365, + 56.369, + 43.869, + 49.651, + 57.561, + 73.042, + 47.813, + 39.193, + 39.989 + ], + "y":[ + 5288.040382, + 2773.287312, + 1372.877931, + 11003.60508, + 1037.645221, + 446.4035126, + 1934.011449, + 738.6906068, + 1156.18186, + 1075.811558, + 241.1658765, + 3484.06197, + 1648.800823, + 1908.260867, + 4754.604414, + 7703.4959, + 765.3500015, + 530.0535319, + 12521.71392, + 660.5855997, + 1111.984578, + 945.5835837, + 575.7047176, + 1287.514732, + 1275.184575, + 531.4823679, + 9534.677467, + 894.6370822, + 665.4231186, + 951.4097518, + 1579.019543, + 9021.815894, + 3258.495584, + 633.6179466, + 4072.324751, + 601.0745012, + 1615.286395, + 6316.1652, + 785.6537648, + 1353.09239, + 1519.635262, + 699.489713, + 882.0818218, + 7710.946444, + 1993.398314, + 4128.116943, + 899.0742111, + 886.2205765, + 5722.895655, + 927.7210018, + 1071.613938, + 672.0386227 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 38331121, + 8445134, + 179914212, + 31902268, + 15497046, + 41008227, + 3834934, + 11226999, + 8650322, + 12921234, + 6353681, + 11178650, + 7607651, + 6677328, + 2664659, + 102479927, + 5146848, + 2990875, + 5884491, + 26769436, + 3859606, + 1101832, + 287675526, + 3363085, + 24287670 + ] + }, + "mode":"markers", + "x":[ + 74.34, + 63.883, + 71.006, + 79.77, + 77.86, + 71.682, + 78.123, + 77.158, + 70.847, + 74.173, + 70.734, + 68.978, + 58.137, + 68.565, + 72.047, + 74.902, + 70.836, + 74.712, + 70.755, + 69.906, + 77.778, + 68.976, + 77.31, + 75.307, + 72.766 + ], + "y":[ + 8797.640716, + 3413.26269, + 8131.212843, + 33328.96507, + 10778.78385, + 5755.259962, + 7723.447195, + 6340.646683, + 4563.808154, + 5773.044512, + 5351.568666, + 4858.347495, + 1270.364932, + 3099.72866, + 6994.774861, + 10742.44053, + 2474.548819, + 7356.031934, + 3783.674243, + 5909.020073, + 18855.60618, + 11460.60023, + 39097.09955, + 7727.002004, + 8605.047831 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 19546792, + 3908037 + ] + }, + "mode":"markers", + "x":[ + 80.37, + 79.11 + ], + "y":[ + 30687.75473, + 23189.80135 + ] + } + ], + "name":"2002" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 31889923, + 708573, + 150448339, + 14131858, + 1318683096, + 6980412, + 1110396331, + 223547000, + 69453570, + 27499638, + 6426679, + 127467972, + 6053193, + 23301725, + 49044790, + 2505559, + 3921278, + 24821286, + 2874127, + 47761980, + 28901790, + 3204897, + 169270617, + 91077287, + 27601038, + 4553009, + 20378239, + 19314747, + 23174294, + 65068149, + 85262356, + 4018332, + 22211743 + ] + }, + "mode":"markers", + "x":[ + 43.828, + 75.635, + 64.062, + 59.723, + 72.961, + 82.208, + 64.698, + 70.65, + 70.964, + 59.545, + 80.745, + 82.603, + 72.535, + 67.297, + 78.623, + 77.588, + 71.993, + 74.241, + 66.803, + 62.069, + 63.785, + 75.64, + 65.483, + 71.688, + 72.777, + 79.972, + 72.396, + 74.143, + 78.4, + 70.616, + 74.249, + 73.422, + 62.698 + ], + "y":[ + 974.5803384, + 29796.04834, + 1391.253792, + 1713.778686, + 4959.114854, + 39724.97867, + 2452.210407, + 3540.651564, + 11605.71449, + 4471.061906, + 25523.2771, + 31656.06806, + 4519.461171, + 1593.06548, + 23348.13973, + 47306.98978, + 10461.05868, + 12451.6558, + 3095.772271, + 944, + 1091.359778, + 22316.19287, + 2605.94758, + 3190.481016, + 21654.83194, + 47143.17964, + 3970.095407, + 4184.548089, + 28718.27684, + 7458.396327, + 2441.576404, + 3025.349798, + 2280.769906 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3600523, + 8199783, + 10392226, + 4552198, + 7322858, + 4493312, + 10228744, + 5468120, + 5238460, + 61083916, + 82400996, + 10706290, + 9956108, + 301931, + 4109086, + 58147733, + 684736, + 16570613, + 4627926, + 38518241, + 10642836, + 22276056, + 10150265, + 5447502, + 2009245, + 40448191, + 9031088, + 7554661, + 71158647, + 60776238 + ] + }, + "mode":"markers", + "x":[ + 76.423, + 79.829, + 79.441, + 74.852, + 73.005, + 75.748, + 76.486, + 78.332, + 79.313, + 80.657, + 79.406, + 79.483, + 73.338, + 81.757, + 78.885, + 80.546, + 74.543, + 79.762, + 80.196, + 75.563, + 78.098, + 72.476, + 74.002, + 74.663, + 77.926, + 80.941, + 80.884, + 81.701, + 71.777, + 79.425 + ], + "y":[ + 5937.029526, + 36126.4927, + 33692.60508, + 7446.298803, + 10680.79282, + 14619.22272, + 22833.30851, + 35278.41874, + 33207.0844, + 30470.0167, + 32170.37442, + 27538.41188, + 18008.94444, + 36180.78919, + 40675.99635, + 28569.7197, + 9253.896111, + 36797.93332, + 49357.19017, + 15389.92468, + 20509.64777, + 10808.47561, + 9786.534714, + 18678.31435, + 25768.25759, + 28821.0637, + 33859.74835, + 37506.41907, + 8458.276384, + 33203.26128 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 33333216, + 12420476, + 8078314, + 1639131, + 14326203, + 8390505, + 17696293, + 4369038, + 10238807, + 710960, + 64606759, + 3800610, + 18013409, + 496374, + 80264543, + 551201, + 4906585, + 76511887, + 1454867, + 1688359, + 22873338, + 9947814, + 1472041, + 35610177, + 2012649, + 3193942, + 6036914, + 19167654, + 13327079, + 12031795, + 3270065, + 1250882, + 33757175, + 19951656, + 2055080, + 12894865, + 135031164, + 798094, + 8860588, + 199579, + 12267493, + 6144562, + 9118773, + 43997828, + 42292929, + 1133066, + 38139640, + 5701579, + 10276158, + 29170398, + 11746035, + 12311143 + ] + }, + "mode":"markers", + "x":[ + 72.301, + 42.731, + 56.728, + 50.728, + 52.295, + 49.58, + 50.43, + 44.741, + 50.651, + 65.152, + 46.462, + 55.322, + 48.328, + 54.791, + 71.338, + 51.579, + 58.04, + 52.947, + 56.735, + 59.448, + 60.022, + 56.007, + 46.388, + 54.11, + 42.592, + 45.678, + 73.952, + 59.443, + 48.303, + 54.467, + 64.164, + 72.801, + 71.164, + 42.082, + 52.906, + 56.867, + 46.859, + 76.442, + 46.242, + 65.528, + 63.062, + 42.568, + 48.159, + 49.339, + 58.556, + 39.613, + 52.517, + 58.42, + 73.923, + 51.542, + 42.384, + 43.487 + ], + "y":[ + 6223.367465, + 4797.231267, + 1441.284873, + 12569.85177, + 1217.032994, + 430.0706916, + 2042.09524, + 706.016537, + 1704.063724, + 986.1478792, + 277.5518587, + 3632.557798, + 1544.750112, + 2082.481567, + 5581.180998, + 12154.08975, + 641.3695236, + 690.8055759, + 13206.48452, + 752.7497265, + 1327.60891, + 942.6542111, + 579.231743, + 1463.249282, + 1569.331442, + 414.5073415, + 12057.49928, + 1044.770126, + 759.3499101, + 1042.581557, + 1803.151496, + 10956.99112, + 3820.17523, + 823.6856205, + 4811.060429, + 619.6768924, + 2013.977305, + 7670.122558, + 863.0884639, + 1598.435089, + 1712.472136, + 862.5407561, + 926.1410683, + 9269.657808, + 2602.394995, + 4513.480643, + 1107.482182, + 882.9699438, + 7092.923025, + 1056.380121, + 1271.211593, + 469.7092981 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 40301927, + 9119152, + 190010647, + 33390141, + 16284741, + 44227550, + 4133884, + 11416987, + 9319622, + 13755680, + 6939688, + 12572928, + 8502814, + 7483763, + 2780132, + 108700891, + 5675356, + 3242173, + 6667147, + 28674757, + 3942491, + 1056608, + 301139947, + 3447496, + 26084662 + ] + }, + "mode":"markers", + "x":[ + 75.32, + 65.554, + 72.39, + 80.653, + 78.553, + 72.889, + 78.782, + 78.273, + 72.235, + 74.994, + 71.878, + 70.259, + 60.916, + 70.198, + 72.567, + 76.195, + 72.899, + 75.537, + 71.752, + 71.421, + 78.746, + 69.819, + 78.242, + 76.384, + 73.747 + ], + "y":[ + 12779.37964, + 3822.137084, + 9065.800825, + 36319.23501, + 13171.63885, + 7006.580419, + 9645.06142, + 8948.102923, + 6025.374752, + 6873.262326, + 5728.353514, + 5186.050003, + 1201.637154, + 3548.330846, + 7320.880262, + 11977.57496, + 2749.320965, + 9809.185636, + 4172.838464, + 7408.905561, + 19328.70901, + 18008.50924, + 42951.65309, + 10611.46299, + 11415.80569 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 20434176, + 4115771 + ] + }, + "mode":"markers", + "x":[ + 81.235, + 80.204 + ], + "y":[ + 34435.36744, + 25185.00911 + ] + } + ], + "name":"2007" + } + ], + "layout":{ + "xaxis":{ + "title":"Life Expectancy", + "range":[ + 30, + 85 + ] + }, + "yaxis":{ + "title":"GDP per Capita", + "type":"log" + }, + "hovermode":"closest", + "slider":{ + "visible":true, + "plotlycommand":"animate", + "args":[ + "slider.value", + { + "duration":400, + "ease":"cubic-in-out" + } + ], + "initialValue":"1952", + "values":[ + "1952", + "1957", + "1962", + "1967", + "1972", + "1977", + "1982", + "1987", + "1992", + "1997", + "2002", + "2007" + ] + }, + "updatemenus": [{ + "x": 0.1, + "y": 0, + "yanchor": "top", + "xanchor": "right", + "showactive": false, + "direction": "left", + "type": "buttons", + "pad": {"t": 87, "r": 10}, + "buttons": [{ + "method": "animate", + "args": [null, { + "fromcurrent": true, + "transition": { + "duration": 300, + "easing": "quadratic-in-out" + }, + "frame": { + "duration": 500, + "redraw": false + } + }], + "label": "Play" + }, { + "method": "animate", + "args": [ + [null], + { + "mode": "immediate", + "transition": { + "duration": 0 + }, + "frame": { + "duration": 0, + "redraw": false + } + } + ], + "label": "Pause" + }] + }], + "sliders": [{ + "active": 0, + "steps": [{ + "label": "1952", + "method": "animate", + "args": [["1952"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1957", + "method": "animate", + "args": [["1957"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1962", + "method": "animate", + "args": [["1962"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1967", + "method": "animate", + "args": [["1967"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1972", + "method": "animate", + "args": [["1972"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1977", + "method": "animate", + "args": [["1977"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1982", + "method": "animate", + "args": [["1982"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1987", + "method": "animate", + "args": [["1987"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1992", + "method": "animate", + "args": [["1992"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1997", + "method": "animate", + "args": [["1997"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "2002", + "method": "animate", + "args": [["2002"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "2007", + "method": "animate", + "args": [["2007"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }], + "x": 0.1, + "len": 0.9, + "xanchor": "left", + "y": 0, + "yanchor": "top", + "pad": {"t": 50, "b": 10}, + "currentvalue": { + "visible": true, + "prefix": "Year:", + "xanchor": "right", + "font": { + "size": 20, + "color": "#666" + } + }, + "transition": { + "duration": 300, + "easing": "cubic-in-out" + } + }] + }, + "config": { + "scrollzoom": true + } +} diff --git a/content/plotly_js/animations/animations/2016-09-15-animations-animating-many-frames-quickly.html b/content/plotly_js/animations/animations/2016-09-15-animations-animating-many-frames-quickly.html new file mode 100644 index 00000000000..cbc5bc9f0c9 --- /dev/null +++ b/content/plotly_js/animations/animations/2016-09-15-animations-animating-many-frames-quickly.html @@ -0,0 +1,72 @@ +--- +name: Animating Many Frames Quickly +plot_url: https://codepen.io/plotly/embed/NRNJpv/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: animations +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + By default and to ensure any properties that cannot be animated are applied to the plot, a full redraw occurs after each transition. This is generally desirable, but hurts performance when you wish to animate frames as quickly as possible. The example below performs a live simulation of the Lorenz attractor and greatly improves the performance by eliminating the redraw with `redraw: false`. +--- +var n = 100; +var x = [], y = [], z = []; +var dt = 0.015; + +for (i = 0; i < n; i++) { + x[i] = Math.random() * 2 - 1; + y[i] = Math.random() * 2 - 1; + z[i] = 30 + Math.random() * 10; +} + +Plotly.newPlot('myDiv', [{ + x: x, + y: z, + mode: 'markers' +}], { + xaxis: {range: [-40, 40]}, + yaxis: {range: [0, 60]} +}) + +function compute () { + var s = 10, b = 8/3, r = 28; + var dx, dy, dz; + var xh, yh, zh; + for (var i = 0; i < n; i++) { + dx = s * (y[i] - x[i]); + dy = x[i] * (r - z[i]) - y[i]; + dz = x[i] * y[i] - b * z[i]; + + xh = x[i] + dx * dt * 0.5; + yh = y[i] + dy * dt * 0.5; + zh = z[i] + dz * dt * 0.5; + + dx = s * (yh - xh); + dy = xh * (r - zh) - yh; + dz = xh * yh - b * zh; + + x[i] += dx * dt; + y[i] += dy * dt; + z[i] += dz * dt; + } +} + +function update () { + compute(); + + Plotly.animate('myDiv', { + data: [{x: x, y: z}] + }, { + transition: { + duration: 0 + }, + frame: { + duration: 0, + redraw: false + } + }); + + requestAnimationFrame(update); +} + +requestAnimationFrame(update); diff --git a/content/plotly_js/animations/animations/2016-09-15-animations-animating-sequences-of-frames.html b/content/plotly_js/animations/animations/2016-09-15-animations-animating-sequences-of-frames.html new file mode 100644 index 00000000000..84eb2840151 --- /dev/null +++ b/content/plotly_js/animations/animations/2016-09-15-animations-animating-sequences-of-frames.html @@ -0,0 +1,44 @@ +--- +name: Animating Sequences of Frames +plot_url: https://codepen.io/plotly/embed/qakvRz/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: animations +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + The above examples have used one frame at a time. Whether passing objects as frames or referring to frames by name, you may pass multiple frames together in an array. If `null` or `undefined` is passed as the second argument (i.e. `Plotly.animate('myDiv')`), then all defined frames will be animated in sequence. + + The third argument of `Plotly.animate` contains animation options. The transition duration defines the amount of time spent interpolating a trace from one state to another (currently limited to scatter traces), while the frame duration defines the total time spent in that state, including time spent transitioning. The example below has two frames, each with their own transition and frame timing. +--- +Plotly.newPlot('myDiv', [{ + x: [0, 0], + y: [-1, 1], +}], { + xaxis: {range: [-Math.PI, Math.PI]}, + yaxis: {range: [-1.3, 1.3]} +}).then(function () { + Plotly.addFrames('myDiv', [ + { + data: [{x: [1, -1], y: [0, 0]}], + name: 'frame1' + }, { + data: [{x: [0, 0], y: [-1, 1]}], + name: 'frame2' + } + ]); +}) + +function startAnimation() { + Plotly.animate('myDiv', ['frame1', 'frame2'], { + frame: [ + {duration: 1500}, + {duration: 500}, + ], + transition: [ + {duration: 800, easing: 'elastic-in'}, + {duration: 100, easing: 'cubic-in'}, + ], + mode: 'afterall' + }) +} diff --git a/content/plotly_js/animations/animations/2016-09-15-animations-animating-the-data.html b/content/plotly_js/animations/animations/2016-09-15-animations-animating-the-data.html new file mode 100644 index 00000000000..a65733ec553 --- /dev/null +++ b/content/plotly_js/animations/animations/2016-09-15-animations-animating-the-data.html @@ -0,0 +1,34 @@ +--- +name: Animating the Data +plot_url: https://codepen.io/plotly/embed/ZpWPpj/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: animations +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + The animate command lets you add dynamic behavior to Plotly graphs in a number of different ways. At its core, `Plotly.animate` transitions traces to a new state or sequence of states. When you tell Plotly to animate, it merges the properties you've supplied into the current state of the plot. Therefore to animate a trace, *you must first plot the trace you wish to animate*. + + The example below transitions to new y-values each time the button is pressed. Since the transition animation occurs within a frame, `frame.duration` must be set at least as long as `transition.duration`. Note that to prevent artifacts while animating, the default line simplification algorithm is explicitly disabled. Currently, only scatter traces may be smoothly transitioned from one state to the next. Other traces are compatible with frames and animations but will be updated instantaneously. +--- +Plotly.newPlot('myDiv', [{ + x: [1, 2, 3], + y: [0, 0.5, 1], + line: {simplify: false}, +}]); + +function randomize() { + Plotly.animate('myDiv', { + data: [{y: [Math.random(), Math.random(), Math.random()]}], + traces: [0], + layout: {} + }, { + transition: { + duration: 500, + easing: 'cubic-in-out' + }, + frame: { + duration: 500 + } + }) +} diff --git a/content/plotly_js/animations/animations/2016-09-15-animations-animating-the-layout.html b/content/plotly_js/animations/animations/2016-09-15-animations-animating-the-layout.html new file mode 100644 index 00000000000..19074620127 --- /dev/null +++ b/content/plotly_js/animations/animations/2016-09-15-animations-animating-the-layout.html @@ -0,0 +1,42 @@ +--- +name: Animating the Layout +plot_url: https://codepen.io/plotly/embed/GjkZNk/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: animations +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + The example below transitions to a new axis range each time the button is pressed. A present limitation of the animate API is that only one of either data or layout may be smoothly transitioned at a time. If both are provided, the data will be updated instantaneously after the layout is transitioned. +--- +var n = 500; +var x = [], y = []; +for (var i = 0; i < n; i++) { + x[i] = i / (n - 1); + y[i] = x[i] + 0.2 * (Math.random() - 0.5); +} + +Plotly.newPlot('myDiv', [{ + x: x, + y: y, + mode: 'markers' +}], { + xaxis: {range: [0, 1]}, + yaxis: {range: [0, 1]} +}); + +function zoom() { + var min = 0.45 * Math.random(); + var max = 0.55 + 0.45 * Math.random(); + Plotly.animate('myDiv', { + layout: { + xaxis: {range: [min, max]}, + yaxis: {range: [min, max]} + } + }, { + transition: { + duration: 500, + easing: 'cubic-in-out' + } + }) +} diff --git a/content/plotly_js/animations/animations/2016-09-15-animations-defining-named-frames.html b/content/plotly_js/animations/animations/2016-09-15-animations-defining-named-frames.html new file mode 100644 index 00000000000..029360171f4 --- /dev/null +++ b/content/plotly_js/animations/animations/2016-09-15-animations-defining-named-frames.html @@ -0,0 +1,55 @@ +--- +name: Defining Named Frames with Plotly.addFrames +plot_url: https://codepen.io/plotly/embed/wzGOgd/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: animations +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + The above examples pass the data itself through the Plotly.animate command. You may instead predefine named frames through the Plotly.addFrames command. Then, instead of passing frames through `Plotly.animate`, you may simply refer to a frame by name. + + Similar to traces, frames are assigned a serial index as they are added. Frames may be updated by passing an array of frame indices. For example, the command to update the frame with index 2 would be `Plotly.addFrames('myDiv', [{...}], [2])`. Frames can be similarly deleted with, for example, `Plotly.deleteFrames('myDiv', [2])`. + + The following example uses frames together with an `updatemenu` for interactive transitions. +--- +var frames = [ + {name: 'sine', data: [{x: [], y: []}]}, + {name: 'cosine', data: [{x: [], y: []}]}, + {name: 'circle', data: [{x: [], y: []}]}, +]; + +var n = 100; +for (var i = 0; i < n; i++) { + var t = i / (n - 1) * 2 - 1; + + // A sine wave: + frames[0].data[0].x[i] = t * Math.PI; + frames[0].data[0].y[i] = Math.sin(t * Math.PI); + + // A cosine wave: + frames[1].data[0].x[i] = t * Math.PI; + frames[1].data[0].y[i] = Math.cos(t * Math.PI); + + // A circle: + frames[2].data[0].x[i] = Math.sin(t * Math.PI); + frames[2].data[0].y[i] = Math.cos(t * Math.PI); +} + +Plotly.newPlot('myDiv', [{ + x: frames[0].data[0].x, + y: frames[0].data[0].y, + line: {simplify: false}, +}], { + xaxis: {range: [-Math.PI, Math.PI]}, + yaxis: {range: [-1.2, 1.2]}, + updatemenus: [{ + buttons: [ + {method: 'animate', args: [['sine']], label: 'sine'}, + {method: 'animate', args: [['cosine']], label: 'cosine'}, + {method: 'animate', args: [['circle']], label: 'circle'} + ] + }] +}).then(function() { + Plotly.addFrames('myDiv', frames); +}); diff --git a/content/plotly_js/animations/animations/2016-09-15-animations-frame-groups-and-animation-modes.html b/content/plotly_js/animations/animations/2016-09-15-animations-frame-groups-and-animation-modes.html new file mode 100644 index 00000000000..2297f29b98d --- /dev/null +++ b/content/plotly_js/animations/animations/2016-09-15-animations-frame-groups-and-animation-modes.html @@ -0,0 +1,94 @@ +--- +name: Frame Groups and Animation Modes +plot_url: https://codepen.io/plotly/embed/rrZRmA/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: animations +order: 7 +sitemap: false +arrangement: horizontal +markdown_content: | + The following example combines many of these concepts to draw a glass filling with water. + + The first row of buttons animates a different set of predefined frames by changing the second argument of `Plotly.animate`. Passing `null` or `undefined` animates all defined frames in sequence, while passing an array of strings (here, the frames in reverse) animates a specific sequence of frames. By passing a plain string (here, `lower` or `upper`), it filters the animated frames to those with a `group` property equal to that name. The stop button is accomplished by interrupting the current animation with an empty list of frames, therefore simply stopping the animation at the end of the current frame. + + The second row of buttons animates all frames with different animation modes. The `mode` option defines whether an animation either interrupts or follows the current animation. `immediate` mode discards all queued frames and begins a new sequence immediately. The `next` mode is very similar but doesn't begin the new animation until the *end* of the current frame. Finally, `afterall` queues the new frames so that the new animation begins only after all previous animations have completed. +--- +var i, j, t, x, y, name; +var frames = []; +var nFrames = 10; +var n = 80; +var reverseFrames = []; + +for (i = 0; i < nFrames; i++) { + var fill = 0.1 + 0.9 * i / (nFrames - 1); + x = [-1]; + y = [0]; + + // A wave across the top: + for (j = 0; j < n; j++) { + t = j / (n - 1); + x.push(-1 - fill + (2 + 2 * fill) * t); + y.push(fill + 0.05 * Math.sin(t * Math.PI * 2 * i)); + } + + // Close the loop to draw the water: + x.push(1, -1); + y.push(0, 0); + + // Choose a name: + name = 'frame' + i; + + // Store it in an array so we can animate in reverse order: + reverseFrames.unshift(name); + + // Create the frame: + frames.push({ + name: name, + data: [{x: x, y: y}], + group: i < nFrames / 2 ? 'lower' : 'upper' + }) +} + +Plotly.newPlot('myDiv', [{ + // Set up the initial water: + x: frames[0].data[0].x, + y: frames[0].data[0].y, + mode: 'lines', + fill: 'toself', + showlegend: false, + line: {simplify: false} +}, { + // Draw a glass: + x: [-1, 1, 2.1, -2.1, -1], + y: [0, 0, 1.1, 1.1, 0], + mode: 'lines', + fill: 'toself', + showlegend: false, + fillcolor: 'rgba(0, 0, 0, 0.1)', + line: {color: 'rgba(100,100,100,0.2)'} +}], { + xaxis: {range: [-3, 3]}, + yaxis: {range: [-0.1, 1.5]} +}).then(function() { + // Add the frames so we can animate them: + Plotly.addFrames('myDiv', frames); +}); + +// Stop the animation by animating to an empty set of frames: +function stopAnimation () { + Plotly.animate('myDiv', [], {mode: 'next'}); +} + +function startAnimation (groupOrFrames, mode) { + Plotly.animate('myDiv', groupOrFrames, { + transition: { + duration: 500, + easing: 'linear' + }, + frame: { + duration: 500, + redraw: false, + }, + mode: mode + }); +} diff --git a/content/plotly_js/animations/animations/2016-09-15-animations-object-constancy.html b/content/plotly_js/animations/animations/2016-09-15-animations-object-constancy.html new file mode 100644 index 00000000000..68aeb0c8797 --- /dev/null +++ b/content/plotly_js/animations/animations/2016-09-15-animations-object-constancy.html @@ -0,0 +1,41 @@ +--- +name: Object Constancy +plot_url: https://codepen.io/plotly/embed/LRNaWw/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: animations +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + For scatter traces, you may wish to retain a marker's identity as it is updated. If you include an array of string ids with the trace, the marker identity will be retained. By shuffling the ids, the example below shuffles the markers each time the button is pressed. +--- +function shuffleInPlace(array) { + for (var i = array.length - 1; i > 0; i--) { + var j = Math.floor(Math.random() * (i + 1)); + var temp = array[i]; + array[i] = array[j]; + array[j] = temp; + } +} + +var ids = ['1', '2', '3', '4', '5', '6']; + +Plotly.newPlot('myDiv', [{ + x: [1, 0.5, -0.5, -1, -0.5, 0.5], + y: [0, 0.866, 0.866, 0, -0.866, -0.866], + marker:{size:14, + color:['#631357', '#880E4F', '#AD1457', + '#F06292', '#F48FB1']}, + ids: ids, + mode: 'markers' +}], { + xaxis: {range: [-3, 3]}, + yaxis: {range: [-2, 2]} +}); + +function animateShuffle() { + shuffleInPlace(ids); + Plotly.animate('myDiv', [{ + data: [{ids: ids}] + }]); +} diff --git a/content/plotly_js/animations/animations/2016-11-14-animations-gapminder.html b/content/plotly_js/animations/animations/2016-11-14-animations-gapminder.html new file mode 100644 index 00000000000..9248dd7b7bf --- /dev/null +++ b/content/plotly_js/animations/animations/2016-11-14-animations-gapminder.html @@ -0,0 +1,10 @@ +--- +name: Animating with a Slider +language: plotly_js +suite: animations +order: 8 +sitemap: false +arrangement: horizontal +markdown_content: | + See [Adding Sliders to Animations](https://plotly.com/javascript/gapminder-example/). +--- diff --git a/content/plotly_js/animations/animations/gapminder-with-frames.json b/content/plotly_js/animations/animations/gapminder-with-frames.json new file mode 100644 index 00000000000..843dc88bad5 --- /dev/null +++ b/content/plotly_js/animations/animations/gapminder-with-frames.json @@ -0,0 +1,8705 @@ +{ + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8425333, + 120447, + 46886859, + 4693836, + 556263527.999989, + 2125900, + 372000000, + 82052000, + 17272000, + 5441766, + 1620914, + 86459025, + 607914, + 8865488, + 20947571, + 160000, + 1439529, + 6748378, + 800663, + 20092996, + 9182536, + 507833, + 41346560, + 22438691, + 4005677, + 1127000, + 7982342, + 3661549, + 8550362, + 21289402, + 26246839, + 1030585, + 4963829 + ] + }, + "mode":"markers", + "x":[ + 28.801, + 50.939, + 37.484, + 39.417, + 44, + 60.96, + 37.373, + 37.468, + 44.869, + 45.32, + 65.39, + 63.03, + 43.158, + 50.056, + 47.453, + 55.565, + 55.928, + 48.463, + 42.244, + 36.319, + 36.157, + 37.578, + 43.436, + 47.752, + 39.875, + 60.396, + 57.593, + 45.883, + 58.5, + 50.848, + 40.412, + 43.16, + 32.548 + ], + "y":[ + 779.4453145, + 9867.084765, + 684.2441716, + 368.4692856, + 400.448610699994, + 3054.421209, + 546.5657493, + 749.6816546, + 3035.326002, + 4129.766056, + 4086.522128, + 3216.956347, + 1546.907807, + 1088.277758, + 1030.592226, + 108382.3529, + 4834.804067, + 1831.132894, + 786.5668575, + 331, + 545.8657229, + 1828.230307, + 684.5971438, + 1272.880995, + 6459.554823, + 2315.138227, + 1083.53203, + 1643.485354, + 1206.947913, + 757.7974177, + 605.0664917, + 1515.592329, + 781.7175761 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1282697, + 6927772, + 8730405, + 2791000, + 7274900, + 3882229, + 9125183, + 4334000, + 4090500, + 42459667, + 69145952, + 7733250, + 9504000, + 147962, + 2952156, + 47666000, + 413834, + 10381988, + 3327728, + 25730551, + 8526050, + 16630000, + 6860147, + 3558137, + 1489518, + 28549870, + 7124673, + 4815000, + 22235677, + 50430000 + ] + }, + "mode":"markers", + "x":[ + 55.23, + 66.8, + 68, + 53.82, + 59.6, + 61.21, + 66.87, + 70.78, + 66.55, + 67.41, + 67.5, + 65.86, + 64.03, + 72.49, + 66.91, + 65.94, + 59.164, + 72.13, + 72.67, + 61.31, + 59.82, + 61.05, + 57.996, + 64.36, + 65.57, + 64.94, + 71.86, + 69.62, + 43.585, + 69.18 + ], + "y":[ + 1601.056136, + 6137.076492, + 8343.105127, + 973.5331948, + 2444.286648, + 3119.23652, + 6876.14025, + 9692.385245, + 6424.519071, + 7029.809327, + 7144.114393, + 3530.690067, + 5263.673816, + 7267.688428, + 5210.280328, + 4931.404155, + 2647.585601, + 8941.571858, + 10095.42172, + 4029.329699, + 3068.319867, + 3144.613186, + 3581.459448, + 5074.659104, + 4215.041741, + 3834.034742, + 8527.844662, + 14734.23275, + 1969.10098, + 9979.508487 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9279525, + 4232095, + 1738315, + 442308, + 4469979, + 2445618, + 5009067, + 1291695, + 2682462, + 153936, + 14100005, + 854885, + 2977019, + 63149, + 22223309, + 216964, + 1438760, + 20860941, + 420702, + 284320, + 5581001, + 2664249, + 580653, + 6464046, + 748747, + 863308, + 1019729, + 4762912, + 2917802, + 3838168, + 1022556, + 516556, + 9939217, + 6446316, + 485831, + 3379468, + 33119096, + 257700, + 2534927, + 60011, + 2755589, + 2143249, + 2526994, + 14264935, + 8504667, + 290243, + 8322925, + 1219113, + 3647735, + 5824797, + 2672000, + 3080907 + ] + }, + "mode":"markers", + "x":[ + 43.077, + 30.015, + 38.223, + 47.622, + 31.975, + 39.031, + 38.523, + 35.463, + 38.092, + 40.715, + 39.143, + 42.111, + 40.477, + 34.812, + 41.893, + 34.482, + 35.928, + 34.078, + 37.003, + 30, + 43.149, + 33.609, + 32.5, + 42.27, + 42.138, + 38.48, + 42.723, + 36.681, + 36.256, + 33.685, + 40.543, + 50.986, + 42.873, + 31.286, + 41.725, + 37.444, + 36.324, + 52.724, + 40, + 46.471, + 37.278, + 30.331, + 32.978, + 45.009, + 38.635, + 41.407, + 41.215, + 38.596, + 44.6, + 39.978, + 42.038, + 48.451 + ], + "y":[ + 2449.008185, + 3520.610273, + 1062.7522, + 851.2411407, + 543.2552413, + 339.2964587, + 1172.667655, + 1071.310713, + 1178.665927, + 1102.990936, + 780.5423257, + 2125.621418, + 1388.594732, + 2669.529475, + 1418.822445, + 375.6431231, + 328.9405571, + 362.1462796, + 4293.476475, + 485.2306591, + 911.2989371, + 510.1964923, + 299.850319, + 853.540919, + 298.8462121, + 575.5729961, + 2387.54806, + 1443.011715, + 369.1650802, + 452.3369807, + 743.1159097, + 1967.955707, + 1688.20357, + 468.5260381, + 2423.780443, + 761.879376, + 1077.281856, + 2718.885295, + 493.3238752, + 879.5835855, + 1450.356983, + 879.7877358, + 1135.749842, + 4725.295531, + 1615.991129, + 1148.376626, + 716.6500721, + 859.8086567, + 1468.475631, + 734.753484, + 1147.388831, + 406.8841148 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17876956, + 2883315, + 56602560, + 14785584, + 6377619, + 12350771, + 926317, + 6007797, + 2491346, + 3548753, + 2042865, + 3146381, + 3201488, + 1517453, + 1426095, + 30144317, + 1165790, + 940080, + 1555876, + 8025700, + 2227000, + 662850, + 157553000, + 2252965, + 5439568 + ] + }, + "mode":"markers", + "x":[ + 62.485, + 40.414, + 50.917, + 68.75, + 54.745, + 50.643, + 57.206, + 59.421, + 45.928, + 48.357, + 45.262, + 42.023, + 37.579, + 41.912, + 58.53, + 50.789, + 42.314, + 55.191, + 62.649, + 43.902, + 64.28, + 59.1, + 68.44, + 66.071, + 55.088 + ], + "y":[ + 5911.315053, + 2677.326347, + 2108.944355, + 11367.16112, + 3939.978789, + 2144.115096, + 2627.009471, + 5586.53878, + 1397.717137, + 3522.110717, + 3048.3029, + 2428.237769, + 1840.366939, + 2194.926204, + 2898.530881, + 3478.125529, + 3112.363948, + 2480.380334, + 1952.308701, + 3758.523437, + 3081.959785, + 3023.271928, + 13990.48208, + 5716.766744, + 7689.799761 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8691212, + 1994794 + ] + }, + "mode":"markers", + "x":[ + 69.12, + 69.39 + ], + "y":[ + 10039.59564, + 10556.57566 + ] + } + ], + "frames":[ + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8425333, + 120447, + 46886859, + 4693836, + 556263527.999989, + 2125900, + 372000000, + 82052000, + 17272000, + 5441766, + 1620914, + 86459025, + 607914, + 8865488, + 20947571, + 160000, + 1439529, + 6748378, + 800663, + 20092996, + 9182536, + 507833, + 41346560, + 22438691, + 4005677, + 1127000, + 7982342, + 3661549, + 8550362, + 21289402, + 26246839, + 1030585, + 4963829 + ] + }, + "mode":"markers", + "x":[ + 28.801, + 50.939, + 37.484, + 39.417, + 44, + 60.96, + 37.373, + 37.468, + 44.869, + 45.32, + 65.39, + 63.03, + 43.158, + 50.056, + 47.453, + 55.565, + 55.928, + 48.463, + 42.244, + 36.319, + 36.157, + 37.578, + 43.436, + 47.752, + 39.875, + 60.396, + 57.593, + 45.883, + 58.5, + 50.848, + 40.412, + 43.16, + 32.548 + ], + "y":[ + 779.4453145, + 9867.084765, + 684.2441716, + 368.4692856, + 400.448610699994, + 3054.421209, + 546.5657493, + 749.6816546, + 3035.326002, + 4129.766056, + 4086.522128, + 3216.956347, + 1546.907807, + 1088.277758, + 1030.592226, + 108382.3529, + 4834.804067, + 1831.132894, + 786.5668575, + 331, + 545.8657229, + 1828.230307, + 684.5971438, + 1272.880995, + 6459.554823, + 2315.138227, + 1083.53203, + 1643.485354, + 1206.947913, + 757.7974177, + 605.0664917, + 1515.592329, + 781.7175761 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1282697, + 6927772, + 8730405, + 2791000, + 7274900, + 3882229, + 9125183, + 4334000, + 4090500, + 42459667, + 69145952, + 7733250, + 9504000, + 147962, + 2952156, + 47666000, + 413834, + 10381988, + 3327728, + 25730551, + 8526050, + 16630000, + 6860147, + 3558137, + 1489518, + 28549870, + 7124673, + 4815000, + 22235677, + 50430000 + ] + }, + "mode":"markers", + "x":[ + 55.23, + 66.8, + 68, + 53.82, + 59.6, + 61.21, + 66.87, + 70.78, + 66.55, + 67.41, + 67.5, + 65.86, + 64.03, + 72.49, + 66.91, + 65.94, + 59.164, + 72.13, + 72.67, + 61.31, + 59.82, + 61.05, + 57.996, + 64.36, + 65.57, + 64.94, + 71.86, + 69.62, + 43.585, + 69.18 + ], + "y":[ + 1601.056136, + 6137.076492, + 8343.105127, + 973.5331948, + 2444.286648, + 3119.23652, + 6876.14025, + 9692.385245, + 6424.519071, + 7029.809327, + 7144.114393, + 3530.690067, + 5263.673816, + 7267.688428, + 5210.280328, + 4931.404155, + 2647.585601, + 8941.571858, + 10095.42172, + 4029.329699, + 3068.319867, + 3144.613186, + 3581.459448, + 5074.659104, + 4215.041741, + 3834.034742, + 8527.844662, + 14734.23275, + 1969.10098, + 9979.508487 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9279525, + 4232095, + 1738315, + 442308, + 4469979, + 2445618, + 5009067, + 1291695, + 2682462, + 153936, + 14100005, + 854885, + 2977019, + 63149, + 22223309, + 216964, + 1438760, + 20860941, + 420702, + 284320, + 5581001, + 2664249, + 580653, + 6464046, + 748747, + 863308, + 1019729, + 4762912, + 2917802, + 3838168, + 1022556, + 516556, + 9939217, + 6446316, + 485831, + 3379468, + 33119096, + 257700, + 2534927, + 60011, + 2755589, + 2143249, + 2526994, + 14264935, + 8504667, + 290243, + 8322925, + 1219113, + 3647735, + 5824797, + 2672000, + 3080907 + ] + }, + "mode":"markers", + "x":[ + 43.077, + 30.015, + 38.223, + 47.622, + 31.975, + 39.031, + 38.523, + 35.463, + 38.092, + 40.715, + 39.143, + 42.111, + 40.477, + 34.812, + 41.893, + 34.482, + 35.928, + 34.078, + 37.003, + 30, + 43.149, + 33.609, + 32.5, + 42.27, + 42.138, + 38.48, + 42.723, + 36.681, + 36.256, + 33.685, + 40.543, + 50.986, + 42.873, + 31.286, + 41.725, + 37.444, + 36.324, + 52.724, + 40, + 46.471, + 37.278, + 30.331, + 32.978, + 45.009, + 38.635, + 41.407, + 41.215, + 38.596, + 44.6, + 39.978, + 42.038, + 48.451 + ], + "y":[ + 2449.008185, + 3520.610273, + 1062.7522, + 851.2411407, + 543.2552413, + 339.2964587, + 1172.667655, + 1071.310713, + 1178.665927, + 1102.990936, + 780.5423257, + 2125.621418, + 1388.594732, + 2669.529475, + 1418.822445, + 375.6431231, + 328.9405571, + 362.1462796, + 4293.476475, + 485.2306591, + 911.2989371, + 510.1964923, + 299.850319, + 853.540919, + 298.8462121, + 575.5729961, + 2387.54806, + 1443.011715, + 369.1650802, + 452.3369807, + 743.1159097, + 1967.955707, + 1688.20357, + 468.5260381, + 2423.780443, + 761.879376, + 1077.281856, + 2718.885295, + 493.3238752, + 879.5835855, + 1450.356983, + 879.7877358, + 1135.749842, + 4725.295531, + 1615.991129, + 1148.376626, + 716.6500721, + 859.8086567, + 1468.475631, + 734.753484, + 1147.388831, + 406.8841148 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17876956, + 2883315, + 56602560, + 14785584, + 6377619, + 12350771, + 926317, + 6007797, + 2491346, + 3548753, + 2042865, + 3146381, + 3201488, + 1517453, + 1426095, + 30144317, + 1165790, + 940080, + 1555876, + 8025700, + 2227000, + 662850, + 157553000, + 2252965, + 5439568 + ] + }, + "mode":"markers", + "x":[ + 62.485, + 40.414, + 50.917, + 68.75, + 54.745, + 50.643, + 57.206, + 59.421, + 45.928, + 48.357, + 45.262, + 42.023, + 37.579, + 41.912, + 58.53, + 50.789, + 42.314, + 55.191, + 62.649, + 43.902, + 64.28, + 59.1, + 68.44, + 66.071, + 55.088 + ], + "y":[ + 5911.315053, + 2677.326347, + 2108.944355, + 11367.16112, + 3939.978789, + 2144.115096, + 2627.009471, + 5586.53878, + 1397.717137, + 3522.110717, + 3048.3029, + 2428.237769, + 1840.366939, + 2194.926204, + 2898.530881, + 3478.125529, + 3112.363948, + 2480.380334, + 1952.308701, + 3758.523437, + 3081.959785, + 3023.271928, + 13990.48208, + 5716.766744, + 7689.799761 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 8691212, + 1994794 + ] + }, + "mode":"markers", + "x":[ + 69.12, + 69.39 + ], + "y":[ + 10039.59564, + 10556.57566 + ] + } + ], + "name":"1952" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9240934, + 138655, + 51365468, + 5322536, + 637408000, + 2736300, + 409000000, + 90124000, + 19792000, + 6248643, + 1944401, + 91563009, + 746559, + 9411381, + 22611552, + 212846, + 1647412, + 7739235, + 882134, + 21731844, + 9682338, + 561977, + 46679944, + 26072194, + 4419650, + 1445929, + 9128546, + 4149908, + 10164215, + 25041917, + 28998543, + 1070439, + 5498090 + ] + }, + "mode":"markers", + "x":[ + 30.332, + 53.832, + 39.348, + 41.366, + 50.54896, + 64.75, + 40.249, + 39.918, + 47.181, + 48.437, + 67.84, + 65.5, + 45.669, + 54.081, + 52.681, + 58.033, + 59.489, + 52.102, + 45.248, + 41.905, + 37.686, + 40.08, + 45.557, + 51.334, + 42.868, + 63.179, + 61.456, + 48.284, + 62.4, + 53.63, + 42.887, + 45.671, + 33.97 + ], + "y":[ + 820.8530296, + 11635.79945, + 661.6374577, + 434.0383364, + 575.9870009, + 3629.076457, + 590.061996, + 858.9002707, + 3290.257643, + 6229.333562, + 5385.278451, + 4317.694365, + 1886.080591, + 1571.134655, + 1487.593537, + 113523.1329, + 6089.786934, + 1810.066992, + 912.6626085, + 350, + 597.9363558, + 2242.746551, + 747.0835292, + 1547.944844, + 8157.591248, + 2843.104409, + 1072.546602, + 2117.234893, + 1507.86129, + 793.5774148, + 676.2854478, + 1827.067742, + 804.8304547 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1476505, + 6965860, + 8989111, + 3076000, + 7651254, + 3991242, + 9513758, + 4487831, + 4324000, + 44310863, + 71019069, + 8096218, + 9839000, + 165110, + 2878220, + 49182000, + 442829, + 11026383, + 3491938, + 28235346, + 8817650, + 17829327, + 7271135, + 3844277, + 1533070, + 29841614, + 7363802, + 5126000, + 25670939, + 51430000 + ] + }, + "mode":"markers", + "x":[ + 59.28, + 67.48, + 69.24, + 58.45, + 66.61, + 64.77, + 69.03, + 71.81, + 67.49, + 68.93, + 69.1, + 67.86, + 66.41, + 73.47, + 68.9, + 67.81, + 61.448, + 72.99, + 73.44, + 65.77, + 61.51, + 64.1, + 61.685, + 67.45, + 67.85, + 66.66, + 72.49, + 70.56, + 48.079, + 70.42 + ], + "y":[ + 1942.284244, + 8842.59803, + 9714.960623, + 1353.989176, + 3008.670727, + 4338.231617, + 8256.343918, + 11099.65935, + 7545.415386, + 8662.834898, + 10187.82665, + 4916.299889, + 6040.180011, + 9244.001412, + 5599.077872, + 6248.656232, + 3682.259903, + 11276.19344, + 11653.97304, + 4734.253019, + 3774.571743, + 3943.370225, + 4981.090891, + 6093.26298, + 5862.276629, + 4564.80241, + 9911.878226, + 17909.48973, + 2218.754257, + 11283.17795 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 10270856, + 4561361, + 1925173, + 474639, + 4713416, + 2667518, + 5359923, + 1392284, + 2894855, + 170928, + 15577932, + 940458, + 3300000, + 71851, + 25009741, + 232922, + 1542611, + 22815614, + 434904, + 323150, + 6391288, + 2876726, + 601095, + 7454779, + 813338, + 975950, + 1201578, + 5181679, + 3221238, + 4241884, + 1076852, + 609816, + 11406350, + 7038035, + 548080, + 3692184, + 37173340, + 308700, + 2822082, + 61325, + 3054547, + 2295678, + 2780415, + 16151549, + 9753392, + 326741, + 9452826, + 1357445, + 3950849, + 6675501, + 3016000, + 3646340 + ] + }, + "mode":"markers", + "x":[ + 45.685, + 31.999, + 40.358, + 49.618, + 34.906, + 40.533, + 40.428, + 37.464, + 39.881, + 42.46, + 40.652, + 45.053, + 42.469, + 37.328, + 44.444, + 35.983, + 38.047, + 36.667, + 38.999, + 32.065, + 44.779, + 34.558, + 33.489, + 44.686, + 45.047, + 39.486, + 45.289, + 38.865, + 37.207, + 35.307, + 42.338, + 58.089, + 45.423, + 33.779, + 45.226, + 38.598, + 37.802, + 55.09, + 41.5, + 48.945, + 39.329, + 31.57, + 34.977, + 47.985, + 39.624, + 43.424, + 42.974, + 41.208, + 47.1, + 42.571, + 44.077, + 50.469 + ], + "y":[ + 3013.976023, + 3827.940465, + 959.6010805, + 918.2325349, + 617.1834648, + 379.5646281, + 1313.048099, + 1190.844328, + 1308.495577, + 1211.148548, + 905.8602303, + 2315.056572, + 1500.895925, + 2864.969076, + 1458.915272, + 426.0964081, + 344.1618859, + 378.9041632, + 4976.198099, + 520.9267111, + 1043.561537, + 576.2670245, + 431.7904566, + 944.4383152, + 335.9971151, + 620.9699901, + 3448.284395, + 1589.20275, + 416.3698064, + 490.3821867, + 846.1202613, + 2034.037981, + 1642.002314, + 495.5868333, + 2621.448058, + 835.5234025, + 1100.592563, + 2769.451844, + 540.2893983, + 860.7369026, + 1567.653006, + 1004.484437, + 1258.147413, + 5487.104219, + 1770.337074, + 1244.708364, + 698.5356073, + 925.9083202, + 1395.232468, + 774.3710692, + 1311.956766, + 518.7642681 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 19610538, + 3211738, + 65551171, + 17010154, + 7048426, + 14485993, + 1112300, + 6640752, + 2923186, + 4058385, + 2355805, + 3640876, + 3507701, + 1770390, + 1535090, + 35015548, + 1358828, + 1063506, + 1770902, + 9146100, + 2260000, + 764900, + 171984000, + 2424959, + 6702668 + ] + }, + "mode":"markers", + "x":[ + 64.399, + 41.89, + 53.285, + 69.96, + 56.074, + 55.118, + 60.026, + 62.325, + 49.828, + 51.356, + 48.57, + 44.142, + 40.696, + 44.665, + 62.61, + 55.19, + 45.432, + 59.201, + 63.196, + 46.263, + 68.54, + 61.8, + 69.49, + 67.044, + 57.907 + ], + "y":[ + 6856.856212, + 2127.686326, + 2487.365989, + 12489.95006, + 4315.622723, + 2323.805581, + 2990.010802, + 6092.174359, + 1544.402995, + 3780.546651, + 3421.523218, + 2617.155967, + 1726.887882, + 2220.487682, + 4756.525781, + 4131.546641, + 3457.415947, + 2961.800905, + 2046.154706, + 4245.256698, + 3907.156189, + 4100.3934, + 14847.12712, + 6150.772969, + 9802.466526 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 9712569, + 2229407 + ] + }, + "mode":"markers", + "x":[ + 70.33, + 70.26 + ], + "y":[ + 10949.64959, + 12247.39532 + ] + } + ], + "name":"1957" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 10267083, + 171863, + 56839289, + 6083619, + 665770000, + 3305200, + 454000000, + 99028000, + 22874000, + 7240260, + 2310904, + 95831757, + 933559, + 10917494, + 26420307, + 358266, + 1886848, + 8906385, + 1010280, + 23634436, + 10332057, + 628164, + 53100671, + 30325264, + 4943029, + 1750200, + 10421936, + 4834621, + 11918938, + 29263397, + 33796140, + 1133134, + 6120081 + ] + }, + "mode":"markers", + "x":[ + 31.997, + 56.923, + 41.216, + 43.415, + 44.50136, + 67.65, + 43.605, + 42.518, + 49.325, + 51.457, + 69.39, + 68.73, + 48.126, + 56.656, + 55.292, + 60.47, + 62.094, + 55.737, + 48.251, + 45.108, + 39.393, + 43.165, + 47.67, + 54.757, + 45.914, + 65.798, + 62.192, + 50.305, + 65.2, + 56.061, + 45.363, + 48.127, + 35.18 + ], + "y":[ + 853.10071, + 12753.27514, + 686.3415538, + 496.9136476, + 487.6740183, + 4692.648272, + 658.3471509, + 849.2897701, + 4187.329802, + 8341.737815, + 7105.630706, + 6576.649461, + 2348.009158, + 1621.693598, + 1536.344387, + 95458.11176, + 5714.560611, + 2036.884944, + 1056.353958, + 388, + 652.3968593, + 2924.638113, + 803.3427418, + 1649.552153, + 11626.41975, + 3674.735572, + 1074.47196, + 2193.037133, + 1822.879028, + 1002.199172, + 772.0491602, + 2198.956312, + 825.6232006 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1728137, + 7129864, + 9218400, + 3349000, + 8012946, + 4076557, + 9620282, + 4646899, + 4491443, + 47124000, + 73739117, + 8448233, + 10063000, + 182053, + 2830000, + 50843200, + 474528, + 11805689, + 3638919, + 30329617, + 9019800, + 18680721, + 7616060, + 4237384, + 1582962, + 31158061, + 7561588, + 5666000, + 29788695, + 53292000 + ] + }, + "mode":"markers", + "x":[ + 64.82, + 69.54, + 70.25, + 61.93, + 69.51, + 67.13, + 69.9, + 72.35, + 68.75, + 70.51, + 70.3, + 69.51, + 67.96, + 73.68, + 70.29, + 69.24, + 63.728, + 73.23, + 73.47, + 67.64, + 64.39, + 66.8, + 64.531, + 70.33, + 69.15, + 69.69, + 73.37, + 71.32, + 52.098, + 70.76 + ], + "y":[ + 2312.888958, + 10750.72111, + 10991.20676, + 1709.683679, + 4254.337839, + 5477.890018, + 10136.86713, + 13583.31351, + 9371.842561, + 10560.48553, + 12902.46291, + 6017.190733, + 7550.359877, + 10350.15906, + 6631.597314, + 8243.58234, + 4649.593785, + 12790.84956, + 13450.40151, + 5338.752143, + 4727.954889, + 4734.997586, + 6289.629157, + 7481.107598, + 7402.303395, + 5693.843879, + 12329.44192, + 20431.0927, + 2322.869908, + 12477.17707 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 11000948, + 4826015, + 2151895, + 512764, + 4919632, + 2961915, + 5793633, + 1523478, + 3150417, + 191689, + 17486434, + 1047924, + 3832408, + 89898, + 28173309, + 249220, + 1666618, + 25145372, + 455661, + 374020, + 7355248, + 3140003, + 627820, + 8678557, + 893143, + 1112796, + 1441863, + 5703324, + 3628608, + 4690372, + 1146757, + 701016, + 13056604, + 7788944, + 621392, + 4076008, + 41871351, + 358900, + 3051242, + 65345, + 3430243, + 2467895, + 3080153, + 18356657, + 11183227, + 370006, + 10863958, + 1528098, + 4286552, + 7688797, + 3421000, + 4277736 + ] + }, + "mode":"markers", + "x":[ + 48.303, + 34, + 42.618, + 51.52, + 37.814, + 42.045, + 42.643, + 39.475, + 41.716, + 44.467, + 42.122, + 48.435, + 44.93, + 39.693, + 46.992, + 37.485, + 40.158, + 40.059, + 40.489, + 33.896, + 46.452, + 35.753, + 34.488, + 47.949, + 47.747, + 40.502, + 47.808, + 40.848, + 38.41, + 36.936, + 44.248, + 60.246, + 47.924, + 36.161, + 48.386, + 39.487, + 39.36, + 57.666, + 43, + 51.893, + 41.454, + 32.767, + 36.981, + 49.951, + 40.87, + 44.992, + 44.246, + 43.922, + 49.579, + 45.344, + 46.023, + 52.358 + ], + "y":[ + 2550.81688, + 4269.276742, + 949.4990641, + 983.6539764, + 722.5120206, + 355.2032273, + 1399.607441, + 1193.068753, + 1389.817618, + 1406.648278, + 896.3146335, + 2464.783157, + 1728.869428, + 3020.989263, + 1693.335853, + 582.8419714, + 380.9958433, + 419.4564161, + 6631.459222, + 599.650276, + 1190.041118, + 686.3736739, + 522.0343725, + 896.9663732, + 411.8006266, + 634.1951625, + 6757.030816, + 1643.38711, + 427.9010856, + 496.1743428, + 1055.896036, + 2529.067487, + 1566.353493, + 556.6863539, + 3173.215595, + 997.7661127, + 1150.927478, + 3173.72334, + 597.4730727, + 1071.551119, + 1654.988723, + 1116.639877, + 1369.488336, + 5768.729717, + 1959.593767, + 1856.182125, + 722.0038073, + 1067.53481, + 1660.30321, + 767.2717398, + 1452.725766, + 527.2721818 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 21283783, + 3593918, + 76039390, + 18985849, + 7961258, + 17009885, + 1345187, + 7254373, + 3453434, + 4681707, + 2747687, + 4208858, + 3880130, + 2090162, + 1665128, + 41121485, + 1590597, + 1215725, + 2009813, + 10516500, + 2448046, + 887498, + 186538000, + 2598466, + 8143375 + ] + }, + "mode":"markers", + "x":[ + 65.142, + 43.428, + 55.665, + 71.3, + 57.924, + 57.863, + 62.842, + 65.246, + 53.459, + 54.64, + 52.307, + 46.954, + 43.59, + 48.041, + 65.61, + 58.299, + 48.632, + 61.817, + 64.361, + 49.096, + 69.62, + 64.9, + 70.21, + 68.253, + 60.77 + ], + "y":[ + 7133.166023, + 2180.972546, + 3336.585802, + 13462.48555, + 4519.094331, + 2492.351109, + 3460.937025, + 5180.75591, + 1662.137359, + 4086.114078, + 3776.803627, + 2750.364446, + 1796.589032, + 2291.156835, + 5246.107524, + 4581.609385, + 3634.364406, + 3536.540301, + 2148.027146, + 4957.037982, + 5108.34463, + 4997.523971, + 16173.14586, + 5603.357717, + 8422.974165 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 10794968, + 2488550 + ] + }, + "mode":"markers", + "x":[ + 70.93, + 71.24 + ], + "y":[ + 12217.22686, + 13175.678 + ] + } + ], + "name":"1962" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 11537966, + 202182, + 62821884, + 6960067, + 754550000, + 3722800, + 506000000, + 109343000, + 26538000, + 8519282, + 2693585, + 100825279, + 1255058, + 12617009, + 30131000, + 575003, + 2186894, + 10154878, + 1149500, + 25870271, + 11261690, + 714775, + 60641899, + 35356600, + 5618198, + 1977600, + 11737396, + 5680812, + 13648692, + 34024249, + 39463910, + 1142636, + 6740785 + ] + }, + "mode":"markers", + "x":[ + 34.02, + 59.923, + 43.453, + 45.415, + 58.38112, + 70, + 47.193, + 45.964, + 52.469, + 54.459, + 70.75, + 71.43, + 51.629, + 59.942, + 57.716, + 64.624, + 63.87, + 59.371, + 51.253, + 49.379, + 41.472, + 46.988, + 49.8, + 56.393, + 49.901, + 67.946, + 64.266, + 53.655, + 67.5, + 58.285, + 47.838, + 51.631, + 36.984 + ], + "y":[ + 836.1971382, + 14804.6727, + 721.1860862, + 523.4323142, + 612.7056934, + 6197.962814, + 700.7706107, + 762.4317721, + 5906.731805, + 8931.459811, + 8393.741404, + 9847.788607, + 2741.796252, + 2143.540609, + 2029.228142, + 80894.88326, + 6006.983042, + 2277.742396, + 1226.04113, + 349, + 676.4422254, + 4720.942687, + 942.4082588, + 1814.12743, + 16903.04886, + 4977.41854, + 1135.514326, + 1881.923632, + 2643.858681, + 1295.46066, + 637.1232887, + 2649.715007, + 862.4421463 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 1984060, + 7376998, + 9556500, + 3585000, + 8310226, + 4174366, + 9835109, + 4838800, + 4605744, + 49569000, + 76368453, + 8716441, + 10223422, + 198676, + 2900100, + 52667100, + 501035, + 12596822, + 3786019, + 31785378, + 9103000, + 19284814, + 7971222, + 4442238, + 1646912, + 32850275, + 7867931, + 6063000, + 33411317, + 54959000 + ] + }, + "mode":"markers", + "x":[ + 66.22, + 70.14, + 70.94, + 64.79, + 70.42, + 68.5, + 70.38, + 72.96, + 69.83, + 71.55, + 70.8, + 71, + 69.5, + 73.73, + 71.08, + 71.06, + 67.178, + 73.82, + 74.08, + 69.61, + 66.6, + 66.8, + 66.914, + 70.98, + 69.18, + 71.44, + 74.16, + 72.77, + 54.336, + 71.36 + ], + "y":[ + 2760.196931, + 12834.6024, + 13149.04119, + 2172.352423, + 5577.0028, + 6960.297861, + 11399.44489, + 15937.21123, + 10921.63626, + 12999.91766, + 14745.62561, + 8513.097016, + 9326.64467, + 13319.89568, + 7655.568963, + 10022.40131, + 5907.850937, + 15363.25136, + 16361.87647, + 6557.152776, + 6361.517993, + 6470.866545, + 7991.707066, + 8412.902397, + 9405.489397, + 7993.512294, + 15258.29697, + 22966.14432, + 2826.356387, + 14142.85089 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 12760499, + 5247469, + 2427334, + 553541, + 5127935, + 3330989, + 6335506, + 1733638, + 3495967, + 217378, + 19941073, + 1179760, + 4744870, + 127617, + 31681188, + 259864, + 1820319, + 27860297, + 489004, + 439593, + 8490213, + 3451418, + 601287, + 10191512, + 996380, + 1279406, + 1759224, + 6334556, + 4147252, + 5212416, + 1230542, + 789309, + 14770296, + 8680909, + 706640, + 4534062, + 47287752, + 414024, + 3451079, + 70787, + 3965841, + 2662190, + 3428839, + 20997321, + 12716129, + 420690, + 12607312, + 1735550, + 4786986, + 8900294, + 3900000, + 4995432 + ] + }, + "mode":"markers", + "x":[ + 51.407, + 35.985, + 44.885, + 53.298, + 40.697, + 43.548, + 44.799, + 41.478, + 43.601, + 46.472, + 44.056, + 52.04, + 47.35, + 42.074, + 49.293, + 38.987, + 42.189, + 42.115, + 44.598, + 35.857, + 48.072, + 37.197, + 35.492, + 50.654, + 48.492, + 41.536, + 50.227, + 42.881, + 39.487, + 38.487, + 46.289, + 61.557, + 50.335, + 38.113, + 51.159, + 40.118, + 41.04, + 60.542, + 44.1, + 54.425, + 43.563, + 34.113, + 38.977, + 51.927, + 42.858, + 46.633, + 45.757, + 46.769, + 52.053, + 48.051, + 47.768, + 53.995 + ], + "y":[ + 3246.991771, + 5522.776375, + 1035.831411, + 1214.709294, + 794.8265597, + 412.9775136, + 1508.453148, + 1136.056615, + 1196.810565, + 1876.029643, + 861.5932424, + 2677.939642, + 2052.050473, + 3020.050513, + 1814.880728, + 915.5960025, + 468.7949699, + 516.1186438, + 8358.761987, + 734.7829124, + 1125.69716, + 708.7595409, + 715.5806402, + 1056.736457, + 498.6390265, + 713.6036483, + 18772.75169, + 1634.047282, + 495.5147806, + 545.0098873, + 1421.145193, + 2475.387562, + 1711.04477, + 566.6691539, + 3793.694753, + 1054.384891, + 1014.514104, + 4021.175739, + 510.9637142, + 1384.840593, + 1612.404632, + 1206.043465, + 1284.73318, + 7114.477971, + 1687.997641, + 2613.101665, + 848.2186575, + 1477.59676, + 1932.360167, + 908.9185217, + 1777.077318, + 569.7950712 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 22934225, + 4040665, + 88049823, + 20819767, + 8858908, + 19764027, + 1588717, + 8139332, + 4049146, + 5432424, + 3232927, + 4690773, + 4318137, + 2500689, + 1861096, + 47995559, + 1865490, + 1405486, + 2287985, + 12132200, + 2648961, + 960155, + 198712000, + 2748579, + 9709552 + ] + }, + "mode":"markers", + "x":[ + 65.634, + 45.032, + 57.632, + 72.13, + 60.523, + 59.963, + 65.424, + 68.29, + 56.751, + 56.678, + 55.855, + 50.016, + 46.243, + 50.924, + 67.51, + 60.11, + 51.884, + 64.071, + 64.951, + 51.445, + 71.1, + 65.4, + 70.76, + 68.468, + 63.479 + ], + "y":[ + 8052.953021, + 2586.886053, + 3429.864357, + 16076.58803, + 5106.654313, + 2678.729839, + 4161.727834, + 5690.268015, + 1653.723003, + 4579.074215, + 4358.595393, + 3242.531147, + 1452.057666, + 2538.269358, + 6124.703451, + 5754.733883, + 4643.393534, + 4421.009084, + 2299.376311, + 5788.09333, + 6929.277714, + 5621.368472, + 19530.36557, + 5444.61962, + 9541.474188 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 11872264, + 2728150 + ] + }, + "mode":"markers", + "x":[ + 71.1, + 71.52 + ], + "y":[ + 14526.12465, + 14463.91893 + ] + } + ], + "name":"1967" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 13079460, + 230800, + 70759295, + 7450606, + 862030000, + 4115700, + 567000000, + 121282000, + 30614000, + 10061506, + 3095893, + 107188273, + 1613551, + 14781241, + 33505000, + 841934, + 2680018, + 11441462, + 1320500, + 28466390, + 12412593, + 829050, + 69325921, + 40850141, + 6472756, + 2152400, + 13016733, + 6701172, + 15226039, + 39276153, + 44655014, + 1089572, + 7407075 + ] + }, + "mode":"markers", + "x":[ + 36.088, + 63.3, + 45.252, + 40.317, + 63.11888, + 72, + 50.651, + 49.203, + 55.234, + 56.95, + 71.63, + 73.42, + 56.528, + 63.983, + 62.612, + 67.712, + 65.421, + 63.01, + 53.754, + 53.07, + 43.971, + 52.143, + 51.929, + 58.065, + 53.886, + 69.521, + 65.042, + 57.296, + 69.39, + 60.405, + 50.254, + 56.532, + 39.848 + ], + "y":[ + 739.9811058, + 18268.65839, + 630.2336265, + 421.6240257, + 676.9000921, + 8315.928145, + 724.032527, + 1111.107907, + 9613.818607, + 9576.037596, + 12786.93223, + 14778.78636, + 2110.856309, + 3701.621503, + 3030.87665, + 109347.867, + 7486.384341, + 2849.09478, + 1421.741975, + 357, + 674.7881296, + 10618.03855, + 1049.938981, + 1989.37407, + 24837.42865, + 8597.756202, + 1213.39553, + 2571.423014, + 4062.523897, + 1524.358936, + 699.5016441, + 3133.409277, + 1265.047031 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 2263554, + 7544201, + 9709100, + 3819000, + 8576200, + 4225310, + 9862158, + 4991596, + 4639657, + 51732000, + 78717088, + 8888628, + 10394091, + 209275, + 3024400, + 54365564, + 527678, + 13329874, + 3933004, + 33039545, + 8970450, + 20662648, + 8313288, + 4593433, + 1694510, + 34513161, + 8122293, + 6401400, + 37492953, + 56079000 + ] + }, + "mode":"markers", + "x":[ + 67.69, + 70.63, + 71.44, + 67.45, + 70.9, + 69.61, + 70.29, + 73.47, + 70.87, + 72.38, + 71, + 72.34, + 69.76, + 74.46, + 71.28, + 72.19, + 70.636, + 73.75, + 74.34, + 70.85, + 69.26, + 69.21, + 68.7, + 70.35, + 69.82, + 73.06, + 74.72, + 73.78, + 57.005, + 72.01 + ], + "y":[ + 3313.422188, + 16661.6256, + 16672.14356, + 2860.16975, + 6597.494398, + 9164.090127, + 13108.4536, + 18866.20721, + 14358.8759, + 16107.19171, + 18016.18027, + 12724.82957, + 10168.65611, + 15798.06362, + 9530.772896, + 12269.27378, + 7778.414017, + 18794.74567, + 18965.05551, + 8006.506993, + 9022.247417, + 8011.414402, + 10522.06749, + 9674.167626, + 12383.4862, + 10638.75131, + 17832.02464, + 27195.11304, + 3450.69638, + 15895.11641 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 14760787, + 5894858, + 2761407, + 619351, + 5433886, + 3529983, + 7021028, + 1927260, + 3899068, + 250027, + 23007669, + 1340458, + 6071696, + 178848, + 34807417, + 277603, + 2260187, + 30770372, + 537977, + 517101, + 9354120, + 3811387, + 625361, + 12044785, + 1116779, + 1482628, + 2183877, + 7082430, + 4730997, + 5828158, + 1332786, + 851334, + 16660670, + 9809596, + 821782, + 5060262, + 53740085, + 461633, + 3992121, + 76595, + 4588696, + 2879013, + 3840161, + 23935810, + 14597019, + 480105, + 14706593, + 2056351, + 5303507, + 10190285, + 4506497, + 5861135 + ] + }, + "mode":"markers", + "x":[ + 54.518, + 37.928, + 47.014, + 56.024, + 43.591, + 44.057, + 47.049, + 43.457, + 45.569, + 48.944, + 45.989, + 54.907, + 49.801, + 44.366, + 51.137, + 40.516, + 44.142, + 43.515, + 48.69, + 38.308, + 49.875, + 38.842, + 36.486, + 53.559, + 49.767, + 42.614, + 52.773, + 44.851, + 41.766, + 39.977, + 48.437, + 62.944, + 52.862, + 40.328, + 53.867, + 40.546, + 42.821, + 64.274, + 44.6, + 56.48, + 45.815, + 35.4, + 40.973, + 53.696, + 45.083, + 49.552, + 47.62, + 49.759, + 55.602, + 51.016, + 50.107, + 55.635 + ], + "y":[ + 4182.663766, + 5473.288005, + 1085.796879, + 2263.611114, + 854.7359763, + 464.0995039, + 1684.146528, + 1070.013275, + 1104.103987, + 1937.577675, + 904.8960685, + 3213.152683, + 2378.201111, + 3694.212352, + 2024.008147, + 672.4122571, + 514.3242082, + 566.2439442, + 11401.94841, + 756.0868363, + 1178.223708, + 741.6662307, + 820.2245876, + 1222.359968, + 496.5815922, + 803.0054535, + 21011.49721, + 1748.562982, + 584.6219709, + 581.3688761, + 1586.851781, + 2575.484158, + 1930.194975, + 724.9178037, + 3746.080948, + 954.2092363, + 1698.388838, + 5047.658563, + 590.5806638, + 1532.985254, + 1597.712056, + 1353.759762, + 1254.576127, + 7765.962636, + 1659.652775, + 3364.836625, + 915.9850592, + 1649.660188, + 2753.285994, + 950.735869, + 1773.498265, + 799.3621758 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 24779799, + 4565872, + 100840058, + 22284500, + 9717524, + 22542890, + 1834796, + 8831348, + 4671329, + 6298651, + 3790903, + 5149581, + 4698301, + 2965146, + 1997616, + 55984294, + 2182908, + 1616384, + 2614104, + 13954700, + 2847132, + 975199, + 209896000, + 2829526, + 11515649 + ] + }, + "mode":"markers", + "x":[ + 67.065, + 46.714, + 59.504, + 72.88, + 63.441, + 61.623, + 67.849, + 70.723, + 59.631, + 58.796, + 58.207, + 53.738, + 48.042, + 53.884, + 69, + 62.361, + 55.151, + 66.216, + 65.815, + 55.448, + 72.16, + 65.9, + 71.34, + 68.673, + 65.712 + ], + "y":[ + 9443.038526, + 2980.331339, + 4985.711467, + 18970.57086, + 5494.024437, + 3264.660041, + 5118.146939, + 5305.445256, + 2189.874499, + 5280.99471, + 4520.246008, + 4031.408271, + 1654.456946, + 2529.842345, + 7433.889293, + 6809.40669, + 4688.593267, + 5364.249663, + 2523.337977, + 5937.827283, + 9123.041742, + 6619.551419, + 21806.03594, + 5703.408898, + 10505.25966 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 13177000, + 2929100 + ] + }, + "mode":"markers", + "x":[ + 71.93, + 71.89 + ], + "y":[ + 16788.62948, + 16046.03728 + ] + } + ], + "name":"1972" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 14880372, + 297410, + 80428306, + 6978607, + 943455000, + 4583700, + 634000000, + 136725000, + 35480679, + 11882916, + 3495918, + 113872473, + 1937652, + 16325320, + 36436000, + 1140357, + 3115787, + 12845381, + 1528000, + 31528087, + 13933198, + 1004533, + 78152686, + 46850962, + 8128505, + 2325300, + 14116836, + 7932503, + 16785196, + 44148285, + 50533506, + 1261091, + 8403990 + ] + }, + "mode":"markers", + "x":[ + 38.438, + 65.593, + 46.923, + 31.22, + 63.96736, + 73.6, + 54.208, + 52.702, + 57.702, + 60.413, + 73.06, + 75.38, + 61.134, + 67.159, + 64.766, + 69.343, + 66.099, + 65.256, + 55.491, + 56.059, + 46.748, + 57.367, + 54.043, + 60.06, + 58.69, + 70.795, + 65.949, + 61.195, + 70.59, + 62.494, + 55.764, + 60.765, + 44.175 + ], + "y":[ + 786.11336, + 19340.10196, + 659.8772322, + 524.9721832, + 741.2374699, + 11186.14125, + 813.337323, + 1382.702056, + 11888.59508, + 14688.23507, + 13306.61921, + 16610.37701, + 2852.351568, + 4106.301249, + 4657.22102, + 59265.47714, + 8659.696836, + 3827.921571, + 1647.511665, + 371, + 694.1124398, + 11848.34392, + 1175.921193, + 2373.204287, + 34167.7626, + 11210.08948, + 1348.775651, + 3195.484582, + 5596.519826, + 1961.224635, + 713.5371196, + 3682.831494, + 1829.765177 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 2509048, + 7568430, + 9821800, + 4086000, + 8797022, + 4318673, + 10161915, + 5088419, + 4738902, + 53165019, + 78160773, + 9308479, + 10637171, + 221823, + 3271900, + 56059245, + 560073, + 13852989, + 4043205, + 34621254, + 9662600, + 21658597, + 8686367, + 4827803, + 1746919, + 36439000, + 8251648, + 6316424, + 42404033, + 56179000 + ] + }, + "mode":"markers", + "x":[ + 68.93, + 72.17, + 72.8, + 69.86, + 70.81, + 70.64, + 70.71, + 74.69, + 72.52, + 73.83, + 72.5, + 73.68, + 69.95, + 76.11, + 72.03, + 73.48, + 73.066, + 75.24, + 75.37, + 70.67, + 70.41, + 69.46, + 70.3, + 70.45, + 70.97, + 74.39, + 75.44, + 75.39, + 59.507, + 72.76 + ], + "y":[ + 3533.00391, + 19749.4223, + 19117.97448, + 3528.481305, + 7612.240438, + 11305.38517, + 14800.16062, + 20422.9015, + 15605.42283, + 18292.63514, + 20512.92123, + 14195.52428, + 11674.83737, + 19654.96247, + 11150.98113, + 14255.98475, + 9595.929905, + 21209.0592, + 23311.34939, + 9508.141454, + 10172.48572, + 9356.39724, + 12980.66956, + 10922.66404, + 15277.03017, + 13236.92117, + 18855.72521, + 26982.29052, + 4269.122326, + 17428.74846 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17152804, + 6162675, + 3168267, + 781472, + 5889574, + 3834415, + 7959865, + 2167533, + 4388260, + 304739, + 26480870, + 1536769, + 7459574, + 228694, + 38783863, + 192675, + 2512642, + 34617799, + 706367, + 608274, + 10538093, + 4227026, + 745228, + 14500404, + 1251524, + 1703617, + 2721783, + 8007166, + 5637246, + 6491649, + 1456688, + 913025, + 18396941, + 11127868, + 977026, + 5682086, + 62209173, + 492095, + 4657072, + 86796, + 5260855, + 3140897, + 4353666, + 27129932, + 17104986, + 551425, + 17129565, + 2308582, + 6005061, + 11457758, + 5216550, + 6642107 + ] + }, + "mode":"markers", + "x":[ + 58.014, + 39.483, + 49.19, + 59.319, + 46.137, + 45.91, + 49.355, + 46.775, + 47.383, + 50.939, + 47.804, + 55.625, + 52.374, + 46.519, + 53.319, + 42.024, + 44.535, + 44.51, + 52.79, + 41.842, + 51.756, + 40.762, + 37.465, + 56.155, + 52.208, + 43.764, + 57.442, + 46.881, + 43.767, + 41.714, + 50.852, + 64.93, + 55.73, + 42.495, + 56.437, + 41.291, + 44.514, + 67.064, + 45, + 58.55, + 48.879, + 36.788, + 41.974, + 55.527, + 47.8, + 52.537, + 49.919, + 52.887, + 59.837, + 50.35, + 51.386, + 57.674 + ], + "y":[ + 4910.416756, + 3008.647355, + 1029.161251, + 3214.857818, + 743.3870368, + 556.1032651, + 1783.432873, + 1109.374338, + 1133.98495, + 1172.603047, + 795.757282, + 3259.178978, + 2517.736547, + 3081.761022, + 2785.493582, + 958.5668124, + 505.7538077, + 556.8083834, + 21745.57328, + 884.7552507, + 993.2239571, + 874.6858643, + 764.7259628, + 1267.613204, + 745.3695408, + 640.3224383, + 21951.21176, + 1544.228586, + 663.2236766, + 686.3952693, + 1497.492223, + 3710.982963, + 2370.619976, + 502.3197334, + 3876.485958, + 808.8970728, + 1981.951806, + 4319.804067, + 670.0806011, + 1737.561657, + 1561.769116, + 1348.285159, + 1450.992513, + 8028.651439, + 2202.988423, + 3781.410618, + 962.4922932, + 1532.776998, + 3120.876811, + 843.7331372, + 1588.688299, + 685.5876821 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 26983828, + 5079716, + 114313951, + 23796400, + 10599793, + 25094412, + 2108457, + 9537988, + 5302800, + 7278866, + 4282586, + 5703430, + 4908554, + 3055235, + 2156814, + 63759976, + 2554598, + 1839782, + 2984494, + 15990099, + 3080828, + 1039009, + 220239000, + 2873520, + 13503563 + ] + }, + "mode":"markers", + "x":[ + 68.481, + 50.023, + 61.489, + 74.21, + 67.052, + 63.837, + 70.75, + 72.649, + 61.788, + 61.31, + 56.696, + 56.029, + 49.923, + 57.402, + 70.11, + 65.032, + 57.47, + 68.681, + 66.353, + 58.447, + 73.44, + 68.3, + 73.38, + 69.481, + 67.456 + ], + "y":[ + 10079.02674, + 3548.097832, + 6660.118654, + 22090.88306, + 4756.763836, + 3815.80787, + 5926.876967, + 6380.494966, + 2681.9889, + 6679.62326, + 5138.922374, + 4879.992748, + 1874.298931, + 3203.208066, + 6650.195573, + 7674.929108, + 5486.371089, + 5351.912144, + 3248.373311, + 6281.290855, + 9770.524921, + 7899.554209, + 24072.63213, + 6504.339663, + 13143.95095 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 14074100, + 3164900 + ] + }, + "mode":"markers", + "x":[ + 73.49, + 72.22 + ], + "y":[ + 18334.19751, + 16233.7177 + ] + } + ], + "name":"1977" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 12881816, + 377967, + 93074406, + 7272485, + 1000281000, + 5264500, + 708000000, + 153343000, + 43072751, + 14173318, + 3858421, + 118454974, + 2347031, + 17647518, + 39326000, + 1497494, + 3086876, + 14441916, + 1756032, + 34680442, + 15796314, + 1301048, + 91462088, + 53456774, + 11254672, + 2651869, + 15410151, + 9410494, + 18501390, + 48827160, + 56142181, + 1425876, + 9657618 + ] + }, + "mode":"markers", + "x":[ + 39.854, + 69.052, + 50.009, + 50.957, + 65.525, + 75.45, + 56.596, + 56.159, + 59.62, + 62.038, + 74.45, + 77.11, + 63.739, + 69.1, + 67.123, + 71.309, + 66.983, + 68, + 57.489, + 58.056, + 49.594, + 62.728, + 56.158, + 62.082, + 63.012, + 71.76, + 68.757, + 64.59, + 72.16, + 64.597, + 58.816, + 64.406, + 49.113 + ], + "y":[ + 978.0114388, + 19211.14731, + 676.9818656, + 624.4754784, + 962.4213805, + 14560.53051, + 855.7235377, + 1516.872988, + 7608.334602, + 14517.90711, + 15367.0292, + 19384.10571, + 4161.415959, + 4106.525293, + 5622.942464, + 31354.03573, + 7640.519521, + 4920.355951, + 2000.603139, + 424, + 718.3730947, + 12954.79101, + 1443.429832, + 2603.273765, + 33693.17525, + 15169.16112, + 1648.079789, + 3761.837715, + 7426.354774, + 2393.219781, + 707.2357863, + 4336.032082, + 1977.55701 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 2780097, + 7574613, + 9856303, + 4172693, + 8892098, + 4413368, + 10303704, + 5117810, + 4826933, + 54433565, + 78335266, + 9786480, + 10705535, + 233997, + 3480000, + 56535636, + 562548, + 14310401, + 4114787, + 36227381, + 9859650, + 22356726, + 9032824, + 5048043, + 1861252, + 37983310, + 8325260, + 6468126, + 47328791, + 56339704 + ] + }, + "mode":"markers", + "x":[ + 70.42, + 73.18, + 73.93, + 70.69, + 71.08, + 70.46, + 70.96, + 74.63, + 74.55, + 74.89, + 73.8, + 75.24, + 69.39, + 76.99, + 73.1, + 74.98, + 74.101, + 76.05, + 75.97, + 71.32, + 72.77, + 69.66, + 70.162, + 70.8, + 71.063, + 76.3, + 76.42, + 76.21, + 61.036, + 74.04 + ], + "y":[ + 3630.880722, + 21597.08362, + 20979.84589, + 4126.613157, + 8224.191647, + 13221.82184, + 15377.22855, + 21688.04048, + 18533.15761, + 20293.89746, + 22031.53274, + 15268.42089, + 12545.99066, + 23269.6075, + 12618.32141, + 16537.4835, + 11222.58762, + 21399.46046, + 26298.63531, + 8451.531004, + 11753.84291, + 9605.314053, + 15181.0927, + 11348.54585, + 17866.72175, + 13926.16997, + 20667.38125, + 28397.71512, + 4241.356344, + 18232.42452 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 20033753, + 7016384, + 3641603, + 970347, + 6634596, + 4580410, + 9250831, + 2476971, + 4875118, + 348643, + 30646495, + 1774735, + 9025951, + 305991, + 45681811, + 285483, + 2637297, + 38111756, + 753874, + 715523, + 11400338, + 4710497, + 825987, + 17661452, + 1411807, + 1956875, + 3344074, + 9171477, + 6502825, + 6998256, + 1622136, + 992040, + 20198730, + 12587223, + 1099010, + 6437188, + 73039376, + 517810, + 5507565, + 98593, + 6147783, + 3464522, + 5828892, + 31140029, + 20367053, + 649901, + 19844382, + 2644765, + 6734098, + 12939400, + 6100407, + 7636524 + ] + }, + "mode":"markers", + "x":[ + 61.368, + 39.942, + 50.904, + 61.484, + 48.122, + 47.471, + 52.961, + 48.295, + 49.517, + 52.933, + 47.784, + 56.695, + 53.983, + 48.812, + 56.006, + 43.662, + 43.89, + 44.916, + 56.564, + 45.58, + 53.744, + 42.891, + 39.327, + 58.766, + 55.078, + 44.852, + 62.155, + 48.969, + 45.642, + 43.916, + 53.599, + 66.711, + 59.65, + 42.795, + 58.968, + 42.598, + 45.826, + 69.885, + 46.218, + 60.351, + 52.379, + 38.445, + 42.955, + 58.161, + 50.338, + 55.561, + 50.608, + 55.471, + 64.048, + 49.849, + 51.821, + 60.363 + ], + "y":[ + 5745.160213, + 2756.953672, + 1277.897616, + 4551.14215, + 807.1985855, + 559.603231, + 2367.983282, + 956.7529907, + 797.9081006, + 1267.100083, + 673.7478181, + 4879.507522, + 2602.710169, + 2879.468067, + 3503.729636, + 927.8253427, + 524.8758493, + 577.8607471, + 15113.36194, + 835.8096108, + 876.032569, + 857.2503577, + 838.1239671, + 1348.225791, + 797.2631074, + 572.1995694, + 17364.27538, + 1302.878658, + 632.8039209, + 618.0140641, + 1481.150189, + 3688.037739, + 2702.620356, + 462.2114149, + 4191.100511, + 909.7221354, + 1576.97375, + 5267.219353, + 881.5706467, + 1890.218117, + 1518.479984, + 1465.010784, + 1176.807031, + 8568.266228, + 1895.544073, + 3895.384018, + 874.2426069, + 1344.577953, + 3560.233174, + 682.2662268, + 1408.678565, + 788.8550411 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 29341374, + 5642224, + 128962939, + 25201900, + 11487112, + 27764644, + 2424367, + 9789224, + 5968349, + 8365850, + 4474873, + 6395630, + 5198399, + 3669448, + 2298309, + 71640904, + 2979423, + 2036305, + 3366439, + 18125129, + 3279001, + 1116479, + 232187835, + 2953997, + 15620766 + ] + }, + "mode":"markers", + "x":[ + 69.942, + 53.859, + 63.336, + 75.76, + 70.565, + 66.653, + 73.45, + 73.717, + 63.727, + 64.342, + 56.604, + 58.137, + 51.461, + 60.909, + 71.21, + 67.405, + 59.298, + 70.472, + 66.874, + 61.406, + 73.75, + 68.832, + 74.65, + 70.805, + 68.557 + ], + "y":[ + 8997.897412, + 3156.510452, + 7030.835878, + 22898.79214, + 5095.665738, + 4397.575659, + 5262.734751, + 7316.918107, + 2861.092386, + 7213.791267, + 4098.344175, + 4820.49479, + 2011.159549, + 3121.760794, + 6068.05135, + 9611.147541, + 3470.338156, + 7009.601598, + 4258.503604, + 6434.501797, + 10330.98915, + 9119.528607, + 25009.55914, + 6920.223051, + 11152.41011 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 15184200, + 3210650 + ] + }, + "mode":"markers", + "x":[ + 74.74, + 73.84 + ], + "y":[ + 19477.00928, + 17632.4104 + ] + } + ], + "name":"1982" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 13867957, + 454612, + 103764241, + 8371791, + 1084035000, + 5584510, + 788000000, + 169276000, + 51889696, + 16543189, + 4203148, + 122091325, + 2820042, + 19067554, + 41622000, + 1891487, + 3089353, + 16331785, + 2015133, + 38028578, + 17917180, + 1593882, + 105186881, + 60017788, + 14619745, + 2794552, + 16495304, + 11242847, + 19757799, + 52910342, + 62826491, + 1691210, + 11219340 + ] + }, + "mode":"markers", + "x":[ + 40.822, + 70.75, + 52.819, + 53.914, + 67.274, + 76.2, + 58.553, + 60.137, + 63.04, + 65.044, + 75.6, + 78.67, + 65.869, + 70.647, + 69.81, + 74.174, + 67.926, + 69.5, + 60.222, + 58.339, + 52.537, + 67.734, + 58.245, + 64.151, + 66.295, + 73.56, + 69.011, + 66.974, + 73.4, + 66.084, + 62.82, + 67.046, + 52.922 + ], + "y":[ + 852.3959448, + 18524.02406, + 751.9794035, + 683.8955732, + 1378.904018, + 20038.47269, + 976.5126756, + 1748.356961, + 6642.881371, + 11643.57268, + 17122.47986, + 22375.94189, + 4448.679912, + 4106.492315, + 8533.088805, + 28118.42998, + 5377.091329, + 5249.802653, + 2338.008304, + 385, + 775.6324501, + 18115.22313, + 1704.686583, + 2189.634995, + 21198.26136, + 18861.53081, + 1876.766827, + 3116.774285, + 11054.56175, + 2982.653773, + 820.7994449, + 5107.197384, + 1971.741538 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3075321, + 7578903, + 9870200, + 4338977, + 8971958, + 4484310, + 10311597, + 5127024, + 4931729, + 55630100, + 77718298, + 9974490, + 10612740, + 244676, + 3539900, + 56729703, + 569473, + 14665278, + 4186147, + 37740710, + 9915289, + 22686371, + 9230783, + 5199318, + 1945870, + 38880702, + 8421403, + 6649942, + 52881328, + 56981620 + ] + }, + "mode":"markers", + "x":[ + 72, + 74.94, + 75.35, + 71.14, + 71.34, + 71.52, + 71.58, + 74.8, + 74.83, + 76.34, + 74.847, + 76.67, + 69.58, + 77.23, + 74.36, + 76.42, + 74.865, + 76.83, + 75.89, + 70.98, + 74.06, + 69.53, + 71.218, + 71.08, + 72.25, + 76.9, + 77.19, + 77.41, + 63.108, + 75.007 + ], + "y":[ + 3738.932735, + 23687.82607, + 22525.56308, + 4314.114757, + 8239.854824, + 13822.58394, + 16310.4434, + 25116.17581, + 21141.01223, + 22066.44214, + 24639.18566, + 16120.52839, + 12986.47998, + 26923.20628, + 13872.86652, + 19207.23482, + 11732.51017, + 23651.32361, + 31540.9748, + 9082.351172, + 13039.30876, + 9696.273295, + 15870.87851, + 12037.26758, + 18678.53492, + 15764.98313, + 23586.92927, + 30281.70459, + 5089.043686, + 21664.78767 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 23254956, + 7874230, + 4243788, + 1151184, + 7586551, + 5126023, + 10780667, + 2840009, + 5498955, + 395114, + 35481645, + 2064095, + 10761098, + 311025, + 52799062, + 341244, + 2915959, + 42999530, + 880397, + 848406, + 14168101, + 5650262, + 927524, + 21198082, + 1599200, + 2269414, + 3799845, + 10568642, + 7824747, + 7634008, + 1841240, + 1042663, + 22987397, + 12891952, + 1278184, + 7332638, + 81551520, + 562035, + 6349365, + 110812, + 7171347, + 3868905, + 6921858, + 35933379, + 24725960, + 779348, + 23040630, + 3154264, + 7724976, + 15283050, + 7272406, + 9216418 + ] + }, + "mode":"markers", + "x":[ + 65.799, + 39.906, + 52.337, + 63.622, + 49.557, + 48.211, + 54.985, + 50.485, + 51.051, + 54.926, + 47.412, + 57.47, + 54.655, + 50.04, + 59.797, + 45.664, + 46.453, + 46.684, + 60.19, + 49.265, + 55.729, + 45.552, + 41.245, + 59.339, + 57.18, + 46.027, + 66.234, + 49.35, + 47.457, + 46.364, + 56.145, + 68.74, + 62.677, + 42.861, + 60.835, + 44.555, + 46.886, + 71.913, + 44.02, + 61.728, + 55.769, + 40.006, + 44.501, + 60.834, + 51.744, + 57.678, + 51.535, + 56.941, + 66.894, + 51.509, + 50.821, + 62.351 + ], + "y":[ + 5681.358539, + 2430.208311, + 1225.85601, + 6205.88385, + 912.0631417, + 621.8188189, + 2602.664206, + 844.8763504, + 952.386129, + 1315.980812, + 672.774812, + 4201.194937, + 2156.956069, + 2880.102568, + 3885.46071, + 966.8968149, + 521.1341333, + 573.7413142, + 11864.40844, + 611.6588611, + 847.0061135, + 805.5724718, + 736.4153921, + 1361.936856, + 773.9932141, + 506.1138573, + 11770.5898, + 1155.441948, + 635.5173634, + 684.1715576, + 1421.603576, + 4783.586903, + 2755.046991, + 389.8761846, + 3693.731337, + 668.3000228, + 1385.029563, + 5303.377488, + 847.991217, + 1516.525457, + 1441.72072, + 1294.447788, + 1093.244963, + 7825.823398, + 1507.819159, + 3984.839812, + 831.8220794, + 1202.201361, + 3810.419296, + 617.7244065, + 1213.315116, + 706.1573059 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 31620918, + 6156369, + 142938076, + 26549700, + 12463354, + 30964245, + 2799811, + 10239839, + 6655297, + 9545158, + 4842194, + 7326406, + 5756203, + 4372203, + 2326606, + 80122492, + 3344353, + 2253639, + 3886512, + 20195924, + 3444468, + 1191336, + 242803533, + 3045153, + 17910182 + ] + }, + "mode":"markers", + "x":[ + 70.774, + 57.251, + 65.205, + 76.86, + 72.492, + 67.768, + 74.752, + 74.174, + 66.046, + 67.231, + 63.154, + 60.782, + 53.636, + 64.492, + 71.77, + 69.498, + 62.008, + 71.523, + 67.378, + 64.134, + 74.63, + 69.582, + 75.02, + 71.918, + 70.19 + ], + "y":[ + 9139.671389, + 2753.69149, + 7807.095818, + 26626.51503, + 5547.063754, + 4903.2191, + 5629.915318, + 7532.924763, + 2899.842175, + 6481.776993, + 4140.442097, + 4246.485974, + 1823.015995, + 3023.096699, + 6351.237495, + 8688.156003, + 2955.984375, + 7034.779161, + 3998.875695, + 6360.943444, + 12281.34191, + 7388.597823, + 29884.35041, + 7452.398969, + 9883.584648 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 16257249, + 3317166 + ] + }, + "mode":"markers", + "x":[ + 76.32, + 74.32 + ], + "y":[ + 21888.88903, + 19007.19129 + ] + } + ], + "name":"1987" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 16317921, + 529491, + 113704579, + 10150094, + 1164970000, + 5829696, + 872000000, + 184816000, + 60397973, + 17861905, + 4936550, + 124329269, + 3867409, + 20711375, + 43805450, + 1418095, + 3219994, + 18319502, + 2312802, + 40546538, + 20326209, + 1915208, + 120065004, + 67185766, + 16945857, + 3235865, + 17587060, + 13219062, + 20686918, + 56667095, + 69940728, + 2104779, + 13367997 + ] + }, + "mode":"markers", + "x":[ + 41.674, + 72.601, + 56.018, + 55.803, + 68.69, + 77.601, + 60.223, + 62.681, + 65.742, + 59.461, + 76.93, + 79.36, + 68.015, + 69.978, + 72.244, + 75.19, + 69.292, + 70.693, + 61.271, + 59.32, + 55.727, + 71.197, + 60.838, + 66.458, + 68.768, + 75.788, + 70.379, + 69.249, + 74.26, + 67.298, + 67.662, + 69.718, + 55.599 + ], + "y":[ + 649.3413952, + 19035.57917, + 837.8101643, + 682.3031755, + 1655.784158, + 24757.60301, + 1164.406809, + 2383.140898, + 7235.653188, + 3745.640687, + 18051.52254, + 26824.89511, + 3431.593647, + 3726.063507, + 12104.27872, + 34932.91959, + 6890.806854, + 7277.912802, + 1785.402016, + 347, + 897.7403604, + 18616.70691, + 1971.829464, + 2279.324017, + 24841.61777, + 24769.8912, + 2153.739222, + 3340.542768, + 15215.6579, + 4616.896545, + 989.0231487, + 6017.654756, + 1879.496673 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3326498, + 7914969, + 10045622, + 4256013, + 8658506, + 4494013, + 10315702, + 5171393, + 5041039, + 57374179, + 80597764, + 10325429, + 10348684, + 259012, + 3557761, + 56840847, + 621621, + 15174244, + 4286357, + 38370697, + 9927680, + 22797027, + 9826397, + 5302888, + 1999210, + 39549438, + 8718867, + 6995447, + 58179144, + 57866349 + ] + }, + "mode":"markers", + "x":[ + 71.581, + 76.04, + 76.46, + 72.178, + 71.19, + 72.527, + 72.4, + 75.33, + 75.7, + 77.46, + 76.07, + 77.03, + 69.17, + 78.77, + 75.467, + 77.44, + 75.435, + 77.42, + 77.32, + 70.99, + 74.86, + 69.36, + 71.659, + 71.38, + 73.64, + 77.57, + 78.16, + 78.03, + 66.146, + 76.42 + ], + "y":[ + 2497.437901, + 27042.01868, + 25575.57069, + 2546.781445, + 6302.623438, + 8447.794873, + 14297.02122, + 26406.73985, + 20647.16499, + 24703.79615, + 26505.30317, + 17541.49634, + 10535.62855, + 25144.39201, + 17558.81555, + 22013.64486, + 7003.339037, + 26790.94961, + 33965.66115, + 7738.881247, + 16207.26663, + 6598.409903, + 9325.068238, + 9498.467723, + 14214.71681, + 18603.06452, + 23880.01683, + 31871.5303, + 5678.348271, + 22705.09254 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 26298373, + 8735988, + 4981671, + 1342614, + 8878303, + 5809236, + 12467171, + 3265124, + 6429417, + 454429, + 41672143, + 2409073, + 12772596, + 384156, + 59402198, + 387838, + 3668440, + 52088559, + 985739, + 1025384, + 16278738, + 6990574, + 1050938, + 25020539, + 1803195, + 1912974, + 4364501, + 12210395, + 10014249, + 8416215, + 2119465, + 1096202, + 25798239, + 13160731, + 1554253, + 8392818, + 93364244, + 622191, + 7290203, + 125911, + 8307920, + 4260884, + 6099799, + 39964159, + 28227588, + 962344, + 26605473, + 3747553, + 8523077, + 18252190, + 8381163, + 10704340 + ] + }, + "mode":"markers", + "x":[ + 67.744, + 40.647, + 53.919, + 62.745, + 50.26, + 44.736, + 54.314, + 49.396, + 51.724, + 57.939, + 45.548, + 56.433, + 52.044, + 51.604, + 63.674, + 47.545, + 49.991, + 48.091, + 61.366, + 52.644, + 57.501, + 48.576, + 43.266, + 59.285, + 59.685, + 40.802, + 68.755, + 52.214, + 49.42, + 48.388, + 58.333, + 69.745, + 65.393, + 44.284, + 61.999, + 47.391, + 47.472, + 73.615, + 23.599, + 62.742, + 58.196, + 38.333, + 39.658, + 61.888, + 53.556, + 58.474, + 50.44, + 58.061, + 70.001, + 48.825, + 46.1, + 60.377 + ], + "y":[ + 5023.216647, + 2627.845685, + 1191.207681, + 7954.111645, + 931.7527731, + 631.6998778, + 1793.163278, + 747.9055252, + 1058.0643, + 1246.90737, + 457.7191807, + 4016.239529, + 1648.073791, + 2377.156192, + 3794.755195, + 1132.055034, + 582.8585102, + 421.3534653, + 13522.15752, + 665.6244126, + 925.060154, + 794.3484384, + 745.5398706, + 1341.921721, + 977.4862725, + 636.6229191, + 9640.138501, + 1040.67619, + 563.2000145, + 739.014375, + 1361.369784, + 6058.253846, + 2948.047252, + 410.8968239, + 3804.537999, + 581.182725, + 1619.848217, + 6101.255823, + 737.0685949, + 1428.777814, + 1367.899369, + 1068.696278, + 926.9602964, + 7225.069258, + 1492.197043, + 3553.0224, + 825.682454, + 1034.298904, + 4332.720164, + 644.1707969, + 1210.884633, + 693.4207856 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 33958947, + 6893451, + 155975974, + 28523502, + 13572994, + 34202721, + 3173216, + 10723260, + 7351181, + 10748394, + 5274649, + 8486949, + 6326682, + 5077347, + 2378618, + 88111030, + 4017939, + 2484997, + 4483945, + 22430449, + 3585176, + 1183669, + 256894189, + 3149262, + 20265563 + ] + }, + "mode":"markers", + "x":[ + 71.868, + 59.957, + 67.057, + 77.95, + 74.126, + 68.421, + 75.713, + 74.414, + 68.457, + 69.613, + 66.798, + 63.373, + 55.089, + 66.399, + 71.766, + 71.455, + 65.843, + 72.462, + 68.225, + 66.458, + 73.911, + 69.862, + 76.09, + 72.752, + 71.15 + ], + "y":[ + 9308.41871, + 2961.699694, + 6950.283021, + 26342.88426, + 7596.125964, + 5444.648617, + 6160.416317, + 5592.843963, + 3044.214214, + 7103.702595, + 4444.2317, + 4439.45084, + 1456.309517, + 3081.694603, + 7404.923685, + 9472.384295, + 2170.151724, + 6618.74305, + 4196.411078, + 4446.380924, + 14641.58711, + 7370.990932, + 32003.93224, + 8137.004775, + 10733.92631 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 17481977, + 3437674 + ] + }, + "mode":"markers", + "x":[ + 77.56, + 76.33 + ], + "y":[ + 23424.76683, + 18363.32494 + ] + } + ], + "name":"1992" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 22227415, + 598561, + 123315288, + 11782962, + 1230075000, + 6495918, + 959000000, + 199278000, + 63327987, + 20775703, + 5531387, + 125956499, + 4526235, + 21585105, + 46173816, + 1765345, + 3430388, + 20476091, + 2494803, + 43247867, + 23001113, + 2283635, + 135564834, + 75012988, + 21229759, + 3802309, + 18698655, + 15081016, + 21628605, + 60216677, + 76048996, + 2826046, + 15826497 + ] + }, + "mode":"markers", + "x":[ + 41.763, + 73.925, + 59.412, + 56.534, + 70.426, + 80, + 61.765, + 66.041, + 68.042, + 58.811, + 78.269, + 80.69, + 69.772, + 67.727, + 74.647, + 76.156, + 70.265, + 71.938, + 63.625, + 60.328, + 59.426, + 72.499, + 61.818, + 68.564, + 70.533, + 77.158, + 70.457, + 71.527, + 75.25, + 67.521, + 70.672, + 71.096, + 58.02 + ], + "y":[ + 635.341351, + 20292.01679, + 972.7700352, + 734.28517, + 2289.234136, + 28377.63219, + 1458.817442, + 3119.335603, + 8263.590301, + 3076.239795, + 20896.60924, + 28816.58499, + 3645.379572, + 1690.756814, + 15993.52796, + 40300.61996, + 8754.96385, + 10132.90964, + 1902.2521, + 415, + 1010.892138, + 19702.05581, + 2049.350521, + 2536.534925, + 20586.69019, + 33519.4766, + 2664.477257, + 4014.238972, + 20206.82098, + 5852.625497, + 1385.896769, + 7110.667619, + 2117.484526 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3428038, + 8069876, + 10199787, + 3607000, + 8066057, + 4444595, + 10300707, + 5283663, + 5134406, + 58623428, + 82011073, + 10502372, + 10244684, + 271192, + 3667233, + 57479469, + 692651, + 15604464, + 4405672, + 38654957, + 10156415, + 22562458, + 10336594, + 5383010, + 2011612, + 39855442, + 8897619, + 7193761, + 63047647, + 58808266 + ] + }, + "mode":"markers", + "x":[ + 72.95, + 77.51, + 77.53, + 73.244, + 70.32, + 73.68, + 74.01, + 76.11, + 77.13, + 78.64, + 77.34, + 77.869, + 71.04, + 78.95, + 76.122, + 78.82, + 75.445, + 78.03, + 78.32, + 72.75, + 75.97, + 69.72, + 72.232, + 72.71, + 75.13, + 78.77, + 79.39, + 79.37, + 68.835, + 77.218 + ], + "y":[ + 3193.054604, + 29095.92066, + 27561.19663, + 4766.355904, + 5970.38876, + 9875.604515, + 16048.51424, + 29804.34567, + 23723.9502, + 25889.78487, + 27788.88416, + 18747.69814, + 11712.7768, + 28061.09966, + 24521.94713, + 24675.02446, + 6465.613349, + 30246.13063, + 41283.16433, + 10159.58368, + 17641.03156, + 7346.547557, + 7914.320304, + 12126.23065, + 17161.10735, + 20445.29896, + 25266.59499, + 32135.32301, + 6601.429915, + 26074.53136 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 29072015, + 9875024, + 6066080, + 1536536, + 10352843, + 6121610, + 14195809, + 3696513, + 7562011, + 527982, + 47798986, + 2800947, + 14625967, + 417908, + 66134291, + 439971, + 4058319, + 59861301, + 1126189, + 1235767, + 18418288, + 8048834, + 1193708, + 28263827, + 1982823, + 2200725, + 4759670, + 14165114, + 10419991, + 9384984, + 2444741, + 1149818, + 28529501, + 16603334, + 1774766, + 9666252, + 106207839, + 684810, + 7212583, + 145608, + 9535314, + 4578212, + 6633514, + 42835005, + 32160729, + 1054486, + 30686889, + 4320890, + 9231669, + 21210254, + 9417789, + 11404948 + ] + }, + "mode":"markers", + "x":[ + 69.152, + 40.963, + 54.777, + 52.556, + 50.324, + 45.326, + 52.199, + 46.066, + 51.573, + 60.66, + 42.587, + 52.962, + 47.991, + 53.157, + 67.217, + 48.245, + 53.378, + 49.402, + 60.461, + 55.861, + 58.556, + 51.455, + 44.873, + 54.407, + 55.558, + 42.221, + 71.555, + 54.978, + 47.495, + 49.903, + 60.43, + 70.736, + 67.66, + 46.344, + 58.909, + 51.313, + 47.464, + 74.772, + 36.087, + 63.306, + 60.187, + 39.897, + 43.795, + 60.236, + 55.373, + 54.289, + 48.466, + 58.39, + 71.973, + 44.578, + 40.238, + 46.809 + ], + "y":[ + 4797.295051, + 2277.140884, + 1232.975292, + 8647.142313, + 946.2949618, + 463.1151478, + 1694.337469, + 740.5063317, + 1004.961353, + 1173.618235, + 312.188423, + 3484.164376, + 1786.265407, + 1895.016984, + 4173.181797, + 2814.480755, + 913.47079, + 515.8894013, + 14722.84188, + 653.7301704, + 1005.245812, + 869.4497668, + 796.6644681, + 1360.485021, + 1186.147994, + 609.1739508, + 9467.446056, + 986.2958956, + 692.2758103, + 790.2579846, + 1483.136136, + 7425.705295, + 2982.101858, + 472.3460771, + 3899.52426, + 580.3052092, + 1624.941275, + 6071.941411, + 589.9445051, + 1339.076036, + 1392.368347, + 574.6481576, + 930.5964284, + 7479.188244, + 1632.210764, + 3876.76846, + 789.1862231, + 982.2869243, + 4876.798614, + 816.559081, + 1071.353818, + 792.4499603 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 36203463, + 7693188, + 168546719, + 30305843, + 14599929, + 37657830, + 3518107, + 10983007, + 7992357, + 11911819, + 5783439, + 9803875, + 6913545, + 5867957, + 2531311, + 95895146, + 4609572, + 2734531, + 5154123, + 24748122, + 3759430, + 1138101, + 272911760, + 3262838, + 22374398 + ] + }, + "mode":"markers", + "x":[ + 73.275, + 62.05, + 69.388, + 78.61, + 75.816, + 70.313, + 77.26, + 76.151, + 69.957, + 72.312, + 69.535, + 66.322, + 56.671, + 67.659, + 72.262, + 73.67, + 68.426, + 73.738, + 69.4, + 68.386, + 74.917, + 69.465, + 76.81, + 74.223, + 72.146 + ], + "y":[ + 10967.28195, + 3326.143191, + 7957.980824, + 28954.92589, + 10118.05318, + 6117.361746, + 6677.045314, + 5431.990415, + 3614.101285, + 7429.455877, + 5154.825496, + 4684.313807, + 1341.726931, + 3160.454906, + 7121.924704, + 9767.29753, + 2253.023004, + 7113.692252, + 4247.400261, + 5838.347657, + 16999.4333, + 8792.573126, + 35767.43303, + 9230.240708, + 10165.49518 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 18565243, + 3676187 + ] + }, + "mode":"markers", + "x":[ + 78.83, + 77.55 + ], + "y":[ + 26997.93657, + 21050.41377 + ] + } + ], + "name":"1997" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 25268405, + 656397, + 135656790, + 12926707, + 1280400000, + 6762476, + 1034172547, + 211060000, + 66907826, + 24001816, + 6029529, + 127065841, + 5307470, + 22215365, + 47969150, + 2111561, + 3677780, + 22662365, + 2674234, + 45598081, + 25873917, + 2713462, + 153403524, + 82995088, + 24501530, + 4197776, + 19576783, + 17155814, + 22454239, + 62806748, + 80908147, + 3389578, + 18701257 + ] + }, + "mode":"markers", + "x":[ + 42.129, + 74.795, + 62.013, + 56.752, + 72.028, + 81.495, + 62.879, + 68.588, + 69.451, + 57.046, + 79.696, + 82, + 71.263, + 66.662, + 77.045, + 76.904, + 71.028, + 73.044, + 65.033, + 59.908, + 61.34, + 74.193, + 63.61, + 70.303, + 71.626, + 78.77, + 70.815, + 73.053, + 76.99, + 68.564, + 73.017, + 72.37, + 60.308 + ], + "y":[ + 726.7340548, + 23403.55927, + 1136.39043, + 896.2260153, + 3119.280896, + 30209.01516, + 1746.769454, + 2873.91287, + 9240.761975, + 4390.717312, + 21905.59514, + 28604.5919, + 3844.917194, + 1646.758151, + 19233.98818, + 35110.10566, + 9313.93883, + 10206.97794, + 2140.739323, + 611, + 1057.206311, + 19774.83687, + 2092.712441, + 2650.921068, + 19014.54118, + 36023.1054, + 3015.378833, + 4090.925331, + 23235.42329, + 5913.187529, + 1764.456677, + 4515.487575, + 2234.820827 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3508512, + 8148312, + 10311970, + 4165416, + 7661799, + 4481020, + 10256295, + 5374693, + 5193039, + 59925035, + 82350671, + 10603863, + 10083313, + 288030, + 3879155, + 57926999, + 720230, + 16122830, + 4535591, + 38625976, + 10433867, + 22404337, + 10111559, + 5410052, + 2011497, + 40152517, + 8954175, + 7361757, + 67308928, + 59912431 + ] + }, + "mode":"markers", + "x":[ + 75.651, + 78.98, + 78.32, + 74.09, + 72.14, + 74.876, + 75.51, + 77.18, + 78.37, + 79.59, + 78.67, + 78.256, + 72.59, + 80.5, + 77.783, + 80.24, + 73.981, + 78.53, + 79.05, + 74.67, + 77.29, + 71.322, + 73.213, + 73.8, + 76.66, + 79.78, + 80.04, + 80.62, + 70.845, + 78.471 + ], + "y":[ + 4604.211737, + 32417.60769, + 30485.88375, + 6018.975239, + 7696.777725, + 11628.38895, + 17596.21022, + 32166.50006, + 28204.59057, + 28926.03234, + 30035.80198, + 22514.2548, + 14843.93556, + 31163.20196, + 34077.04939, + 27968.09817, + 6557.194282, + 33724.75778, + 44683.97525, + 12002.23908, + 19970.90787, + 7885.360081, + 7236.075251, + 13638.77837, + 20660.01936, + 24835.47166, + 29341.63093, + 34480.95771, + 6508.085718, + 29478.99919 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 31287142, + 10866106, + 7026113, + 1630347, + 12251209, + 7021078, + 15929988, + 4048013, + 8835739, + 614382, + 55379852, + 3328795, + 16252726, + 447416, + 73312559, + 495627, + 4414865, + 67946797, + 1299304, + 1457766, + 20550751, + 8807818, + 1332459, + 31386842, + 2046772, + 2814651, + 5368585, + 16473477, + 11824495, + 10580176, + 2828858, + 1200206, + 31167783, + 18473780, + 1972153, + 11140655, + 119901274, + 743981, + 7852401, + 170372, + 10870037, + 5359092, + 7753310, + 44433622, + 37090298, + 1130269, + 34593779, + 4977378, + 9770575, + 24739869, + 10595811, + 11926563 + ] + }, + "mode":"markers", + "x":[ + 70.994, + 41.003, + 54.406, + 46.634, + 50.65, + 47.36, + 49.856, + 43.308, + 50.525, + 62.974, + 44.966, + 52.97, + 46.832, + 53.373, + 69.806, + 49.348, + 55.24, + 50.725, + 56.761, + 58.041, + 58.453, + 53.676, + 45.504, + 50.992, + 44.593, + 43.753, + 72.737, + 57.286, + 45.009, + 51.818, + 62.247, + 71.954, + 69.615, + 44.026, + 51.479, + 54.496, + 46.608, + 75.744, + 43.413, + 64.337, + 61.6, + 41.012, + 45.936, + 53.365, + 56.369, + 43.869, + 49.651, + 57.561, + 73.042, + 47.813, + 39.193, + 39.989 + ], + "y":[ + 5288.040382, + 2773.287312, + 1372.877931, + 11003.60508, + 1037.645221, + 446.4035126, + 1934.011449, + 738.6906068, + 1156.18186, + 1075.811558, + 241.1658765, + 3484.06197, + 1648.800823, + 1908.260867, + 4754.604414, + 7703.4959, + 765.3500015, + 530.0535319, + 12521.71392, + 660.5855997, + 1111.984578, + 945.5835837, + 575.7047176, + 1287.514732, + 1275.184575, + 531.4823679, + 9534.677467, + 894.6370822, + 665.4231186, + 951.4097518, + 1579.019543, + 9021.815894, + 3258.495584, + 633.6179466, + 4072.324751, + 601.0745012, + 1615.286395, + 6316.1652, + 785.6537648, + 1353.09239, + 1519.635262, + 699.489713, + 882.0818218, + 7710.946444, + 1993.398314, + 4128.116943, + 899.0742111, + 886.2205765, + 5722.895655, + 927.7210018, + 1071.613938, + 672.0386227 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 38331121, + 8445134, + 179914212, + 31902268, + 15497046, + 41008227, + 3834934, + 11226999, + 8650322, + 12921234, + 6353681, + 11178650, + 7607651, + 6677328, + 2664659, + 102479927, + 5146848, + 2990875, + 5884491, + 26769436, + 3859606, + 1101832, + 287675526, + 3363085, + 24287670 + ] + }, + "mode":"markers", + "x":[ + 74.34, + 63.883, + 71.006, + 79.77, + 77.86, + 71.682, + 78.123, + 77.158, + 70.847, + 74.173, + 70.734, + 68.978, + 58.137, + 68.565, + 72.047, + 74.902, + 70.836, + 74.712, + 70.755, + 69.906, + 77.778, + 68.976, + 77.31, + 75.307, + 72.766 + ], + "y":[ + 8797.640716, + 3413.26269, + 8131.212843, + 33328.96507, + 10778.78385, + 5755.259962, + 7723.447195, + 6340.646683, + 4563.808154, + 5773.044512, + 5351.568666, + 4858.347495, + 1270.364932, + 3099.72866, + 6994.774861, + 10742.44053, + 2474.548819, + 7356.031934, + 3783.674243, + 5909.020073, + 18855.60618, + 11460.60023, + 39097.09955, + 7727.002004, + 8605.047831 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 19546792, + 3908037 + ] + }, + "mode":"markers", + "x":[ + 80.37, + 79.11 + ], + "y":[ + 30687.75473, + 23189.80135 + ] + } + ], + "name":"2002" + }, + { + "data":[ + { + "name":"Asia", + "text":[ + "Afghanistan", + "Bahrain", + "Bangladesh", + "Cambodia", + "China", + "Hong Kong, China", + "India", + "Indonesia", + "Iran", + "Iraq", + "Israel", + "Japan", + "Jordan", + "Korea, Dem. Rep.", + "Korea, Rep.", + "Kuwait", + "Lebanon", + "Malaysia", + "Mongolia", + "Myanmar", + "Nepal", + "Oman", + "Pakistan", + "Philippines", + "Saudi Arabia", + "Singapore", + "Sri Lanka", + "Syria", + "Taiwan", + "Thailand", + "Vietnam", + "West Bank and Gaza", + "Yemen, Rep." + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 31889923, + 708573, + 150448339, + 14131858, + 1318683096, + 6980412, + 1110396331, + 223547000, + 69453570, + 27499638, + 6426679, + 127467972, + 6053193, + 23301725, + 49044790, + 2505559, + 3921278, + 24821286, + 2874127, + 47761980, + 28901790, + 3204897, + 169270617, + 91077287, + 27601038, + 4553009, + 20378239, + 19314747, + 23174294, + 65068149, + 85262356, + 4018332, + 22211743 + ] + }, + "mode":"markers", + "x":[ + 43.828, + 75.635, + 64.062, + 59.723, + 72.961, + 82.208, + 64.698, + 70.65, + 70.964, + 59.545, + 80.745, + 82.603, + 72.535, + 67.297, + 78.623, + 77.588, + 71.993, + 74.241, + 66.803, + 62.069, + 63.785, + 75.64, + 65.483, + 71.688, + 72.777, + 79.972, + 72.396, + 74.143, + 78.4, + 70.616, + 74.249, + 73.422, + 62.698 + ], + "y":[ + 974.5803384, + 29796.04834, + 1391.253792, + 1713.778686, + 4959.114854, + 39724.97867, + 2452.210407, + 3540.651564, + 11605.71449, + 4471.061906, + 25523.2771, + 31656.06806, + 4519.461171, + 1593.06548, + 23348.13973, + 47306.98978, + 10461.05868, + 12451.6558, + 3095.772271, + 944, + 1091.359778, + 22316.19287, + 2605.94758, + 3190.481016, + 21654.83194, + 47143.17964, + 3970.095407, + 4184.548089, + 28718.27684, + 7458.396327, + 2441.576404, + 3025.349798, + 2280.769906 + ] + }, + { + "name":"Europe", + "text":[ + "Albania", + "Austria", + "Belgium", + "Bosnia and Herzegovina", + "Bulgaria", + "Croatia", + "Czech Republic", + "Denmark", + "Finland", + "France", + "Germany", + "Greece", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Serbia", + "Slovak Republic", + "Slovenia", + "Spain", + "Sweden", + "Switzerland", + "Turkey", + "United Kingdom" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 3600523, + 8199783, + 10392226, + 4552198, + 7322858, + 4493312, + 10228744, + 5468120, + 5238460, + 61083916, + 82400996, + 10706290, + 9956108, + 301931, + 4109086, + 58147733, + 684736, + 16570613, + 4627926, + 38518241, + 10642836, + 22276056, + 10150265, + 5447502, + 2009245, + 40448191, + 9031088, + 7554661, + 71158647, + 60776238 + ] + }, + "mode":"markers", + "x":[ + 76.423, + 79.829, + 79.441, + 74.852, + 73.005, + 75.748, + 76.486, + 78.332, + 79.313, + 80.657, + 79.406, + 79.483, + 73.338, + 81.757, + 78.885, + 80.546, + 74.543, + 79.762, + 80.196, + 75.563, + 78.098, + 72.476, + 74.002, + 74.663, + 77.926, + 80.941, + 80.884, + 81.701, + 71.777, + 79.425 + ], + "y":[ + 5937.029526, + 36126.4927, + 33692.60508, + 7446.298803, + 10680.79282, + 14619.22272, + 22833.30851, + 35278.41874, + 33207.0844, + 30470.0167, + 32170.37442, + 27538.41188, + 18008.94444, + 36180.78919, + 40675.99635, + 28569.7197, + 9253.896111, + 36797.93332, + 49357.19017, + 15389.92468, + 20509.64777, + 10808.47561, + 9786.534714, + 18678.31435, + 25768.25759, + 28821.0637, + 33859.74835, + 37506.41907, + 8458.276384, + 33203.26128 + ] + }, + { + "name":"Africa", + "text":[ + "Algeria", + "Angola", + "Benin", + "Botswana", + "Burkina Faso", + "Burundi", + "Cameroon", + "Central African Republic", + "Chad", + "Comoros", + "Congo, Dem. Rep.", + "Congo, Rep.", + "Cote d'Ivoire", + "Djibouti", + "Egypt", + "Equatorial Guinea", + "Eritrea", + "Ethiopia", + "Gabon", + "Gambia", + "Ghana", + "Guinea", + "Guinea-Bissau", + "Kenya", + "Lesotho", + "Liberia", + "Libya", + "Madagascar", + "Malawi", + "Mali", + "Mauritania", + "Mauritius", + "Morocco", + "Mozambique", + "Namibia", + "Niger", + "Nigeria", + "Reunion", + "Rwanda", + "Sao Tome and Principe", + "Senegal", + "Sierra Leone", + "Somalia", + "South Africa", + "Sudan", + "Swaziland", + "Tanzania", + "Togo", + "Tunisia", + "Uganda", + "Zambia", + "Zimbabwe" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 33333216, + 12420476, + 8078314, + 1639131, + 14326203, + 8390505, + 17696293, + 4369038, + 10238807, + 710960, + 64606759, + 3800610, + 18013409, + 496374, + 80264543, + 551201, + 4906585, + 76511887, + 1454867, + 1688359, + 22873338, + 9947814, + 1472041, + 35610177, + 2012649, + 3193942, + 6036914, + 19167654, + 13327079, + 12031795, + 3270065, + 1250882, + 33757175, + 19951656, + 2055080, + 12894865, + 135031164, + 798094, + 8860588, + 199579, + 12267493, + 6144562, + 9118773, + 43997828, + 42292929, + 1133066, + 38139640, + 5701579, + 10276158, + 29170398, + 11746035, + 12311143 + ] + }, + "mode":"markers", + "x":[ + 72.301, + 42.731, + 56.728, + 50.728, + 52.295, + 49.58, + 50.43, + 44.741, + 50.651, + 65.152, + 46.462, + 55.322, + 48.328, + 54.791, + 71.338, + 51.579, + 58.04, + 52.947, + 56.735, + 59.448, + 60.022, + 56.007, + 46.388, + 54.11, + 42.592, + 45.678, + 73.952, + 59.443, + 48.303, + 54.467, + 64.164, + 72.801, + 71.164, + 42.082, + 52.906, + 56.867, + 46.859, + 76.442, + 46.242, + 65.528, + 63.062, + 42.568, + 48.159, + 49.339, + 58.556, + 39.613, + 52.517, + 58.42, + 73.923, + 51.542, + 42.384, + 43.487 + ], + "y":[ + 6223.367465, + 4797.231267, + 1441.284873, + 12569.85177, + 1217.032994, + 430.0706916, + 2042.09524, + 706.016537, + 1704.063724, + 986.1478792, + 277.5518587, + 3632.557798, + 1544.750112, + 2082.481567, + 5581.180998, + 12154.08975, + 641.3695236, + 690.8055759, + 13206.48452, + 752.7497265, + 1327.60891, + 942.6542111, + 579.231743, + 1463.249282, + 1569.331442, + 414.5073415, + 12057.49928, + 1044.770126, + 759.3499101, + 1042.581557, + 1803.151496, + 10956.99112, + 3820.17523, + 823.6856205, + 4811.060429, + 619.6768924, + 2013.977305, + 7670.122558, + 863.0884639, + 1598.435089, + 1712.472136, + 862.5407561, + 926.1410683, + 9269.657808, + 2602.394995, + 4513.480643, + 1107.482182, + 882.9699438, + 7092.923025, + 1056.380121, + 1271.211593, + 469.7092981 + ] + }, + { + "name":"Americas", + "text":[ + "Argentina", + "Bolivia", + "Brazil", + "Canada", + "Chile", + "Colombia", + "Costa Rica", + "Cuba", + "Dominican Republic", + "Ecuador", + "El Salvador", + "Guatemala", + "Haiti", + "Honduras", + "Jamaica", + "Mexico", + "Nicaragua", + "Panama", + "Paraguay", + "Peru", + "Puerto Rico", + "Trinidad and Tobago", + "United States", + "Uruguay", + "Venezuela" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 40301927, + 9119152, + 190010647, + 33390141, + 16284741, + 44227550, + 4133884, + 11416987, + 9319622, + 13755680, + 6939688, + 12572928, + 8502814, + 7483763, + 2780132, + 108700891, + 5675356, + 3242173, + 6667147, + 28674757, + 3942491, + 1056608, + 301139947, + 3447496, + 26084662 + ] + }, + "mode":"markers", + "x":[ + 75.32, + 65.554, + 72.39, + 80.653, + 78.553, + 72.889, + 78.782, + 78.273, + 72.235, + 74.994, + 71.878, + 70.259, + 60.916, + 70.198, + 72.567, + 76.195, + 72.899, + 75.537, + 71.752, + 71.421, + 78.746, + 69.819, + 78.242, + 76.384, + 73.747 + ], + "y":[ + 12779.37964, + 3822.137084, + 9065.800825, + 36319.23501, + 13171.63885, + 7006.580419, + 9645.06142, + 8948.102923, + 6025.374752, + 6873.262326, + 5728.353514, + 5186.050003, + 1201.637154, + 3548.330846, + 7320.880262, + 11977.57496, + 2749.320965, + 9809.185636, + 4172.838464, + 7408.905561, + 19328.70901, + 18008.50924, + 42951.65309, + 10611.46299, + 11415.80569 + ] + }, + { + "name":"Oceania", + "text":[ + "Australia", + "New Zealand" + ], + "marker":{ + "sizemode":"area", + "sizeref":200000, + "size":[ + 20434176, + 4115771 + ] + }, + "mode":"markers", + "x":[ + 81.235, + 80.204 + ], + "y":[ + 34435.36744, + 25185.00911 + ] + } + ], + "name":"2007" + } + ], + "layout":{ + "xaxis":{ + "title":"Life Expectancy", + "range":[ + 30, + 85 + ] + }, + "yaxis":{ + "title":"GDP per Capita", + "type":"log" + }, + "hovermode":"closest", + "slider":{ + "visible":true, + "plotlycommand":"animate", + "args":[ + "slider.value", + { + "duration":400, + "ease":"cubic-in-out" + } + ], + "initialValue":"1952", + "values":[ + "1952", + "1957", + "1962", + "1967", + "1972", + "1977", + "1982", + "1987", + "1992", + "1997", + "2002", + "2007" + ] + }, + "updatemenus": [{ + "x": 0.1, + "y": 0, + "yanchor": "top", + "xanchor": "right", + "showactive": false, + "direction": "left", + "type": "buttons", + "pad": {"t": 87, "r": 10}, + "buttons": [{ + "method": "animate", + "args": [null, { + "fromcurrent": true, + "transition": { + "duration": 300, + "easing": "quadratic-in-out" + }, + "frame": { + "duration": 500, + "redraw": false + } + }], + "label": "Play" + }, { + "method": "animate", + "args": [ + [null], + { + "mode": "immediate", + "transition": { + "duration": 0 + }, + "frame": { + "duration": 0, + "redraw": false + } + } + ], + "label": "Pause" + }] + }], + "sliders": [{ + "active": 0, + "steps": [{ + "label": "1952", + "method": "animate", + "args": [["1952"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1957", + "method": "animate", + "args": [["1957"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1962", + "method": "animate", + "args": [["1962"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1967", + "method": "animate", + "args": [["1967"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1972", + "method": "animate", + "args": [["1972"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1977", + "method": "animate", + "args": [["1977"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1982", + "method": "animate", + "args": [["1982"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1987", + "method": "animate", + "args": [["1987"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1992", + "method": "animate", + "args": [["1992"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "1997", + "method": "animate", + "args": [["1997"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "2002", + "method": "animate", + "args": [["2002"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }, { + "label": "2007", + "method": "animate", + "args": [["2007"], { + "mode": "immediate", + "transition": {"duration": 300}, + "frame": {"duration": 300, "redraw": false} + } + ] + }], + "x": 0.1, + "len": 0.9, + "xanchor": "left", + "y": 0, + "yanchor": "top", + "pad": {"t": 50, "b": 10}, + "currentvalue": { + "visible": true, + "prefix": "Year:", + "xanchor": "right", + "font": { + "size": 20, + "color": "#666" + } + }, + "transition": { + "duration": 300, + "easing": "cubic-in-out" + } + }] + }, + "config": { + "scrollzoom": true + } +} diff --git a/content/plotly_js/animations/filled-area-animations/2017-08-22-filled-area-animations.html b/content/plotly_js/animations/filled-area-animations/2017-08-22-filled-area-animations.html new file mode 100644 index 00000000000..7b085e4b219 --- /dev/null +++ b/content/plotly_js/animations/filled-area-animations/2017-08-22-filled-area-animations.html @@ -0,0 +1,96 @@ +--- +name: Filled-Area-Animation +plot_url: https://codepen.io/bcd/embed/ayVXvY/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: filled-area-animations +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + + var frames = [] + var x = unpack(rows, 'AAPL_x') + var y = unpack(rows, 'AAPL_y') + + var n = 100; + for (var i = 0; i < n; i++) { + frames[i] = {data: [{x: [], y: []}]} + frames[i].data[0].x = x.slice(0, i+1); + frames[i].data[0].y = y.slice(0, i+1); + } + + Plotly.newPlot('myDiv', [{ + x: frames[1].data[0].x, + y: frames[1].data[0].y, + fill: 'tozeroy', + type: 'scatter', + mode: 'lines', + line: {color: 'green'} + }], { + title: { + text: "Filled-Area Animation" + }, + xaxis: { + type: 'date', + range: [ + frames[99].data[0].x[0], + frames[99].data[0].x[99] + ] + }, + yaxis: { + range: [ + 0, + 90 + ] + }, + updatemenus: [{ + x: 0.1, + y: 0, + yanchor: "top", + xanchor: "right", + showactive: false, + direction: "left", + type: "buttons", + pad: {"t": 87, "r": 10}, + buttons: [{ + method: "animate", + args: [null, { + fromcurrent: true, + transition: { + duration: 0, + }, + frame: { + duration: 40, + redraw: false + } + }], + label: "Play" + }, { + method: "animate", + args: [ + [null], + { + mode: "immediate", + transition: { + duration: 0 + }, + frame: { + duration: 0, + redraw: false + } + } + ], + label: "Pause" + }] + }] + }).then(function() { + Plotly.addFrames('myDiv', frames); + }); + +}) diff --git a/content/plotly_js/animations/filled-area-animations/2017-08-22-multiple-filled-area-animations.html b/content/plotly_js/animations/filled-area-animations/2017-08-22-multiple-filled-area-animations.html new file mode 100644 index 00000000000..848164df064 --- /dev/null +++ b/content/plotly_js/animations/filled-area-animations/2017-08-22-multiple-filled-area-animations.html @@ -0,0 +1,116 @@ +--- +name: Multiple Trace Filled-Area +plot_url: https://codepen.io/bcd/embed/BdJXpP/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: filled-area-animations +order: 2 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + + var frames = [] + var x = unpack(rows, 'Date') + var y = unpack(rows, 'AAPL.High') + var x2 = unpack(rows, 'Date') + var y2 = unpack(rows, 'AAPL.Low') + + var n = 100; + for (var i = 0; i < n; i++) { + frames[i] = {data: [{x: [], y: []}, {x: [], y: []}]} + frames[i].data[1].x = x.slice(0, i+1); + frames[i].data[1].y = y.slice(0, i+1); + frames[i].data[0].x = x2.slice(0, i+1); + frames[i].data[0].y = y2.slice(0, i+1); + } + + var trace2 = { + type: "scatter", + mode: "lines", + name: 'AAPL High', + fill: 'tonexty', + x: frames[5].data[1].x, + y: frames[5].data[1].y, + line: {color: 'grey'} + } + + var trace1 = { + type: "scatter", + mode: "lines", + name: 'AAPL Low', + x: frames[5].data[0].x, + y: frames[5].data[0].y, + line: {color: 'lightgrey'} + } + + var data = [trace1,trace2]; + + var layout = { + title: { + text: 'Multiple Trace Filled-Area Animation' + }, + xaxis: { + range: [frames[99].data[0].x[0], frames[99].data[0].x[99]], + showgrid: false + }, + yaxis: { + range: [120, 140], + showgrid: false + }, + legend: { + orientation: 'h', + x: 0.5, + y: 1.2, + xanchor: 'center' + }, + updatemenus: [{ + x: 0.5, + y: 0, + yanchor: "top", + xanchor: "center", + showactive: false, + direction: "left", + type: "buttons", + pad: {"t": 87, "r": 10}, + buttons: [{ + method: "animate", + args: [null, { + fromcurrent: true, + transition: { + duration: 0, + }, + frame: { + duration: 40, + redraw: false + } + }], + label: "Play" + }, { + method: "animate", + args: [ + [null], + { + mode: "immediate", + transition: { + duration: 0 + }, + frame: { + duration: 0, + redraw: false + } + } + ], + label: "Pause" + }] + }] + }; + + Plotly.newPlot('myDiv', data, layout).then(function() { + Plotly.addFrames('myDiv', frames); + }); +}) diff --git a/content/plotly_js/animations/map-animations/2017-08-22-choropleth-animation.html b/content/plotly_js/animations/map-animations/2017-08-22-choropleth-animation.html new file mode 100644 index 00000000000..552dff20a5b --- /dev/null +++ b/content/plotly_js/animations/map-animations/2017-08-22-choropleth-animation.html @@ -0,0 +1,130 @@ +--- +name: Map Animations +language: plotly_js +suite: map-animations +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv", function(err, rows){ + + function filter_and_unpack(rows, key, year) { + return rows.filter(row => row['year'] == year).map(row => row[key]) + } + + var frames = [] + var slider_steps = [] + + var n = 11; + var num = 1952; + for (var i = 0; i <= n; i++) { + var z = filter_and_unpack(rows, 'lifeExp', num) + var locations = filter_and_unpack(rows, 'iso_alpha', num) + frames[i] = {data: [{z: z, locations: locations, text: locations}], name: num} + slider_steps.push ({ + label: num.toString(), + method: "animate", + args: [[num], { + mode: "immediate", + transition: {duration: 300}, + frame: {duration: 300} + } + ] + }) + num = num + 5 + } + +var data = [{ + type: 'choropleth', + locationmode: 'world', + locations: frames[0].data[0].locations, + z: frames[0].data[0].z, + text: frames[0].data[0].locations, + zauto: false, + zmin: 30, + zmax: 90 + +}]; +var layout = { + title: { + text: 'World Life Expectency
1952 - 2007' + }, + geo:{ + scope: 'world', + countrycolor: 'rgb(255, 255, 255)', + showland: true, + landcolor: 'rgb(217, 217, 217)', + showlakes: true, + lakecolor: 'rgb(255, 255, 255)', + subunitcolor: 'rgb(255, 255, 255)', + lonaxis: {}, + lataxis: {} + }, + updatemenus: [{ + x: 0.1, + y: 0, + yanchor: "top", + xanchor: "right", + showactive: false, + direction: "left", + type: "buttons", + pad: {"t": 87, "r": 10}, + buttons: [{ + method: "animate", + args: [null, { + fromcurrent: true, + transition: { + duration: 200, + }, + frame: { + duration: 500 + } + }], + label: "Play" + }, { + method: "animate", + args: [ + [null], + { + mode: "immediate", + transition: { + duration: 0 + }, + frame: { + duration: 0 + } + } + ], + label: "Pause" + }] + }], + sliders: [{ + active: 0, + steps: slider_steps, + x: 0.1, + len: 0.9, + xanchor: "left", + y: 0, + yanchor: "top", + pad: {t: 50, b: 10}, + currentvalue: { + visible: true, + prefix: "Year:", + xanchor: "right", + font: { + size: 20, + color: "#666" + } + }, + transition: { + duration: 300, + easing: "cubic-in-out" + } + }] +}; + +Plotly.newPlot('myDiv', data, layout).then(function() { + Plotly.addFrames('myDiv', frames); + }); +}) diff --git a/content/plotly_js/animations/map-animations/2017-08-22-map-animations-plotlyjs_index.html b/content/plotly_js/animations/map-animations/2017-08-22-map-animations-plotlyjs_index.html new file mode 100644 index 00000000000..63a17107247 --- /dev/null +++ b/content/plotly_js/animations/map-animations/2017-08-22-map-animations-plotlyjs_index.html @@ -0,0 +1,13 @@ +--- +name: Map Animation +permalink: javascript/map-animations/ +description: How to make an animated map with Plotly JS +layout: base +thumbnail: thumbnail/map-animation.gif +language: plotly_js +page_type: example_index +display_as: animations +order: 4 +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","map-animations" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/basic/2017-02-24-plotly_js-basic-index.html b/content/plotly_js/basic/2017-02-24-plotly_js-basic-index.html new file mode 100644 index 00000000000..52500c39db8 --- /dev/null +++ b/content/plotly_js/basic/2017-02-24-plotly_js-basic-index.html @@ -0,0 +1,27 @@ +--- +description: Plotly.js makes interactive, publication-quality graphs online. Examples + of how to make basic charts. +language: plotly_js +layout: langindex +name: Basic Charts +display_as: basic +permalink: javascript/basic-charts/ +thumbnail: thumbnail/mixed.jpg +--- + +
+
+ +
+ +
+

Plotly.js Basic Charts

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","basic" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/basic/WebGL/2018-08-07-webgl_100000-points.html b/content/plotly_js/basic/WebGL/2018-08-07-webgl_100000-points.html new file mode 100644 index 00000000000..d3056fa53db --- /dev/null +++ b/content/plotly_js/basic/WebGL/2018-08-07-webgl_100000-points.html @@ -0,0 +1,40 @@ +--- +name: WebGL with 100,000 points +language: plotly_js +suite: webgl-vs-svg +order: 1 +sitemap: false +arrangement: horizontal +--- + +function gaussianRand() { + var rand = 0; + for (var i = 0; i < 6; i += 1) { + rand += Math.random(); + } + return (rand / 6)-0.5; +} + +var X = [], + Y = [], + n = 100000, + i; + +for (i = 0; i < n; i += 1) { + X.push(gaussianRand()); + Y.push(gaussianRand()); +} + +var data = [{ + type: "scattergl", + mode: "markers", + marker: { + line: { + width: 1, + color: '#404040'} + }, + x: X, + y: Y +}] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/basic/WebGL/2018-08-07-webgl_1mill-points.html b/content/plotly_js/basic/WebGL/2018-08-07-webgl_1mill-points.html new file mode 100644 index 00000000000..a28a12268fa --- /dev/null +++ b/content/plotly_js/basic/WebGL/2018-08-07-webgl_1mill-points.html @@ -0,0 +1,41 @@ +--- +name: WebGL with 1 Million points +language: plotly_js +suite: webgl-vs-svg +order: 2 +sitemap: false +arrangement: horizontal +--- + +function gaussianRand() { + var rand = 0; + for (var i = 0; i < 6; i += 1) { + rand += Math.random(); + } + return (rand / 6)-0.5; +} + +var X = [], + Y = [], + n = 1000000, + i; + +for (i = 0; i < n; i += 1) { + X.push(gaussianRand()); + Y.push(gaussianRand()); +} + +var data = [{ + type: "scattergl", + mode: "markers", + marker: { + color : 'rgb(152, 0, 0)', + line: { + width: 1, + color: 'rgb(0,0,0)'} + }, + x: X, + y: Y +}] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/basic/WebGL/2018-08-07-webgl_many-traces.html b/content/plotly_js/basic/WebGL/2018-08-07-webgl_many-traces.html new file mode 100644 index 00000000000..74f908f827a --- /dev/null +++ b/content/plotly_js/basic/WebGL/2018-08-07-webgl_many-traces.html @@ -0,0 +1,42 @@ +--- +name: WebGL with many traces +language: plotly_js +suite: webgl-vs-svg +order: 3 +sitemap: false +arrangement: horizontal +--- + +function gaussianRand() { + var rand = 0; + for (var i = 0; i < 6; i += 1) { + rand += Math.random(); + } + return (rand / 6)-0.5; +} + + +var start_value = 0, + stop_value = 1, + point_num = 5000, + trace_num = 10; +var curr_value = start_value; +var step = (stop_value - start_value) / (point_num - 1); + +var data = []; +for (var j = 0; j < trace_num; j++) { + var X = [], + Y = []; + for (var i = 0; i < point_num; i++) { + X.push(curr_value + (step * i)); + Y.push((gaussianRand()*8)+(j*5)); + } + data.push({ + type: "scattergl", + mode: "line", + x: X, + y: Y + }) +} +var layout = {showlegend: false} +Plotly.newPlot('myDiv', data = data, layout = layout) diff --git a/content/plotly_js/basic/WebGL/2018-08-07-webgl_plotlyjs_index.html b/content/plotly_js/basic/WebGL/2018-08-07-webgl_plotlyjs_index.html new file mode 100644 index 00000000000..2b4d888e251 --- /dev/null +++ b/content/plotly_js/basic/WebGL/2018-08-07-webgl_plotlyjs_index.html @@ -0,0 +1,30 @@ +--- +description: Implement WebGL for increased speed, improved interactivity, and the + ability to plot even more data! +display_as: basic +language: plotly_js +layout: base +name: WebGL vs SVG +order: 14 +permalink: javascript/webgl-vs-svg/ +thumbnail: thumbnail/webgl.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","webgl-vs-svg"| sort: "order" %} +{% include posts/auto_examples.html examples=examples %} +
+

+ Multiple WebGL Contexts +

+

+Most browsers have a limit of between 8 and 16 WebGL contexts per page. A Plotly WebGL-based figure may use multiple WebGL contexts, but generally you'll be able to render between 4 and 8 figures on one page. + +If you exceed the browser limit on WebGL contexts, some figures won't render and you'll see an error. In the console in Chrome, for example, you'll see the error: "Too many active WebGL contexts. Oldest context will be lost". + +If you encounter WebGL context limits when using WebGL-based figures, you can use [Virtual WebGL](https://github.com/greggman/virtual-webgl), which virtualizes a single WebGL context into multiple contexts. + +To use it, add the following script on your page: +

<script src="https://unpkg.com/virtual-webgl@1.0.6/src/virtual-webgl.js"></script>
+

+
+ diff --git a/content/plotly_js/basic/area/2015-04-09-area_plotly_js_index.html b/content/plotly_js/basic/area/2015-04-09-area_plotly_js_index.html new file mode 100644 index 00000000000..9adfcb51438 --- /dev/null +++ b/content/plotly_js/basic/area/2015-04-09-area_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make a D3.js-based filled area plot in javascript. An area chart + displays a solid color between the traces of a graph. +display_as: basic +language: plotly_js +layout: base +name: Filled Area Plots +order: 7 +permalink: javascript/filled-area-plots/ +redirect_from: javascript-graphing-library/filled-area-plots/ +thumbnail: thumbnail/area1.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","area" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/area/2015-04-09-basic-area.html b/content/plotly_js/basic/area/2015-04-09-basic-area.html new file mode 100644 index 00000000000..01c0f8b49dc --- /dev/null +++ b/content/plotly_js/basic/area/2015-04-09-basic-area.html @@ -0,0 +1,25 @@ +--- +name: Basic Overlaid Area Chart +language: plotly_js +suite: area +order: 1 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3, 4], + y: [0, 2, 3, 5], + fill: 'tozeroy', + type: 'scatter' +}; + +var trace2 = { + x: [1, 2, 3, 4], + y: [3, 5, 1, 7], + fill: 'tonexty', + type: 'scatter' +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/area/2015-04-09-hoveron.html b/content/plotly_js/basic/area/2015-04-09-hoveron.html new file mode 100644 index 00000000000..2e55b664ed8 --- /dev/null +++ b/content/plotly_js/basic/area/2015-04-09-hoveron.html @@ -0,0 +1,48 @@ +--- +name: Select Hover Points +language: plotly_js +suite: area +order: 3 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + x: [0,0.5,1,1.5,2], + y: [0,1,2,1,0], + fill: 'toself', + fillcolor: '#ab63fa', + hoveron: 'points+fills', + line: { + color: '#ab63fa' + }, + text: "Points + Fills", + hoverinfo: 'text' + }, + { + x: [3,3.5,4,4.5,5], + y: [0,1,2,1,0], + fill: 'toself', + fillcolor: '#e763fa', + hoveron: 'points', + line: { + color: '#e763fa' + }, + text: "Points only", + hoverinfo: 'text' + }] + +var layout = { + title: { + text: 'Hover on points or fill' + }, + xaxis: { + range: [0,5] + }, + yaxis: { + range: [0,3] + } +} + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/basic/area/2015-04-09-stacked-area.html b/content/plotly_js/basic/area/2015-04-09-stacked-area.html new file mode 100644 index 00000000000..22b2470ff47 --- /dev/null +++ b/content/plotly_js/basic/area/2015-04-09-stacked-area.html @@ -0,0 +1,16 @@ +--- +name: Stacked Area Chart +language: plotly_js +suite: area +order: 2 +sitemap: false +arrangement: horizontal +--- +var plotDiv = document.getElementById('plot'); +var traces = [ + {x: [1,2,3], y: [2,1,4], stackgroup: 'one'}, + {x: [1,2,3], y: [1,1,2], stackgroup: 'one'}, + {x: [1,2,3], y: [3,0,2], stackgroup: 'one'} +]; + +Plotly.newPlot('myDiv', traces, {title: {text: 'stacked and filled line chart'}}); diff --git a/content/plotly_js/basic/area/2015-08-10-overlaid-area-char-without-boundary-lines.html b/content/plotly_js/basic/area/2015-08-10-overlaid-area-char-without-boundary-lines.html new file mode 100644 index 00000000000..4a6ed4a5a02 --- /dev/null +++ b/content/plotly_js/basic/area/2015-08-10-overlaid-area-char-without-boundary-lines.html @@ -0,0 +1,34 @@ +--- +name: Overlaid Area Chart Without Boundary Lines +language: plotly_js +suite: area +order: 2 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [0, 2, 3, 5], + fill: 'tozeroy', + type: 'scatter', + mode: 'none' +}; + +var trace2 = { + x: [1, 2, 3, 4], + y: [3, 5, 1, 7], + fill: 'tonexty', + type: 'scatter', + mode: 'none' +}; + +var layout = { + title: { + text: 'Overlaid Chart Without Boundary Lines' + } +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/area/2017-08-22-filled-area-plotlyjs_index.html b/content/plotly_js/basic/area/2017-08-22-filled-area-plotlyjs_index.html new file mode 100644 index 00000000000..0698468240a --- /dev/null +++ b/content/plotly_js/basic/area/2017-08-22-filled-area-plotlyjs_index.html @@ -0,0 +1,13 @@ +--- +name: Filled-Area Animation +permalink: javascript/filled-area-animation/ +description: How to make an animated filled-area plot with Plotly JS +layout: base +thumbnail: thumbnail/apple_stock_animation.gif +language: plotly_js +page_type: example_index +display_as: animations +order: 3 +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","filled-area-animations" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/basic/area/2018-09-18-normalized-stacked-area.html b/content/plotly_js/basic/area/2018-09-18-normalized-stacked-area.html new file mode 100644 index 00000000000..7f221d8d290 --- /dev/null +++ b/content/plotly_js/basic/area/2018-09-18-normalized-stacked-area.html @@ -0,0 +1,17 @@ +--- +name: Normalized Stacked Area Chart +language: plotly_js +suite: area +order: 2.1 +sitemap: false +arrangement: horizontal +--- +var plotDiv = document.getElementById('plot'); +var traces = [ + {x: [1,2,3], y: [2,1,4], stackgroup: 'one', groupnorm:'percent'}, + {x: [1,2,3], y: [1,1,2], stackgroup: 'one'}, + {x: [1,2,3], y: [3,0,2], stackgroup: 'one'} +]; + +Plotly.newPlot('myDiv', traces, {title: {text: 'Normalized stacked and filled line chart'}}); + diff --git a/content/plotly_js/basic/bar/2015-04-09-bar-marker-array.html b/content/plotly_js/basic/bar/2015-04-09-bar-marker-array.html new file mode 100644 index 00000000000..bf7b6bced0f --- /dev/null +++ b/content/plotly_js/basic/bar/2015-04-09-bar-marker-array.html @@ -0,0 +1,26 @@ +--- +name: Customizing Individual Bar Colors +language: plotly_js +suite: bar +order: 7 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: ['Feature A', 'Feature B', 'Feature C', 'Feature D', 'Feature E'], + y: [20, 14, 23, 25, 22], + marker:{ + color: ['rgba(204,204,204,1)', 'rgba(222,45,38,0.8)', 'rgba(204,204,204,1)', 'rgba(204,204,204,1)', 'rgba(204,204,204,1)'] + }, + type: 'bar' +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Least Used Feature' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2015-04-09-bar_plotly_js_index.html b/content/plotly_js/basic/bar/2015-04-09-bar_plotly_js_index.html new file mode 100644 index 00000000000..80fa221364e --- /dev/null +++ b/content/plotly_js/basic/bar/2015-04-09-bar_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based bar chart in javascript. Seven examples of + grouped, stacked, overlaid, and colored bar charts. +display_as: basic +language: plotly_js +layout: base +name: Bar Charts +order: 3 +page_type: example_index +permalink: javascript/bar-charts/ +redirect_from: javascript-graphing-library/bar-charts/ +thumbnail: thumbnail/bar.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","bar" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/bar/2015-04-09-basic-bar.html b/content/plotly_js/basic/bar/2015-04-09-basic-bar.html new file mode 100644 index 00000000000..061b1c03d95 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-04-09-basic-bar.html @@ -0,0 +1,17 @@ +--- +name: Basic Bar Chart +language: plotly_js +suite: bar +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: ['giraffes', 'orangutans', 'monkeys'], + y: [20, 14, 23], + type: 'bar' + } +]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/bar/2015-04-09-grouped-bar.html b/content/plotly_js/basic/bar/2015-04-09-grouped-bar.html new file mode 100644 index 00000000000..c9a5d164d82 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-04-09-grouped-bar.html @@ -0,0 +1,27 @@ +--- +name: Grouped Bar Chart +language: plotly_js +suite: bar +order: 2 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: ['giraffes', 'orangutans', 'monkeys'], + y: [20, 14, 23], + name: 'SF Zoo', + type: 'bar' +}; + +var trace2 = { + x: ['giraffes', 'orangutans', 'monkeys'], + y: [12, 18, 29], + name: 'LA Zoo', + type: 'bar' +}; + +var data = [trace1, trace2]; + +var layout = {barmode: 'group'}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2015-04-09-stacked-bar.html b/content/plotly_js/basic/bar/2015-04-09-stacked-bar.html new file mode 100644 index 00000000000..a3d1fafcad2 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-04-09-stacked-bar.html @@ -0,0 +1,27 @@ +--- +name: Stacked Bar Chart +language: plotly_js +suite: bar +order: 3 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: ['giraffes', 'orangutans', 'monkeys'], + y: [20, 14, 23], + name: 'SF Zoo', + type: 'bar' +}; + +var trace2 = { + x: ['giraffes', 'orangutans', 'monkeys'], + y: [12, 18, 29], + name: 'LA Zoo', + type: 'bar' +}; + +var data = [trace1, trace2]; + +var layout = {barmode: 'stack'}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2015-07-08-colored-and-styled-bar-chart.html b/content/plotly_js/basic/bar/2015-07-08-colored-and-styled-bar-chart.html new file mode 100644 index 00000000000..6cf80fb4b10 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-07-08-colored-and-styled-bar-chart.html @@ -0,0 +1,60 @@ +--- +name: Colored and Styled Bar Chart +language: plotly_js +suite: bar +order: 9 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012], + y: [219, 146, 112, 127, 124, 180, 236, 207, 236, 263, 350, 430, 474, 526, 488, 537, 500, 439], + name: 'Rest of world', + marker: {color: 'rgb(55, 83, 109)'}, + type: 'bar' +}; + +var trace2 = { + x: [1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012], + y: [16, 13, 10, 11, 28, 37, 43, 55, 56, 88, 105, 156, 270, 299, 340, 403, 549, 499], + name: 'China', + marker: {color: 'rgb(26, 118, 255)'}, + type: 'bar' +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'US Export of Plastic Scrap' + }, + xaxis: {tickfont: { + size: 14, + color: 'rgb(107, 107, 107)' + }}, + yaxis: { + title: { + text: 'USD (millions)', + font: { + size: 16, + color: 'rgb(107, 107, 107)' + } + }, + tickfont: { + size: 14, + color: 'rgb(107, 107, 107)' + } + }, + legend: { + x: 0, + y: 1.0, + bgcolor: 'rgba(255, 255, 255, 0)', + bordercolor: 'rgba(255, 255, 255, 0)' + }, + barmode: 'group', + bargap: 0.15, + bargroupgap: 0.1 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2015-08-07-Rotated-bar-chart-labels.html b/content/plotly_js/basic/bar/2015-08-07-Rotated-bar-chart-labels.html new file mode 100644 index 00000000000..29b7a059420 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-08-07-Rotated-bar-chart-labels.html @@ -0,0 +1,44 @@ +--- +name: Bar Chart with Rotated Labels +language: plotly_js +suite: bar +order: 6 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + y: [20, 14, 25, 16, 18, 22, 19, 15, 12, 16, 14, 17], + type: 'bar', + name: 'Primary Product', + marker: { + color: 'rgb(49,130,189)', + opacity: 0.7, + } +}; + +var trace2 = { + x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + y: [19, 14, 22, 14, 16, 19, 15, 14, 10, 12, 12, 16], + type: 'bar', + name: 'Secondary Product', + marker: { + color: 'rgb(204,204,204)', + opacity: 0.5 + } +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: '2013 Sales Report' + }, + xaxis: { + tickangle: -45 + }, + barmode: 'group' +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2015-08-07-bar-chart-with-hover-text.html b/content/plotly_js/basic/bar/2015-08-07-bar-chart-with-hover-text.html new file mode 100644 index 00000000000..454b4930915 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-08-07-bar-chart-with-hover-text.html @@ -0,0 +1,40 @@ +--- +name: Bar Chart with Hover Text +language: plotly_js +suite: bar +order: 4 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: ['Liam', 'Sophie', 'Jacob', 'Mia', 'William', 'Olivia'], + y: [8.0, 8.0, 12.0, 12.0, 13.0, 20.0], + type: 'bar', + text: ['4.17 below the mean', '4.17 below the mean', '0.17 below the mean', '0.17 below the mean', '0.83 above the mean', '7.83 above the mean'], + marker: { + color: 'rgb(142,124,195)' + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Number of Graphs Made this Week' + }, + font:{ + family: 'Raleway, sans-serif' + }, + showlegend: false, + xaxis: { + tickangle: -45 + }, + yaxis: { + zeroline: false, + gridwidth: 2 + }, + bargap :0.05 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2015-08-07-barchart-direct-labels.html b/content/plotly_js/basic/bar/2015-08-07-barchart-direct-labels.html new file mode 100644 index 00000000000..adf00fe5ae3 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-08-07-barchart-direct-labels.html @@ -0,0 +1,40 @@ +--- +name: Bar Chart with Direct Labels +language: plotly_js +suite: bar +order: 5 +sitemap: false +arrangement: horizontal +--- + +var xValue = ['Product A', 'Product B', 'Product C']; + +var yValue = [20, 14, 23]; + +var trace1 = { + x: xValue, + y: yValue, + type: 'bar', + text: yValue.map(String), + textposition: 'auto', + hoverinfo: 'none', + marker: { + color: 'rgb(158,202,225)', + opacity: 0.6, + line: { + color: 'rgb(8,48,107)', + width: 1.5 + } + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'January 2013 Sales Report' + }, + barmode: 'stack' +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2015-08-07-waterfall-bar-chart.html b/content/plotly_js/basic/bar/2015-08-07-waterfall-bar-chart.html new file mode 100644 index 00000000000..886a9c4dc90 --- /dev/null +++ b/content/plotly_js/basic/bar/2015-08-07-waterfall-bar-chart.html @@ -0,0 +1,107 @@ +--- +name: Waterfall Bar Chart +language: plotly_js +suite: bar +order: 10 +sitemap: false +arrangement: horizontal +--- + +// Base + +var xData = ['Product
Revenue', 'Services
Revenue', + 'Total
Revenue', 'Fixed
Costs', + 'Variable
Costs', 'Total
Costs', 'Total' +]; + +var yData = [400, 660, 660, 590, 400, 400, 340]; + +var textList = ['$430K', '$260K', '$690K', '$-120K', '$-200K', '$-320K', '$370K']; + +//Base + +var trace1 = { + x: xData, + y: [0, 430, 0, 570, 370, 370, 0], + marker: { + color: 'rgba(1,1,1,0.0)' + }, + type: 'bar' +}; + +//Revenue + +var trace2 = { + x: xData, + y: [430, 260, 690, 0, 0, 0, 0], + type: 'bar', + marker: { + color: 'rgba(55,128,191,0.7)', + line: { + color: 'rgba(55,128,191,1.0)', + width: 2 + } + } +}; + +//Cost + +var trace3 = { + x: xData, + y: [0, 0, 0, 120, 200, 320, 0], + type: 'bar', + marker: { + color: 'rgba(219, 64, 82, 0.7)', + line: { + color: 'rgba(219, 64, 82, 1.0)', + width: 2 + } + } +}; + +//Profit + +var trace4 = { + x: xData, + y: [0, 0, 0, 0, 0, 0, 370], + type: 'bar', + marker: { + color: 'rgba(50,171, 96, 0.7)', + line: { + color: 'rgba(50,171,96,1.0)', + width: 2 + } + } +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: { + text: 'Annual Profit 2015' + }, + barmode: 'stack', + paper_bgcolor: 'rgba(245,246,249,1)', + plot_bgcolor: 'rgba(245,246,249,1)', + width: 600, + height: 600, + showlegend: false, + annotations: [] +}; + +for ( var i = 0 ; i < 7 ; i++ ) { + var result = { + x: xData[i], + y: yData[i], + text: textList[i], + font: { + family: 'Arial', + size: 14, + color: 'rgba(245,246,249,1)' + }, + showarrow: false + }; + layout.annotations.push(result); +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2016-06-15-barmode-relative.html b/content/plotly_js/basic/bar/2016-06-15-barmode-relative.html new file mode 100644 index 00000000000..9ecbe396ea5 --- /dev/null +++ b/content/plotly_js/basic/bar/2016-06-15-barmode-relative.html @@ -0,0 +1,54 @@ +--- +name: Bar Chart with Relative Barmode +language: plotly_js +suite: bar +order: 11 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [1, 4, 9, 16], + name: 'Trace1', + type: 'bar' +}; +var trace2 = { + x: [1, 2, 3, 4], + y: [6, -8, -4.5, 8], + name: 'Trace2', + type: 'bar' +}; +var trace3 = { + x: [1, 2, 3, 4], + y: [-15, -3, 4.5, -8], + name: 'Trace3', + type: 'bar' + } + + var trace4 = { + x: [1, 2, 3, 4], + y: [-1, 3, -3, -4], + name: 'Trace4', + type: 'bar' + } + +var data = [trace1, trace2, trace3, trace4]; +var layout = { + xaxis: { + title: { + text: 'X axis' + } + }, + yaxis: { + title: { + text: 'Y axis' + } + }, + barmode: 'relative', + title: { + text: 'Relative Barmode' + } +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/basic/bar/2017-05-24-bar-widths.html b/content/plotly_js/basic/bar/2017-05-24-bar-widths.html new file mode 100644 index 00000000000..248ba5cabf0 --- /dev/null +++ b/content/plotly_js/basic/bar/2017-05-24-bar-widths.html @@ -0,0 +1,19 @@ +--- +name: Customizing Individual Bar Widths +language: plotly_js +suite: bar +order: 8 +sitemap: false +arrangement: horizontal +--- + +var trace0 = { + type: 'bar', + x: [1, 2, 3, 5.5, 10], + y: [10, 8, 6, 4, 2], + width: [0.8, 0.8, 0.8, 3.5, 4] +} + +var data = [trace0] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/bar/2017-08-30-barchart-direct-labels-grouped.html b/content/plotly_js/basic/bar/2017-08-30-barchart-direct-labels-grouped.html new file mode 100644 index 00000000000..13aa38f57ac --- /dev/null +++ b/content/plotly_js/basic/bar/2017-08-30-barchart-direct-labels-grouped.html @@ -0,0 +1,56 @@ +--- +name: Grouped Bar Chart with Direct Labels +language: plotly_js +suite: bar +order: 5.5 +sitemap: false +arrangement: horizontal +--- + +var xValue = ['Product A', 'Product B', 'Product C']; + +var yValue = [20, 14, 23]; +var yValue2 = [24, 16, 20]; + +var trace1 = { + x: xValue, + y: yValue, + type: 'bar', + text: yValue.map(String), + textposition: 'auto', + hoverinfo: 'none', + opacity: 0.5, + marker: { + color: 'rgb(158,202,225)', + line: { + color: 'rgb(8,48,107)', + width: 1.5 + } + } +}; + +var trace2 = { + x: xValue, + y: yValue2, + type: 'bar', + text: yValue2.map(String), + textposition: 'auto', + hoverinfo: 'none', + marker: { + color: 'rgba(58,200,225,.5)', + line: { + color: 'rgb(8,48,107)', + width: 1.5 + } + } +}; + +var data = [trace1,trace2]; + +var layout = { + title: { + text: 'January 2013 Sales Report' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bar/2018-02-27-bar-base.html b/content/plotly_js/basic/bar/2018-02-27-bar-base.html new file mode 100644 index 00000000000..658704ffdee --- /dev/null +++ b/content/plotly_js/basic/bar/2018-02-27-bar-base.html @@ -0,0 +1,33 @@ +--- +name: Customizing Individual Bar Base +language: plotly_js +suite: bar +order: 8.5 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + type: 'bar', + x: ['2016','2017','2018'], + y: [500,600,700], + base: [-500,-600,-700], + hovertemplate: '%{base}', + marker: { + color: 'red' + }, + name: 'expenses' + }, + { + type: 'bar', + x: ['2016','2017','2018'], + y: [300,400,700], + base: 0, + marker: { + color: 'blue' + }, + name: 'revenue' + }] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/bar/2024-02-02-rounded-bars.html b/content/plotly_js/basic/bar/2024-02-02-rounded-bars.html new file mode 100644 index 00000000000..d4d95b0600b --- /dev/null +++ b/content/plotly_js/basic/bar/2024-02-02-rounded-bars.html @@ -0,0 +1,56 @@ +--- +name: Rounded Corners on Bars +language: plotly_js +suite: bar +order: 9 +sitemap: false +arrangement: horizontal +markdown_content: | + To create rounded corners on bars, set `barcornerradius` on the layout to a number of pixels, or a string with a percentage of the bar width, for example, 25%. + You can also configure traces individually with `marker.cornerradius` on the trace. +--- + +var trace1 = { + x: ['South Korea', 'China', 'Canada'], + y: [24, 10, 9], + name: 'Gold', + type: 'bar', +}; + +var trace2 = { + x: ['South Korea', 'China', 'Canada'], + y: [13, 15, 12], + name: 'Silver', + type: 'bar', +}; + +var trace3 = { + x: ['South Korea', 'China', 'Canada'], + y: [11, 8, 12], + name: 'Bronze', + type: 'bar', +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + scattermode: 'group', + title: { + text: 'Grouped by Country' + }, + xaxis: { + title: { + text: 'Country' + } + }, + yaxis: { + title: { + text: 'Medals' + } + }, + barcornerradius: 15, +}; + +Plotly.newPlot('myDiv', data, layout); + + diff --git a/content/plotly_js/basic/bubble/2015-04-09-bubble_plotly_js_index.html b/content/plotly_js/basic/bubble/2015-04-09-bubble_plotly_js_index.html new file mode 100644 index 00000000000..7859a8cf6e3 --- /dev/null +++ b/content/plotly_js/basic/bubble/2015-04-09-bubble_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based bubble chart in javascript. Examples of scatter + charts whose markers have variable color, size, and symbols. +display_as: basic +language: plotly_js +layout: base +name: Bubble Charts +order: 5 +page_type: example_index +permalink: javascript/bubble-charts/ +redirect_from: javascript-graphing-library/bubble-charts/ +thumbnail: thumbnail/bubble.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","bubble" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/bubble/2015-04-09-bubblechart.html b/content/plotly_js/basic/bubble/2015-04-09-bubblechart.html new file mode 100644 index 00000000000..9cbb99505ff --- /dev/null +++ b/content/plotly_js/basic/bubble/2015-04-09-bubblechart.html @@ -0,0 +1,52 @@ +--- +name: Marker Size, Color, and Symbol as an Array +language: plotly_js +suite: bubble +order: 5 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 11, 12, 13], + mode: 'markers', + marker: { + color: ['hsl(0,100,40)', 'hsl(33,100,40)', 'hsl(66,100,40)', 'hsl(99,100,40)'], + size: [12, 22, 32, 42], + opacity: [0.6, 0.7, 0.8, 0.9] + }, + type: 'scatter' +}; + +var trace2 = { + x: [1, 2, 3, 4], + y: [11, 12, 13, 14], + mode: 'markers', + marker: { + color: 'rgb(31, 119, 180)', + size: 18, + symbol: ['circle', 'square', 'diamond', 'cross'] + }, + type: 'scatter' +}; + +var trace3 = { + x: [1, 2, 3, 4], + y: [12, 13, 14, 15], + mode: 'markers', + marker: { + size: 18, + line: { + color: ['rgb(120,120,120)', 'rgb(120,120,120)', 'red', 'rgb(120,120,120)'], + width: [2, 2, 6, 2] + } + }, + type: 'scatter' +}; + +var data = [trace1, trace2, trace3]; + +var layout = {showlegend: false}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bubble/2015-08-10-hover-text-bubblechart.html b/content/plotly_js/basic/bubble/2015-08-10-hover-text-bubblechart.html new file mode 100644 index 00000000000..e9b1dce152e --- /dev/null +++ b/content/plotly_js/basic/bubble/2015-08-10-hover-text-bubblechart.html @@ -0,0 +1,32 @@ +--- +name: Hover Text on Bubble Charts +language: plotly_js +suite: bubble +order: 2 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 11, 12, 13], + text: ['A
size: 40', 'B
size: 60', 'C
size: 80', 'D
size: 100'], + mode: 'markers', + marker: { + color: ['rgb(93, 164, 214)', 'rgb(255, 144, 14)', 'rgb(44, 160, 101)', 'rgb(255, 65, 54)'], + size: [40, 60, 80, 100] + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Bubble Chart Hover Text' + }, + showlegend: false, + height: 600, + width: 600 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bubble/2015-08-10-marker-size-and-color.html b/content/plotly_js/basic/bubble/2015-08-10-marker-size-and-color.html new file mode 100644 index 00000000000..a14498624fe --- /dev/null +++ b/content/plotly_js/basic/bubble/2015-08-10-marker-size-and-color.html @@ -0,0 +1,32 @@ +--- +name: Marker Size and Color on Bubble Charts +language: plotly_js +suite: bubble +order: 2 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 11, 12, 13], + mode: 'markers', + marker: { + color: ['rgb(93, 164, 214)', 'rgb(255, 144, 14)', 'rgb(44, 160, 101)', 'rgb(255, 65, 54)'], + opacity: [1, 0.8, 0.6, 0.4], + size: [40, 60, 80, 100] + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Marker Size and Color' + }, + showlegend: false, + height: 600, + width: 600 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bubble/2015-08-10-markersize-bubblechart.html b/content/plotly_js/basic/bubble/2015-08-10-markersize-bubblechart.html new file mode 100644 index 00000000000..7c782c21a3c --- /dev/null +++ b/content/plotly_js/basic/bubble/2015-08-10-markersize-bubblechart.html @@ -0,0 +1,30 @@ +--- +name: Marker Size on Bubble Charts +language: plotly_js +suite: bubble +order: 1 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 11, 12, 13], + mode: 'markers', + marker: { + size: [40, 60, 80, 100] + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Marker Size' + }, + showlegend: false, + height: 600, + width: 600 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/bubble/2015-08-10-size-scaling-bubblechart.html b/content/plotly_js/basic/bubble/2015-08-10-size-scaling-bubblechart.html new file mode 100644 index 00000000000..a9379ce5d90 --- /dev/null +++ b/content/plotly_js/basic/bubble/2015-08-10-size-scaling-bubblechart.html @@ -0,0 +1,77 @@ +--- +name: Bubble Size Scaling on Charts +language: plotly_js +suite: bubble +order: 4 +sitemap: false +arrangement: horizontal +--- +// To scale the bubble size, use the attribute sizeref. We recommend using the following formula to calculate a sizeref value: +// sizeref = 2.0 * Math.max(...size) / (desired_maximum_marker_size**2) +// Note that setting 'sizeref' to a value greater than 1, decreases the rendered marker sizes, while setting 'sizeref' to less than 1, increases the rendered marker sizes. See https://plotly.com/python/reference/scatter/#scatter-marker-sizeref for more information. Additionally, we recommend setting the sizemode attribute: https://plotly.com/python/reference/scatter/#scatter-marker-sizemode to area. + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 11, 12, 13], + text: ['A
size: 40', 'B
size: 60', 'C
size: 80', 'D
size: 100'], + mode: 'markers', + marker: { + size: [400, 600, 800, 1000], + sizemode: 'area' + } +}; + +var trace2 = { + x: [1, 2, 3, 4], + y: [14, 15, 16, 17], + text: ['A
size: 40
sixeref: 0.2', 'B
size: 60
sixeref: 0.2', 'C
size: 80
sixeref: 0.2', 'D
size: 100
sixeref: 0.2'], + mode: 'markers', + marker: { + size: [400, 600, 800, 1000], + //setting 'sizeref' to lower than 1 decreases the rendered size + sizeref: 2, + sizemode: 'area' + } +}; + +var trace3 = { + x: [1, 2, 3, 4], + y: [20, 21, 22, 23], + text: ['A
size: 40
sixeref: 2', 'B
size: 60
sixeref: 2', 'C
size: 80
sixeref: 2', 'D
size: 100
sixeref: 2'], + mode: 'markers', + marker: { + size: [400, 600, 800, 1000], + //setting 'sizeref' to less than 1, increases the rendered marker sizes + sizeref: 0.2, + sizemode: 'area' + } +}; + +// sizeref using above formula +var desired_maximum_marker_size = 40; +var size = [400, 600, 800, 1000]; +var trace4 = { + x: [1, 2, 3, 4], + y: [26, 27, 28, 29], + text: ['A
size: 40
sixeref: 1.25', 'B
size: 60
sixeref: 1.25', 'C
size: 80
sixeref: 1.25', 'D
size: 100
sixeref: 1.25'], + mode: 'markers', + marker: { + size: size, + //set 'sizeref' to an 'ideal' size given by the formula sizeref = 2. * max(array_of_size_values) / (desired_maximum_marker_size ** 2) + sizeref: 2.0 * Math.max(...size) / (desired_maximum_marker_size**2), + sizemode: 'area' + } +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: { + text: 'Size Scaling in Bubble Charts' + }, + showlegend: false, + height: 600, + width: 600 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/dot/2015-04-09-dot_plotly_js_index.html b/content/plotly_js/basic/dot/2015-04-09-dot_plotly_js_index.html new file mode 100644 index 00000000000..fb45f9c94ed --- /dev/null +++ b/content/plotly_js/basic/dot/2015-04-09-dot_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make D3.js-based dot plots in JavaScript. Example of a styled, + categorical dot plot. +display_as: basic +language: plotly_js +layout: base +name: Dot Plots +order: 6 +permalink: javascript/dot-plots/ +thumbnail: thumbnail/dot-plot.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","dot" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/dot/2015-08-11-categorical-dot-plot.html b/content/plotly_js/basic/dot/2015-08-11-categorical-dot-plot.html new file mode 100644 index 00000000000..6e3f8e3d08b --- /dev/null +++ b/content/plotly_js/basic/dot/2015-08-11-categorical-dot-plot.html @@ -0,0 +1,91 @@ +--- +name: Categorical Dot Plot +language: plotly_js +suite: dot +order: 1 +sitemap: false +arrangement: horizontal +--- +var country = ['Switzerland (2011)', 'Chile (2013)', 'Japan (2014)', 'United States (2012)', 'Slovenia (2014)', 'Canada (2011)', 'Poland (2010)', 'Estonia (2015)', 'Luxembourg (2013)', 'Portugal (2011)']; + +var votingPop = [40, 45.7, 52, 53.6, 54.1, 54.2, 54.5, 54.7, 55.1, 56.6]; + +var regVoters = [49.1, 42, 52.7, 84.3, 51.7, 61.1, 55.3, 64.2, 91.1, 58.9]; + +var trace1 = { + type: 'scatter', + x: votingPop, + y: country, + mode: 'markers', + name: 'Percent of estimated voting age population', + marker: { + color: 'rgba(156, 165, 196, 0.95)', + line: { + color: 'rgba(156, 165, 196, 1.0)', + width: 1, + }, + symbol: 'circle', + size: 16 + } +}; + +var trace2 = { + x: regVoters, + y: country, + mode: 'markers', + name: 'Percent of estimated registered voters', + marker: { + color: 'rgba(204, 204, 204, 0.95)', + line: { + color: 'rgba(217, 217, 217, 1.0)', + width: 1, + }, + symbol: 'circle', + size: 16 + } +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Votes cast for ten lowest voting age population in OECD countries', + font: { + color: 'rgb(204, 204, 204)' + } + }, + xaxis: { + showgrid: false, + showline: true, + linecolor: 'rgb(102, 102, 102)', + tickfont: { + font: { + color: 'rgb(102, 102, 102)' + } + }, + tickmode: 'linear', + dtick: 10, + ticks: 'outside', + tickcolor: 'rgb(102, 102, 102)' + }, + margin: { + l: 140, + r: 40, + b: 50, + t: 80 + }, + legend: { + font: { + size: 10, + }, + yanchor: 'middle', + xanchor: 'right' + }, + width: 600, + height: 600, + paper_bgcolor: 'rgb(254, 247, 234)', + plot_bgcolor: 'rgb(254, 247, 234)', + hovermode: 'closest' +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/horizontal-bar/2015-04-09-basic-horizontal-bar.html b/content/plotly_js/basic/horizontal-bar/2015-04-09-basic-horizontal-bar.html new file mode 100644 index 00000000000..081464988af --- /dev/null +++ b/content/plotly_js/basic/horizontal-bar/2015-04-09-basic-horizontal-bar.html @@ -0,0 +1,17 @@ +--- +name: Basic Horizontal Bar Chart +language: plotly_js +suite: horizontal-bar +order: 0 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: 'bar', + x: [20, 14, 23], + y: ['giraffes', 'orangutans', 'monkeys'], + orientation: 'h' +}]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/horizontal-bar/2015-04-09-horizontal_bar_plotlyjs_index.html b/content/plotly_js/basic/horizontal-bar/2015-04-09-horizontal_bar_plotlyjs_index.html new file mode 100644 index 00000000000..7f3c77a1196 --- /dev/null +++ b/content/plotly_js/basic/horizontal-bar/2015-04-09-horizontal_bar_plotlyjs_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a D3.js-based hortizontal bar chart in JavaScript. +display_as: basic +language: plotly_js +layout: base +name: Horizontal Bar Charts +order: 8 +permalink: javascript/horizontal-bar-charts/ +redirect_from: javascript-graphing-library/horizontal-bar-charts/ +thumbnail: thumbnail/horizontal-bar.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","horizontal-bar" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/horizontal-bar/2015-07-08-colored-bar-chart.html b/content/plotly_js/basic/horizontal-bar/2015-07-08-colored-bar-chart.html new file mode 100644 index 00000000000..df1e1be7b59 --- /dev/null +++ b/content/plotly_js/basic/horizontal-bar/2015-07-08-colored-bar-chart.html @@ -0,0 +1,43 @@ +--- +name: Colored Bar Chart +language: plotly_js +suite: horizontal-bar +order: 1 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [20, 14, 23], + y: ['giraffes', 'orangutans', 'monkeys'], + name: 'SF Zoo', + orientation: 'h', + marker: { + color: 'rgba(55,128,191,0.6)', + width: 1 + }, + type: 'bar' +}; + +var trace2 = { + x: [12, 18, 29], + y: ['giraffes', 'orangutans', 'monkeys'], + name: 'LA Zoo', + orientation: 'h', + type: 'bar', + marker: { + color: 'rgba(255,153,51,0.6)', + width: 1 + } +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Colored Bar Chart' + }, + barmode: 'stack' +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/horizontal-bar/2015-08-11-barchart-with-line-plot.html b/content/plotly_js/basic/horizontal-bar/2015-08-11-barchart-with-line-plot.html new file mode 100644 index 00000000000..45115cfbf52 --- /dev/null +++ b/content/plotly_js/basic/horizontal-bar/2015-08-11-barchart-with-line-plot.html @@ -0,0 +1,136 @@ +--- +name: Bar Chart with Line Plot +language: plotly_js +suite: horizontal-bar +order: 4 +sitemap: false +arrangement: horizontal +--- +var xSavings = [1.3586, 2.2623000000000002, 4.9821999999999997, 6.5096999999999996, + 7.4812000000000003, 7.5133000000000001, 15.2148, 17.520499999999998 +]; + +var xNetworth = [93453.919999999998, 81666.570000000007, 69889.619999999995, 78381.529999999999, 141395.29999999999, 92969.020000000004, 66090.179999999993, 122379.3]; + +var ySavings = ['Japan', 'United Kingdom', 'Canada', 'Netherlands', 'United States', 'Belgium', 'Sweden', 'Switzerland']; + +var yNetworth = ['Japan', 'United Kingdom', 'Canada', 'Netherlands', 'United States', 'Belgium', 'Sweden', 'Switzerland']; + +var trace1 = { + x: xSavings, + y: ySavings, + xaxis: 'x1', + yaxis: 'y1', + type: 'bar', + marker: { + color: 'rgba(50,171,96,0.6)', + line: { + color: 'rgba(50,171,96,1.0)', + width: 1 + } + }, + name: 'Household savings, percentage of household disposable income', + orientation: 'h' +}; + +var trace2 = { + x: xNetworth, + y: yNetworth, + xaxis: 'x2', + yaxis: 'y1', + mode: 'lines+markers', + line: { + color: 'rgb(128,0,128)' + }, + name: 'Household net worth, Million USD/capita' +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Household Savings & Net Worth for Eight OECD Countries' + }, + xaxis1: { + range: [0, 20], + domain: [0, 0.5], + zeroline: false, + showline: false, + showticklabels: true, + showgrid: true + }, + xaxis2: { + range: [25000, 150000], + domain: [0.5, 1], + zeroline: false, + showline: false, + showticklabels: true, + showgrid: true, + side: 'top', + dtick: 25000 + }, + legend: { + x: 0.029, + y: 1.238, + font: { + size: 10 + } + }, + margin: { + l: 100, + r: 20, + t: 200, + b: 70 + }, + width: 600, + height: 600, + paper_bgcolor: 'rgb(248,248,255)', + plot_bgcolor: 'rgb(248,248,255)', + annotations: [ + { + xref: 'paper', + yref: 'paper', + x: -0.2, + y: -0.109, + text: 'OECD ' + '(2015), Household savings (indicator), ' + 'Household net worth (indicator). doi: ' + '10.1787/cfc6f499-en (Accessed on 05 June 2015)', + showarrow: false, + font:{ + family: 'Arial', + size: 10, + color: 'rgb(150,150,150)' + } + } + ] +}; + +for ( var i = 0 ; i < xSavings.length ; i++ ) { + var result = { + xref: 'x1', + yref: 'y1', + x: xSavings[i]+2.3, + y: ySavings[i], + text: xSavings[i] + '%', + font: { + family: 'Arial', + size: 12, + color: 'rgb(50, 171, 96)' + }, + showarrow: false, + }; + var result2 = { + xref: 'x2', + yref: 'y1', + x: xNetworth[i] - 20000, + y: yNetworth[i], + text: xNetworth[i] + ' M', + font: { + family: 'Arial', + size: 12, + color: 'rgb(128, 0, 128)' + }, + showarrow: false + }; + layout.annotations.push(result, result2); +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-04-09-basic-line.html b/content/plotly_js/basic/line-plots/2015-04-09-basic-line.html new file mode 100644 index 00000000000..fc430cbf200 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-04-09-basic-line.html @@ -0,0 +1,23 @@ +--- +name: Basic Line Plot +language: plotly_js +suite: line-plots +order: 1 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + type: 'scatter' +}; + +var trace2 = { + x: [1, 2, 3, 4], + y: [16, 5, 11, 9], + type: 'scatter' +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/line-plots/2015-04-09-line-shapes.html b/content/plotly_js/basic/line-plots/2015-04-09-line-shapes.html new file mode 100644 index 00000000000..6eab4faad2a --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-04-09-line-shapes.html @@ -0,0 +1,74 @@ +--- +name: Line Shape Options for Interpolation +language: plotly_js +suite: line-plots +order: 8 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3, 4, 5], + y: [1, 3, 2, 3, 1], + mode: 'lines+markers', + name: 'linear', + line: {shape: 'linear'}, + type: 'scatter' +}; + +var trace2 = { + x: [1, 2, 3, 4, 5], + y: [6, 8, 7, 8, 6], + mode: 'lines+markers', + name: 'spline', + text: ['tweak line smoothness
with "smoothing" in line object', 'tweak line smoothness
with "smoothing" in line object', 'tweak line smoothness
with "smoothing" in line object', 'tweak line smoothness
with "smoothing" in line object', 'tweak line smoothness
with "smoothing" in line object', 'tweak line smoothness
with "smoothing" in line object'], + line: {shape: 'spline'}, + type: 'scatter' +}; + +var trace3 = { + x: [1, 2, 3, 4, 5], + y: [11, 13, 12, 13, 11], + mode: 'lines+markers', + name: 'vhv', + line: {shape: 'vhv'}, + type: 'scatter' +}; + +var trace4 = { + x: [1, 2, 3, 4, 5], + y: [16, 18, 17, 18, 16], + mode: 'lines+markers', + name: 'hvh', + line: {shape: 'hvh'}, + type: 'scatter' +}; + +var trace5 = { + x: [1, 2, 3, 4, 5], + y: [21, 23, 22, 23, 21], + mode: 'lines+markers', + name: 'vh', + line: {shape: 'vh'}, + type: 'scatter' +}; + +var trace6 = { + x: [1, 2, 3, 4, 5], + y: [26, 28, 27, 28, 26], + mode: 'lines+markers', + name: 'hv', + line: {shape: 'hv'}, + type: 'scatter' +}; + +var data = [trace1, trace2, trace3, trace4, trace5, trace6]; + +var layout = { + legend: { + y: 0.5, + traceorder: 'reversed', + font: {size: 16}, + yref: 'paper' + }}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-04-09-line-style.html b/content/plotly_js/basic/line-plots/2015-04-09-line-style.html new file mode 100644 index 00000000000..bd30dd9a2dd --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-04-09-line-style.html @@ -0,0 +1,86 @@ +--- +name: Colored and Styled Scatter Plot +language: plotly_js +suite: line-plots +order: 7 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [52698, 43117], + y: [53, 31], + mode: 'markers', + name: 'North America', + text: ['United States', 'Canada'], + marker: { + color: 'rgb(164, 194, 244)', + size: 12, + line: { + color: 'white', + width: 0.5 + } + }, + type: 'scatter' +}; + +var trace2 = { + x: [39317, 37236, 35650, 30066, 29570, 27159, 23557, 21046, 18007], + y: [33, 20, 13, 19, 27, 19, 49, 44, 38], + mode: 'markers', + name: 'Europe', + text: ['Germany', 'Britain', 'France', 'Spain', 'Italy', 'Czech Rep.', 'Greece', 'Poland'], + marker: { + color: 'rgb(255, 217, 102)', + size: 12 + }, + type: 'scatter' +}; + +var trace3 = { + x: [42952, 37037, 33106, 17478, 9813, 5253, 4692, 3899], + y: [23, 42, 54, 89, 14, 99, 93, 70], + mode: 'markers', + name: 'Asia/Pacific', + text: ['Australia', 'Japan', 'South Korea', 'Malaysia', 'China', 'Indonesia', 'Philippines', 'India'], + marker: { + color: 'rgb(234, 153, 153)', + size: 12 + }, + type: 'scatter' +}; + +var trace4 = { + x: [19097, 18601, 15595, 13546, 12026, 7434, 5419], + y: [43, 47, 56, 80, 86, 93, 80], + mode: 'markers', + name: 'Latin America', + text: ['Chile', 'Argentina', 'Mexico', 'Venezuela', 'Venezuela', 'El Salvador', 'Bolivia'], + marker: { + color: 'rgb(142, 124, 195)', + size: 12 + }, + type: 'scatter' +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: { + text: 'Quarter 1 Growth' + }, + xaxis: { + title: { + text: 'GDP per Capita' + }, + showgrid: false, + zeroline: false + }, + yaxis: { + title: { + text: 'Percent' + }, + showline: false + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-07-24-line-plots-index.html b/content/plotly_js/basic/line-plots/2015-07-24-line-plots-index.html new file mode 100644 index 00000000000..8da3cd95ef1 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-07-24-line-plots-index.html @@ -0,0 +1,15 @@ +--- +description: How to make D3.js-based line charts in JavaScript. +display_as: basic +language: plotly_js +layout: base +name: Line Charts +order: 2 +page_type: example_index +permalink: javascript/line-charts/ +redirect_from: javascript-graphing-library/line-charts/ +thumbnail: thumbnail/line-plots.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","line-plots" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/line-plots/2015-08-07-Connect-gaps-between-data.html b/content/plotly_js/basic/line-plots/2015-08-07-Connect-gaps-between-data.html new file mode 100644 index 00000000000..50f3f582cdc --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-Connect-gaps-between-data.html @@ -0,0 +1,33 @@ +--- +name: Connect Gaps Between Data +language: plotly_js +suite: line-plots +order: 12 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4, 5, 6, 7, 8], + y: [10, 15, null, 17, 14, 12, 10, null, 15], + mode: 'lines+markers', + connectgaps: true +}; + +var trace2 = { + x: [1, 2, 3, 4, 5, 6, 7, 8], + y: [16, null, 13, 10, 8, null, 11, 12], + mode: 'lines', + connectgaps: true +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Connect the Gaps Between Data' + }, + showlegend: false +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-08-07-adding-names-to-line-and-scatter-plot.html b/content/plotly_js/basic/line-plots/2015-08-07-adding-names-to-line-and-scatter-plot.html new file mode 100644 index 00000000000..43ef838fad0 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-adding-names-to-line-and-scatter-plot.html @@ -0,0 +1,37 @@ +--- +name: Adding Names to Line and Scatter Plot +language: plotly_js +suite: line-plots +order: 5 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + mode: 'markers', + name: 'Scatter' +}; + +var trace2 = { + x: [2, 3, 4, 5], + y: [16, 5, 11, 9], + mode: 'lines', + name: 'Lines' +}; + +var trace3 = { + x: [1, 2, 3, 4], + y: [12, 9, 15, 12], + mode: 'lines+markers', + name: 'Scatter + Lines' +}; + +var data = [ trace1, trace2, trace3 ]; + +var layout = { + title: {text: 'Adding Names to Line and Scatter Plot'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-08-07-graph-and-axis-titles.html b/content/plotly_js/basic/line-plots/2015-08-07-graph-and-axis-titles.html new file mode 100644 index 00000000000..092c9771b28 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-graph-and-axis-titles.html @@ -0,0 +1,49 @@ +--- +name: Graph and Axes Titles +language: plotly_js +suite: line-plots +order: 9 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + mode: 'markers', + name: 'Scatter' +}; + +var trace2 = { + x: [2, 3, 4, 5], + y: [16, 5, 11, 9], + mode: 'lines', + name: 'Lines' +}; + +var trace3 = { + x: [1, 2, 3, 4], + y: [12, 9, 15, 12], + mode: 'lines+markers', + name: 'Scatter and Lines' +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + title: { + text: 'Title of the Graph' + }, + xaxis: { + title: { + text: 'x-axis title' + } + }, + yaxis: { + title: { + text: 'y-axis title' + } + } +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/basic/line-plots/2015-08-07-labelling-with-annotations.html b/content/plotly_js/basic/line-plots/2015-08-07-labelling-with-annotations.html new file mode 100644 index 00000000000..03da9ccd6a6 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-labelling-with-annotations.html @@ -0,0 +1,158 @@ +--- +name: Labelling Lines with Annotations +language: plotly_js +suite: line-plots +order: 13 +sitemap: false +arrangement: horizontal +--- +var xData = [ + [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013], + [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013], + [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013], + [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013] +]; + +var yData = [ + [74, 82, 80, 74, 73, 72, 74, 70, 70, 66, 66, 69], + [45, 42, 50, 46, 36, 36, 34, 35, 32, 31, 31, 28], + [13, 14, 20, 24, 20, 24, 24, 40, 35, 41, 43, 50], + [18, 21, 18, 21, 16, 14, 13, 18, 17, 16, 19, 23] +]; + +var colors = ['rgba(67,67,67,1)', 'rgba(115,115,115,1)', 'rgba(49,130,189, 1)', + 'rgba(189,189,189,1)' +]; + +var lineSize = [2, 2, 4, 2]; + +var labels = ['Television', 'Newspaper', 'Internet', 'Radio']; + +var data = []; + +for ( var i = 0 ; i < xData.length ; i++ ) { + var result = { + x: xData[i], + y: yData[i], + type: 'scatter', + mode: 'lines', + line: { + color: colors[i], + width: lineSize[i] + } + }; + var result2 = { + x: [xData[i][0], xData[i][11]], + y: [yData[i][0], yData[i][11]], + type: 'scatter', + mode: 'markers', + marker: { + color: colors[i], + size: 12 + } + }; + data.push(result, result2); +} + +var layout = { + showlegend: false, + height: 600, + width: 600, + xaxis: { + showline: true, + showgrid: false, + showticklabels: true, + linecolor: 'rgb(204,204,204)', + linewidth: 2, + tickmode: 'linear', + ticks: 'outside', + tickcolor: 'rgb(204,204,204)', + tickwidth: 2, + ticklen: 5, + tickfont: { + family: 'Arial', + size: 12, + color: 'rgb(82, 82, 82)' + } + }, + yaxis: { + showgrid: false, + zeroline: false, + showline: false, + showticklabels: false + }, + autosize: false, + margin: { + autoexpand: false, + l: 100, + r: 20, + t: 100 + }, + annotations: [ + { + xref: 'paper', + yref: 'paper', + x: 0.0, + y: 1.05, + xanchor: 'left', + yanchor: 'bottom', + text: 'Main Source for News', + font:{ + family: 'Arial', + size: 30, + color: 'rgb(37,37,37)' + }, + showarrow: false + }, + { + xref: 'paper', + yref: 'paper', + x: 0.5, + y: -0.1, + xanchor: 'center', + yanchor: 'top', + text: 'Source: Pew Research Center & Storytelling with data', + showarrow: false, + font: { + family: 'Arial', + size: 12, + color: 'rgb(150,150,150)' + } + } + ] +}; + +for( var i = 0 ; i < xData.length ; i++ ) { + var result = { + xref: 'paper', + x: 0.05, + y: yData[i][0], + xanchor: 'right', + yanchor: 'middle', + text: labels[i] + ' ' + yData[i][0] +'%', + showarrow: false, + font: { + family: 'Arial', + size: 16, + color: 'black' + } + }; + var result2 = { + xref: 'paper', + x: 0.95, + y: yData[i][11], + xanchor: 'left', + yanchor: 'middle', + text: yData[i][11] +'%', + font: { + family: 'Arial', + size: 16, + color: 'black' + }, + showarrow: false + }; + + layout.annotations.push(result, result2); +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-08-07-line-and-scatter-plot.html b/content/plotly_js/basic/line-plots/2015-08-07-line-and-scatter-plot.html new file mode 100644 index 00000000000..628cfd29ae2 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-line-and-scatter-plot.html @@ -0,0 +1,34 @@ +--- +name: Line and Scatter Plot +language: plotly_js +suite: line-plots +order: 4 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + mode: 'markers' +}; + +var trace2 = { + x: [2, 3, 4, 5], + y: [16, 5, 11, 9], + mode: 'lines' +}; + +var trace3 = { + x: [1, 2, 3, 4], + y: [12, 9, 15, 12], + mode: 'lines+markers' +}; + +var data = [ trace1, trace2, trace3 ]; + +var layout = { + title: {text: 'Line and Scatter Plot'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-08-07-line-and-scatter-styling.html b/content/plotly_js/basic/line-plots/2015-08-07-line-and-scatter-styling.html new file mode 100644 index 00000000000..d7d6b300e60 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-line-and-scatter-styling.html @@ -0,0 +1,52 @@ +--- +name: Line and Scatter Styling +language: plotly_js +suite: line-plots +order: 6 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + mode: 'markers', + marker: { + color: 'rgb(219, 64, 82)', + size: 12 + } +}; + +var trace2 = { + x: [2, 3, 4, 5], + y: [16, 5, 11, 9], + mode: 'lines', + line: { + color: 'rgb(55, 128, 191)', + width: 3 + } +}; + +var trace3 = { + x: [1, 2, 3, 4], + y: [12, 9, 15, 12], + mode: 'lines+markers', + marker: { + color: 'rgb(128, 0, 128)', + size: 8 + }, + line: { + color: 'rgb(128, 0, 128)', + width: 1 + } +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + title: { + text: 'Line and Scatter Styling' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-08-07-line-dash.html b/content/plotly_js/basic/line-plots/2015-08-07-line-dash.html new file mode 100644 index 00000000000..4c2eac39b95 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-line-dash.html @@ -0,0 +1,77 @@ +--- +name: Line Dash +language: plotly_js +suite: line-plots +order: 10 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3, 4, 5], + y: [1, 3, 2, 3, 1], + mode: 'lines', + name: 'Solid', + line: { + dash: 'solid', + width: 4 + } +}; + +var trace2 = { + x: [1, 2, 3, 4, 5], + y: [6, 8, 7, 8, 6], + mode: 'lines', + name: 'dashdot', + line: { + dash: 'dashdot', + width: 4 + } +}; + +var trace3 = { + x: [1, 2, 3, 4, 5], + y: [11, 13, 12, 13, 11], + mode: 'lines', + name: 'Solid', + line: { + dash: 'solid', + width: 4 + } +}; + +var trace4 = { + x: [1, 2, 3, 4, 5], + y: [16, 18, 17, 18, 16], + mode: 'lines', + name: 'dot', + line: { + dash: 'dot', + width: 4 + } +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: { + text: 'Line Dash' + }, + xaxis: { + range: [0.75, 5.25], + autorange: false + }, + yaxis: { + range: [0, 18.5], + autorange: false + }, + legend: { + y: 0.5, + traceorder: 'reversed', + font: { + size: 16 + } + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line-plots/2015-08-07-styling-line-plot.html b/content/plotly_js/basic/line-plots/2015-08-07-styling-line-plot.html new file mode 100644 index 00000000000..d1372b8c114 --- /dev/null +++ b/content/plotly_js/basic/line-plots/2015-08-07-styling-line-plot.html @@ -0,0 +1,41 @@ +--- +name: Styling Line Plot +language: plotly_js +suite: line-plots +order: 7 +sitemap: false +arrangement: horizontal +--- + +trace1 = { + type: 'scatter', + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + mode: 'lines', + name: 'Red', + line: { + color: 'rgb(219, 64, 82)', + width: 3 + } +}; + +trace2 = { + type: 'scatter', + x: [1, 2, 3, 4], + y: [12, 9, 15, 12], + mode: 'lines', + name: 'Blue', + line: { + color: 'rgb(55, 128, 191)', + width: 1 + } +}; + +var layout = { + width: 500, + height: 500 +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line_and_scatter/2015-04-09-line-scatter.html b/content/plotly_js/basic/line_and_scatter/2015-04-09-line-scatter.html new file mode 100644 index 00000000000..f41f2a2f38a --- /dev/null +++ b/content/plotly_js/basic/line_and_scatter/2015-04-09-line-scatter.html @@ -0,0 +1,32 @@ +--- +name: Line and Scatter Plot +language: plotly_js +suite: line_and_scatter +order: 1 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + mode: 'markers', + type: 'scatter' +}; + +var trace2 = { + x: [2, 3, 4, 5], + y: [16, 5, 11, 9], + mode: 'lines', + type: 'scatter' +}; + +var trace3 = { + x: [1, 2, 3, 4], + y: [12, 9, 15, 12], + mode: 'lines+markers', + type: 'scatter' +}; + +var data = [trace1, trace2, trace3]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/line_and_scatter/2015-04-09-line_and_scatter_plotly_js_index.html b/content/plotly_js/basic/line_and_scatter/2015-04-09-line_and_scatter_plotly_js_index.html new file mode 100644 index 00000000000..d201e80fc06 --- /dev/null +++ b/content/plotly_js/basic/line_and_scatter/2015-04-09-line_and_scatter_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make D3.js-based line and scatter plots in JavaScript. Examples + of basic and colored line and scatter plots. +display_as: basic +language: plotly_js +layout: base +name: Scatter Plots +order: 1 +page_type: example_index +permalink: javascript/line-and-scatter/ +redirect_from: javascript-graphing-library/line-and-scatter/ +thumbnail: thumbnail/line-and-scatter.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","line_and_scatter" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/line_and_scatter/2015-08-10-data-label-hover.html b/content/plotly_js/basic/line_and_scatter/2015-08-10-data-label-hover.html new file mode 100644 index 00000000000..0f9f3af4301 --- /dev/null +++ b/content/plotly_js/basic/line_and_scatter/2015-08-10-data-label-hover.html @@ -0,0 +1,41 @@ +--- +name: Data Labels Hover +language: plotly_js +suite: line_and_scatter +order: 2 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3, 4, 5], + y: [1, 6, 3, 6, 1], + mode: 'markers', + type: 'scatter', + name: 'Team A', + text: ['A-1', 'A-2', 'A-3', 'A-4', 'A-5'], + marker: { size: 12 } +}; + +var trace2 = { + x: [1.5, 2.5, 3.5, 4.5, 5.5], + y: [4, 1, 7, 1, 4], + mode: 'markers', + type: 'scatter', + name: 'Team B', + text: ['B-a', 'B-b', 'B-c', 'B-d', 'B-e'], + marker: { size: 12 } +}; + +var data = [ trace1, trace2 ]; + +var layout = { + xaxis: { + range: [ 0.75, 5.25 ] + }, + yaxis: { + range: [0, 8] + }, + title: {text: 'Data Labels Hover'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line_and_scatter/2015-08-11-data-label-on-the-plot.html b/content/plotly_js/basic/line_and_scatter/2015-08-11-data-label-on-the-plot.html new file mode 100644 index 00000000000..d097358f37d --- /dev/null +++ b/content/plotly_js/basic/line_and_scatter/2015-08-11-data-label-on-the-plot.html @@ -0,0 +1,58 @@ +--- +name: Data Labels on The Plot +language: plotly_js +suite: line_and_scatter +order: 3 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3, 4, 5], + y: [1, 6, 3, 6, 1], + mode: 'markers+text', + type: 'scatter', + name: 'Team A', + text: ['A-1', 'A-2', 'A-3', 'A-4', 'A-5'], + textposition: 'top center', + textfont: { + family: 'Raleway, sans-serif' + }, + marker: { size: 12 } +}; + +var trace2 = { + x: [1.5, 2.5, 3.5, 4.5, 5.5], + y: [4, 1, 7, 1, 4], + mode: 'markers+text', + type: 'scatter', + name: 'Team B', + text: ['B-a', 'B-b', 'B-c', 'B-d', 'B-e'], + textfont : { + family:'Times New Roman' + }, + textposition: 'bottom center', + marker: { size: 12 } +}; + +var data = [ trace1, trace2 ]; + +var layout = { + xaxis: { + range: [ 0.75, 5.25 ] + }, + yaxis: { + range: [0, 8] + }, + legend: { + y: 0.5, + yref: 'paper', + font: { + family: 'Arial, sans-serif', + size: 20, + color: 'grey', + } + }, + title: {text: 'Data Labels on the Plot'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line_and_scatter/2015-08-11-scater-with-color-dimension.html b/content/plotly_js/basic/line_and_scatter/2015-08-11-scater-with-color-dimension.html new file mode 100644 index 00000000000..67b5b23e5e2 --- /dev/null +++ b/content/plotly_js/basic/line_and_scatter/2015-08-11-scater-with-color-dimension.html @@ -0,0 +1,27 @@ +--- +name: Scatter Plot with a Color Dimension +language: plotly_js +suite: line_and_scatter +order: 4 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + y: [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], + mode: 'markers', + marker: { + size: 40, + color: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Scatter Plot with a Color Dimension' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/line_and_scatter/2022-12-13-group-scatter-setting-gap.html b/content/plotly_js/basic/line_and_scatter/2022-12-13-group-scatter-setting-gap.html new file mode 100644 index 00000000000..827cceefb28 --- /dev/null +++ b/content/plotly_js/basic/line_and_scatter/2022-12-13-group-scatter-setting-gap.html @@ -0,0 +1,56 @@ +--- +name: Grouped Scatter Plot with Custom Scatter Gap +language: plotly_js +suite: line_and_scatter +order: 6 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: ['South Korea', 'China', 'Canada'], + y: [24, 10, 9], + name: 'Gold', + type: 'scatter', + mode: 'markers' +}; + +var trace2 = { + x: ['South Korea', 'China', 'Canada'], + y: [13, 15, 12], + name: 'Silver', + type: 'scatter', + mode: 'markers' +}; + +var trace3 = { + x: ['South Korea', 'China', 'Canada'], + y: [11, 8, 12], + name: 'Bronze', + type: 'scatter', + mode: 'markers' +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + scattermode: 'group', + title: { + text: 'Grouped by Country' + }, + xaxis: { + title: { + text: 'Country' + } + }, + yaxis: { + title: { + text: 'Medals' + } + }, + scattergap: 0.7 +}; + +Plotly.newPlot('myDiv', data, layout); + + diff --git a/content/plotly_js/basic/line_and_scatter/2022-12-13-group-scatter.html b/content/plotly_js/basic/line_and_scatter/2022-12-13-group-scatter.html new file mode 100644 index 00000000000..539059bfddc --- /dev/null +++ b/content/plotly_js/basic/line_and_scatter/2022-12-13-group-scatter.html @@ -0,0 +1,55 @@ +--- +name: Grouped Scatter Plot +language: plotly_js +suite: line_and_scatter +order: 5 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: ['South Korea', 'China', 'Canada'], + y: [24, 10, 9], + name: 'Gold', + type: 'scatter', + mode: 'markers' +}; + +var trace2 = { + x: ['South Korea', 'China', 'Canada'], + y: [13, 15, 12], + name: 'Silver', + type: 'scatter', + mode: 'markers' +}; + +var trace3 = { + x: ['South Korea', 'China', 'Canada'], + y: [11, 8, 12], + name: 'Bronze', + type: 'scatter', + mode: 'markers' +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + scattermode: 'group', + title: { + text: 'Grouped by Country' + }, + xaxis: { + title: { + text: 'Country' + } + }, + yaxis: { + title: { + text: 'Medals' + } + } +}; + +Plotly.newPlot('myDiv', data, layout); + + diff --git a/content/plotly_js/basic/mixed/2015-04-09-bar-line.html b/content/plotly_js/basic/mixed/2015-04-09-bar-line.html new file mode 100644 index 00000000000..3e66be13d83 --- /dev/null +++ b/content/plotly_js/basic/mixed/2015-04-09-bar-line.html @@ -0,0 +1,23 @@ +--- +name: Line Chart and a Bar Chart +language: plotly_js +suite: mixed +order: 0 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5], + y: [1.5, 1, 1.3, 0.7, 0.8, 0.9], + type: 'scatter' +}; + +var trace2 = { + x: [0, 1, 2, 3, 4, 5], + y: [1, 0.5, 0.7, -1.2, 0.3, 0.4], + type: 'bar' +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/mixed/2015-04-09-contour-scatter.html b/content/plotly_js/basic/mixed/2015-04-09-contour-scatter.html new file mode 100644 index 00000000000..54a6660cf3a --- /dev/null +++ b/content/plotly_js/basic/mixed/2015-04-09-contour-scatter.html @@ -0,0 +1,29 @@ +--- +name: A Contour and Scatter Plot
of the Method of Steepest Descent +language: plotly_js +suite: mixed +order: 0 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + z: [[1.5, 1.23469387755, 1.01020408163, 0.826530612245, 0.683673469388, 0.581632653061, 0.520408163265, 0.5, 0.520408163265, 0.581632653061, 0.683673469388, 0.826530612245, 1.01020408163, 1.23469387755, 1.5], [1.36734693878, 1.10204081633, 0.877551020408, 0.69387755102, 0.551020408163, 0.448979591837, 0.387755102041, 0.367346938776, 0.387755102041, 0.448979591837, 0.551020408163, 0.69387755102, 0.877551020408, 1.10204081633, 1.36734693878], [1.25510204082, 0.989795918367, 0.765306122449, 0.581632653061, 0.438775510204, 0.336734693878, 0.275510204082, 0.255102040816, 0.275510204082, 0.336734693878, 0.438775510204, 0.581632653061, 0.765306122449, 0.989795918367, 1.25510204082], [1.16326530612, 0.897959183673, 0.673469387755, 0.489795918367, 0.34693877551, 0.244897959184, 0.183673469388, 0.163265306122, 0.183673469388, 0.244897959184, 0.34693877551, 0.489795918367, 0.673469387755, 0.897959183673, 1.16326530612], [1.09183673469, 0.826530612245, 0.602040816327, 0.418367346939, 0.275510204082, 0.173469387755, 0.112244897959, 0.0918367346939, 0.112244897959, 0.173469387755, 0.275510204082, 0.418367346939, 0.602040816327, 0.826530612245, 1.09183673469], [1.04081632653, 0.775510204082, 0.551020408163, 0.367346938776, 0.224489795918, 0.122448979592, 0.0612244897959, 0.0408163265306, 0.0612244897959, 0.122448979592, 0.224489795918, 0.367346938776, 0.551020408163, 0.775510204082, 1.04081632653], [1.01020408163, 0.744897959184, 0.520408163265, 0.336734693878, 0.19387755102, 0.0918367346939, 0.030612244898, 0.0102040816327, 0.030612244898, 0.0918367346939, 0.19387755102, 0.336734693878, 0.520408163265, 0.744897959184, 1.01020408163], [1.0, 0.734693877551, 0.510204081633, 0.326530612245, 0.183673469388, 0.0816326530612, 0.0204081632653, 0.0, 0.0204081632653, 0.0816326530612, 0.183673469388, 0.326530612245, 0.510204081633, 0.734693877551, 1.0], [1.01020408163, 0.744897959184, 0.520408163265, 0.336734693878, 0.19387755102, 0.0918367346939, 0.030612244898, 0.0102040816327, 0.030612244898, 0.0918367346939, 0.19387755102, 0.336734693878, 0.520408163265, 0.744897959184, 1.01020408163], [1.04081632653, 0.775510204082, 0.551020408163, 0.367346938776, 0.224489795918, 0.122448979592, 0.0612244897959, 0.0408163265306, 0.0612244897959, 0.122448979592, 0.224489795918, 0.367346938776, 0.551020408163, 0.775510204082, 1.04081632653], [1.09183673469, 0.826530612245, 0.602040816327, 0.418367346939, 0.275510204082, 0.173469387755, 0.112244897959, 0.0918367346939, 0.112244897959, 0.173469387755, 0.275510204082, 0.418367346939, 0.602040816327, 0.826530612245, 1.09183673469], [1.16326530612, 0.897959183673, 0.673469387755, 0.489795918367, 0.34693877551, 0.244897959184, 0.183673469388, 0.163265306122, 0.183673469388, 0.244897959184, 0.34693877551, 0.489795918367, 0.673469387755, 0.897959183673, 1.16326530612], [1.25510204082, 0.989795918367, 0.765306122449, 0.581632653061, 0.438775510204, 0.336734693878, 0.275510204082, 0.255102040816, 0.275510204082, 0.336734693878, 0.438775510204, 0.581632653061, 0.765306122449, 0.989795918367, 1.25510204082], [1.36734693878, 1.10204081633, 0.877551020408, 0.69387755102, 0.551020408163, 0.448979591837, 0.387755102041, 0.367346938776, 0.387755102041, 0.448979591837, 0.551020408163, 0.69387755102, 0.877551020408, 1.10204081633, 1.36734693878], [1.5, 1.23469387755, 1.01020408163, 0.826530612245, 0.683673469388, 0.581632653061, 0.520408163265, 0.5, 0.520408163265, 0.581632653061, 0.683673469388, 0.826530612245, 1.01020408163, 1.23469387755, 1.5]], + x: [-1.0, -0.857142857143, -0.714285714286, -0.571428571429, -0.428571428571, -0.285714285714, -0.142857142857, 0.0, 0.142857142857, 0.285714285714, 0.428571428571, 0.571428571429, 0.714285714286, 0.857142857143, 1.0], + y: [-1.0, -0.857142857143, -0.714285714286, -0.571428571429, -0.428571428571, -0.285714285714, -0.142857142857, 0.0, 0.142857142857, 0.285714285714, 0.428571428571, 0.571428571429, 0.714285714286, 0.857142857143, 1.0], + ncontours: 30, + showscale: false, + type: 'contour' +}; + +var trace2 = { + x: [-0.8, -0.48, -0.288, -0.1728, -0.10368, -0.062208, -0.0373248, -0.02239488, -0.013436928, -0.0080621568, -0.00483729408, -0.002902376448, -0.0017414258688, -0.00104485552128, -0.000626913312768, -0.000376147987661], + y: [-0.9, -0.72, -0.576, -0.4608, -0.36864, -0.294912, -0.2359296, -0.18874368, -0.150994944, -0.1207959552, -0.09663676416, -0.077309411328, -0.0618475290624, -0.0494780232499, -0.0395824185999, -0.0316659348799], + mode: 'markers+lines', + name: 'steepest', + line: {color: 'black'}, + type: 'scatter' +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/mixed/2015-04-09-mixed_plotly_js_index.html b/content/plotly_js/basic/mixed/2015-04-09-mixed_plotly_js_index.html new file mode 100644 index 00000000000..355319ad12a --- /dev/null +++ b/content/plotly_js/basic/mixed/2015-04-09-mixed_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to makes figures with D3.js-based mixed chart types in JavaScript. + Examples of a contour plot with a scatter plot and a bar chart with a line chart. +display_as: basic +language: plotly_js +layout: base +name: Multiple Chart Types +order: 13 +permalink: javascript/graphing-multiple-chart-types/ +redirect_from: javascript-graphing-library/graphing-multiple-chart-types/ +thumbnail: thumbnail/mixed2.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","mixed" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/pie/2015-08-10-basic-pie-chart.html b/content/plotly_js/basic/pie/2015-08-10-basic-pie-chart.html new file mode 100644 index 00000000000..b3bf0172fab --- /dev/null +++ b/content/plotly_js/basic/pie/2015-08-10-basic-pie-chart.html @@ -0,0 +1,21 @@ +--- +name: Basic Pie Chart +language: plotly_js +suite: pie +order: 1 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + values: [19, 26, 55], + labels: ['Residential', 'Non-Residential', 'Utility'], + type: 'pie' +}]; + +var layout = { + height: 400, + width: 500 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/pie/2015-08-10-donut-chart.html b/content/plotly_js/basic/pie/2015-08-10-donut-chart.html new file mode 100644 index 00000000000..66043363db4 --- /dev/null +++ b/content/plotly_js/basic/pie/2015-08-10-donut-chart.html @@ -0,0 +1,60 @@ +--- +name: Donut Chart +language: plotly_js +suite: pie +order: 3 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + values: [16, 15, 12, 6, 5, 4, 42], + labels: ['US', 'China', 'European Union', 'Russian Federation', 'Brazil', 'India', 'Rest of World' ], + domain: {column: 0}, + name: 'GHG Emissions', + hoverinfo: 'label+percent+name', + hole: .4, + type: 'pie' +},{ + values: [27, 11, 25, 8, 1, 3, 25], + labels: ['US', 'China', 'European Union', 'Russian Federation', 'Brazil', 'India', 'Rest of World' ], + text: 'CO2', + textposition: 'inside', + domain: {column: 1}, + name: 'CO2 Emissions', + hoverinfo: 'label+percent+name', + hole: .4, + type: 'pie' +}]; + +var layout = { + title: { + text: 'Global Emissions 1990-2011' + }, + annotations: [ + { + font: { + size: 20 + }, + showarrow: false, + text: 'GHG', + x: 0.17, + y: 0.5 + }, + { + font: { + size: 20 + }, + showarrow: false, + text: 'CO2', + x: 0.82, + y: 0.5 + } + ], + height: 400, + width: 600, + showlegend: false, + grid: {rows: 1, columns: 2} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/pie/2015-08-10-pie-chart-subplots.html b/content/plotly_js/basic/pie/2015-08-10-pie-chart-subplots.html new file mode 100644 index 00000000000..36d70bf6ac5 --- /dev/null +++ b/content/plotly_js/basic/pie/2015-08-10-pie-chart-subplots.html @@ -0,0 +1,92 @@ +--- +name: Pie Chart Subplots +language: plotly_js +suite: pie +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + In order to create pie chart subplots, you need to use the [domain](https://plotly.com/javascript/reference/pie/#pie-domain) attribute. `domain` allows you to place each trace on a [grid](https://plotly.com/javascript/reference/layout/#layout-grid) of rows and columns defined in the layout or within a rectangle defined by `X` and `Y` arrays. The example below uses the `grid` method (with a 2 x 2 grid defined in the layout) for the first three traces and the X and Y method for the fourth trace. +--- + +var allLabels = ['1st', '2nd', '3rd', '4th', '5th']; + +var allValues = [ + [38, 27, 18, 10, 7], + [28, 26, 21, 15, 10], + [38, 19, 16, 14, 13], + [31, 24, 19, 18, 8] +]; + +var ultimateColors = [ + ['rgb(56, 75, 126)', 'rgb(18, 36, 37)', 'rgb(34, 53, 101)', 'rgb(36, 55, 57)', 'rgb(6, 4, 4)'], + ['rgb(177, 127, 38)', 'rgb(205, 152, 36)', 'rgb(99, 79, 37)', 'rgb(129, 180, 179)', 'rgb(124, 103, 37)'], + ['rgb(33, 75, 99)', 'rgb(79, 129, 102)', 'rgb(151, 179, 100)', 'rgb(175, 49, 35)', 'rgb(36, 73, 147)'], + ['rgb(146, 123, 21)', 'rgb(177, 180, 34)', 'rgb(206, 206, 40)', 'rgb(175, 51, 21)', 'rgb(35, 36, 21)'] +]; + +var data = [{ + values: allValues[0], + labels: allLabels, + type: 'pie', + name: 'Starry Night', + marker: { + colors: ultimateColors[0] + }, + domain: { + row: 0, + column: 0 + }, + hoverinfo: 'label+percent+name', + textinfo: 'none' +},{ + values: allValues[1], + labels: allLabels, + type: 'pie', + name: 'Sunflowers', + marker: { + colors: ultimateColors[1] + }, + domain: { + row: 1, + column: 0 + }, + hoverinfo: 'label+percent+name', + textinfo: 'none' +},{ + values: allValues[2], + labels: allLabels, + type: 'pie', + name: 'Irises', + marker: { + colors: ultimateColors[2] + }, + domain: { + row: 0, + column: 1 + }, + hoverinfo: 'label+percent+name', + textinfo: 'none' +},{ + values: allValues[3], + labels: allLabels, + type: 'pie', + name: 'The Night Cafe', + marker: { + colors: ultimateColors[3] + }, + domain: { + x: [0.52,1], + y: [0, 0.48] + }, + hoverinfo: 'label+percent+name', + textinfo: 'none' +}]; + +var layout = { + height: 400, + width: 500, + grid: {rows: 2, columns: 2} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/pie/2015-08-10-pie_plotly_js_index.html b/content/plotly_js/basic/pie/2015-08-10-pie_plotly_js_index.html new file mode 100644 index 00000000000..eebd9e8496c --- /dev/null +++ b/content/plotly_js/basic/pie/2015-08-10-pie_plotly_js_index.html @@ -0,0 +1,18 @@ +--- +description: How to graph D3.js-based pie charts in javascript with D3.js. Examples + of pie charts, donut charts and pie chart subplots. +display_as: basic +language: plotly_js +layout: base +name: Pie Charts +order: 4 +page_type: example_index +permalink: javascript/pie-charts/ +redirect_from: +- javascript-graphing-library/pie-chart/ +- javascript/pie-chart/ +thumbnail: thumbnail/pie-chart.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","pie" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/pie/2019-11-01-pie-chart-automargin.html b/content/plotly_js/basic/pie/2019-11-01-pie-chart-automargin.html new file mode 100644 index 00000000000..2dc72bce757 --- /dev/null +++ b/content/plotly_js/basic/pie/2019-11-01-pie-chart-automargin.html @@ -0,0 +1,27 @@ +--- +name: Automatically Adjust Margins +language: plotly_js +suite: pie +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + The following example sets [automargin](https://plotly.com/javascript/setting-graph-size/#automatically-adjust-margins) attribute to true, which automatically increases the margin size. +--- +var data = [{ + type: "pie", + values: [2, 3, 4, 4], + labels: ["Wages", "Operating expenses", "Cost of sales", "Insurance"], + textinfo: "label+percent", + textposition: "outside", + automargin: true +}] + +var layout = { + height: 400, + width: 400, + margin: {"t": 0, "b": 0, "l": 0, "r": 0}, + showlegend: false + } + +Plotly.newPlot('myDiv', data, layout) \ No newline at end of file diff --git a/content/plotly_js/basic/pie/2020-01-14-inside-text-orientation.html b/content/plotly_js/basic/pie/2020-01-14-inside-text-orientation.html new file mode 100644 index 00000000000..85ec5d096fe --- /dev/null +++ b/content/plotly_js/basic/pie/2020-01-14-inside-text-orientation.html @@ -0,0 +1,24 @@ +--- +name: Control Text Orientation Inside Pie Chart Sectors +language: plotly_js +suite: pie +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + The `insidetextorientation` attribute controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector. +--- +var data = [{ + type: "pie", + values: [2, 3, 4, 4], + labels: ["Wages", "Operating expenses", "Cost of sales", "Insurance"], + textinfo: "label+percent", + insidetextorientation: "radial" +}] + +var layout = [{ + height: 700, + width: 700 +}] + +Plotly.newPlot('myDiv', data, layout) \ No newline at end of file diff --git a/content/plotly_js/basic/sankey/2017-05-22-add_links.html b/content/plotly_js/basic/sankey/2017-05-22-add_links.html new file mode 100644 index 00000000000..e602514e14f --- /dev/null +++ b/content/plotly_js/basic/sankey/2017-05-22-add_links.html @@ -0,0 +1,55 @@ +--- +name: Add Links +language: plotly_js +suite: sankey +order: 4 +sitemap: false +arrangement: horizontal +description: +--- + +d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json', function(fig){ + +var data = { + type: "sankey", + domain: { + x: [0,1], + y: [0,1] + }, + orientation: "h", + valueformat: ".0f", + valuesuffix: "TWh", + node: { + pad: 15, + thickness: 15, + line: { + color: "black", + width: 0.5 + }, + label: fig.data[0].node.label, + color: fig.data[0].node.color + }, + + link: { + source: fig.data[0].link.source, + target: fig.data[0].link.target, + value: fig.data[0].link.value, + label: fig.data[0].link.label + } +} + +var data = [data] + +var layout = { + title: { + text: "Energy forecast for 2050
Source: Department of Energy & Climate Change, Tom Counsell via Mike Bostock" + }, + width: 1118, + height: 772, + font: { + size: 10 + } +} + +Plotly.newPlot('myDiv', data, layout) +}); diff --git a/content/plotly_js/basic/sankey/2017-05-22-add_nodes.html b/content/plotly_js/basic/sankey/2017-05-22-add_nodes.html new file mode 100644 index 00000000000..2f88e09df3d --- /dev/null +++ b/content/plotly_js/basic/sankey/2017-05-22-add_nodes.html @@ -0,0 +1,50 @@ +--- +name: Add Nodes +language: plotly_js +suite: sankey +order: 3 +sitemap: false +arrangement: horizontal +description: +--- + +d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json', function(fig){ + +var data = { + type: "sankey", + domain: { + x: [0,1], + y: [0,1] + }, + orientation: "h", + valueformat: ".0f", + valuesuffix: "TWh", + + node: { + pad: 15, + thickness: 15, + line: { + color: "black", + width: 0.5 + }, + label: fig.data[0].node.label, + color: fig.data[0].node.color + } +} + +var data = [data] + +var layout = { + title: { + text: "Energy forecast for 2050
Source: Department of Energy & Climate Change, Tom Counsell via Mike Bostock" + }, + width: 1118, + height: 772, + font: { + size: 10 + } +} + +Plotly.newPlot('myDiv', data, layout) + +}); diff --git a/content/plotly_js/basic/sankey/2017-05-22-basic.html b/content/plotly_js/basic/sankey/2017-05-22-basic.html new file mode 100644 index 00000000000..25c79ff0077 --- /dev/null +++ b/content/plotly_js/basic/sankey/2017-05-22-basic.html @@ -0,0 +1,33 @@ +--- +name: Create Sankey Canvas +language: plotly_js +suite: sankey +order: 2 +sitemap: false +arrangement: horizontal +description: +--- + +var data = { + type: "sankey", + domain: { + x: [0,1], + y: [0,1] + }, + orientation: "h", + valueformat: ".0f", + valuesuffix: "TWh" +} + +var data = [data] + +var layout = { + title: { + text: "Energy forecast for 2050
Source: Department of Energy & Climate Change, Tom Counsell via Mike Bostock" + }, + width: 1118, + height: 772, + font: { + size: 10 + } +} diff --git a/content/plotly_js/basic/sankey/2017-05-22-sankey_index.html b/content/plotly_js/basic/sankey/2017-05-22-sankey_index.html new file mode 100644 index 00000000000..b39b8a3227a --- /dev/null +++ b/content/plotly_js/basic/sankey/2017-05-22-sankey_index.html @@ -0,0 +1,13 @@ +--- +description: How to make D3.js-based sankey diagrams in Plotly.js. +display_as: basic +language: plotly_js +layout: base +name: Sankey Diagrams +order: 10 +permalink: javascript/sankey-diagram/ +thumbnail: thumbnail/sankey.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","sankey" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/sankey/2017-05-22-style_sankey.html b/content/plotly_js/basic/sankey/2017-05-22-style_sankey.html new file mode 100644 index 00000000000..eaf7e3fd7c9 --- /dev/null +++ b/content/plotly_js/basic/sankey/2017-05-22-style_sankey.html @@ -0,0 +1,57 @@ +--- +name: Style Sankey Diagram +language: plotly_js +suite: sankey +order: 5 +sitemap: false +arrangement: horizontal +description: +--- + +d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy_dark.json', function(fig){ + +var data = { + type: "sankey", + domain: { + x: [0,1], + y: [0,1] + }, + orientation: "h", + valueformat: ".0f", + valuesuffix: "TWh", + node: { + pad: 15, + thickness: 15, + line: { + color: "black", + width: 0.5 + }, + label: fig.data[0].node.label, + color: fig.data[0].node.color + }, + link: { + source: fig.data[0].link.source, + target: fig.data[0].link.target, + value: fig.data[0].link.value, + label: fig.data[0].link.label + } +} + +var data = [data] + +var layout = { + title: { + text: "Energy forecast for 2050
Source: Department of Energy & Climate Change, Tom Counsell via Mike Bostock" + }, + width: 1118, + height: 772, + font: { + size: 10, + color: 'white' + }, + plot_bgcolor: 'black', + paper_bgcolor: 'black' +} + +Plotly.newPlot('myDiv', data, layout) +}); diff --git a/content/plotly_js/basic/sankey/2018-03-13-basic-example.html b/content/plotly_js/basic/sankey/2018-03-13-basic-example.html new file mode 100644 index 00000000000..85bce263878 --- /dev/null +++ b/content/plotly_js/basic/sankey/2018-03-13-basic-example.html @@ -0,0 +1,43 @@ +--- +name: Basic Sankey Diagram +language: plotly_js +suite: sankey +order: 1 +sitemap: false +arrangement: horizontal +description: +--- + +var data = { + type: "sankey", + orientation: "h", + node: { + pad: 15, + thickness: 30, + line: { + color: "black", + width: 0.5 + }, + label: ["A1", "A2", "B1", "B2", "C1", "C2"], + color: ["blue", "blue", "blue", "blue", "blue", "blue"] + }, + + link: { + source: [0,1,0,2,3,3], + target: [2,3,3,4,4,5], + value: [8,4,2,8,4,2] + } +} + +var data = [data] + +var layout = { + title: { + text: "Basic Sankey" + }, + font: { + size: 10 + } +} + +Plotly.react('myDiv', data, layout) diff --git a/content/plotly_js/basic/sankey/2019-11-20-nodes-position.html b/content/plotly_js/basic/sankey/2019-11-20-nodes-position.html new file mode 100644 index 00000000000..15f4544f276 --- /dev/null +++ b/content/plotly_js/basic/sankey/2019-11-20-nodes-position.html @@ -0,0 +1,35 @@ +--- +name: Define Node Position +language: plotly_js +suite: sankey +order: 6 +sitemap: false +arrangement: horizontal +description: +markdown_content: | + The following example sets [node.x](https://plotly.com/javascript/reference/sankey/#sankey-node-x) and `node.y` to place nodes in the specified locations, except in the `snap arrangement` (default behaviour when `node.x` and `node.y` are not defined) to avoid overlapping of the nodes, therefore, an automatic snapping of elements will be set to define the padding between nodes via [nodepad](https://plotly.com/javascript/reference/sankey/#sankey-node-pad). The other possible arrangements are: 1) perpendicular 2) freeform 3) fixed + +--- +var data = [{ + type: "sankey", + arrangement: "snap", + node:{ + label: ["A", "B", "C", "D", "E", "F"], + x: [0.2, 0.1, 0.5, 0.7, 0.3, 0.5], + y: [0.7, 0.5, 0.2, 0.4, 0.2, 0.3], + pad:10}, // 10 Pixels + link: { + source: [0, 0, 1, 2, 5, 4, 3, 5], + target: [5, 3, 4, 3, 0, 2, 2, 3], + value: [1, 2, 1, 1, 1, 1, 1, 2]} + }] + +var layout = { + title: { + text: "Sankey with manually positioned node" + } +} + +Plotly.newPlot('myDiv', data, layout) + + diff --git a/content/plotly_js/basic/sankey/2024-01-05-align-example.html b/content/plotly_js/basic/sankey/2024-01-05-align-example.html new file mode 100644 index 00000000000..2dd8c887ed1 --- /dev/null +++ b/content/plotly_js/basic/sankey/2024-01-05-align-example.html @@ -0,0 +1,38 @@ +--- +name: Node Alignment +language: plotly_js +suite: sankey +order: 7 +sitemap: false +arrangement: horizontal +markdown_content : | + You can set the alignment of nodes using `node.align`. In this example, we align nodes to the "right". `node.align` can also be set to "left", "center", or "justify". The default is "justify" if ``node.align` is not set, and is similar to aligning to the "left", except that nodes without outgoing links are moved to the right of the figure. +--- + +var data = { + type: "sankey", + orientation: "h", + node: { + label: ["0", "1", "2", "3", "4", "5"], + align: "right", + }, + + link: { + source: [0, 1, 4, 2, 1], + target: [1, 4, 5, 4, 3], + value: [4, 2, 3, 1, 2], + }, +}; + +var data = [data]; + +var layout = { + title: { + text: "Align Nodes (Right)" + }, + font: { + size: 10, + }, +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/sunburst/2019-04-11-basic-area.html b/content/plotly_js/basic/sunburst/2019-04-11-basic-area.html new file mode 100644 index 00000000000..5e61f50fab5 --- /dev/null +++ b/content/plotly_js/basic/sunburst/2019-04-11-basic-area.html @@ -0,0 +1,26 @@ +--- +name: Basic Sunburst Chart +language: plotly_js +suite: sunburst +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [{ + type: "sunburst", + labels: ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"], + parents: ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ], + values: [10, 14, 12, 10, 2, 6, 6, 4, 4], + outsidetextfont: {size: 20, color: "#377eb8"}, + leaf: {opacity: 0.4}, + marker: {line: {width: 2}}, +}]; + +var layout = { + margin: {l: 0, r: 0, b: 0, t: 0}, + width: 500, + height: 500 +}; + + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/sunburst/2019-04-11-large-number-of-slices.html b/content/plotly_js/basic/sunburst/2019-04-11-large-number-of-slices.html new file mode 100644 index 00000000000..4f547131c56 --- /dev/null +++ b/content/plotly_js/basic/sunburst/2019-04-11-large-number-of-slices.html @@ -0,0 +1,35 @@ +--- +name: Large Number of Slices +language: plotly_js +suite: sunburst +order: 4 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var data = [ + { + type: "sunburst", + maxdepth: 3, + ids: unpack(rows, 'ids'), + labels: unpack(rows, 'labels'), + parents:unpack(rows, 'parents') + } + ]; + +var layout = { + margin: {l: 0, r: 0, b: 0, t:0}, + sunburstcolorway:[ + "#636efa","#EF553B","#00cc96","#ab63fa","#19d3f3", + "#e763fa", "#FECB52","#FFA15A","#FF6692","#B6E880" + ], + extendsunburstcolorway: true +}; + + +Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true}); +}) diff --git a/content/plotly_js/basic/sunburst/2019-04-11-repeated-labels.html b/content/plotly_js/basic/sunburst/2019-04-11-repeated-labels.html new file mode 100644 index 00000000000..260daf4bbf2 --- /dev/null +++ b/content/plotly_js/basic/sunburst/2019-04-11-repeated-labels.html @@ -0,0 +1,42 @@ +--- +name: Sunburst with Repeated Labels +language: plotly_js +suite: sunburst +order: 3 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: "sunburst", + ids: [ + "North America", "Europe", "Australia", "North America - Football", "Soccer", + "North America - Rugby", "Europe - Football", "Rugby", + "Europe - American Football","Australia - Football", "Association", + "Australian Rules", "Autstralia - American Football", "Australia - Rugby", + "Rugby League", "Rugby Union" + ], + labels: [ + "North
America", "Europe", "Australia", "Football", "Soccer", "Rugby", + "Football", "Rugby", "American
Football", "Football", "Association", + "Australian
Rules", "American
Football", "Rugby", "Rugby
League", + "Rugby
Union" + ], + parents: [ + "", "", "", "North America", "North America", "North America", "Europe", + "Europe", "Europe","Australia", "Australia - Football", "Australia - Football", + "Australia - Football", "Australia - Football", "Australia - Rugby", + "Australia - Rugby" + ], + outsidetextfont: {size: 20, color: "#377eb8"}, + // leaf: {opacity: 0.4}, + marker: {line: {width: 2}}, +}]; + +var layout = { + margin: {l: 0, r: 0, b: 0, t:0}, + sunburstcolorway:["#636efa","#ef553b","#00cc96"], +}; + + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/basic/sunburst/2019-04-11-sunburst_plotly_js_index.html b/content/plotly_js/basic/sunburst/2019-04-11-sunburst_plotly_js_index.html new file mode 100644 index 00000000000..11a4f3bdb1c --- /dev/null +++ b/content/plotly_js/basic/sunburst/2019-04-11-sunburst_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based sunburst chart in javascript. Visualize hierarchical + data spanning outward radially from root to leaves. +display_as: basic +language: plotly_js +layout: base +name: Sunburst Charts +order: 9 +permalink: javascript/sunburst-charts/ +thumbnail: thumbnail/sunburst.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","sunburst" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} + +See https://plotly/.com/javascript/reference/sunburst/ for more information and chart attribute options! \ No newline at end of file diff --git a/content/plotly_js/basic/sunburst/2019-06-13-basic-branchvalues-total.html b/content/plotly_js/basic/sunburst/2019-06-13-basic-branchvalues-total.html new file mode 100644 index 00000000000..79dd390f4ef --- /dev/null +++ b/content/plotly_js/basic/sunburst/2019-06-13-basic-branchvalues-total.html @@ -0,0 +1,34 @@ +--- +name: Branchvalues +language: plotly_js +suite: sunburst +order: 1.5 +sitemap: false +arrangement: horizontal +markdown_content: | + With branchvalues "total", the value of the parent represents the width of its wedge. In the example below, + "Enoch" is 4 and "Awan" is 6 and so Enoch's width is 4/6ths of Awans. With branchvalues "remainder", the + parent's width is determined by its own value plus those of its children. So, Enoch's width is 4/10ths of + Awan's (4 / (6 + 4)).

Note that this means that the sum of the values of the children cannot exceed the + value of their parent when branchvalues "total". When branchvalues "relative" (the default), children will not take + up all of the space below their parent (unless the parent is the root and it has a value of 0). +--- +var data = [ +{ + "type": "sunburst", + "labels": ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"], + "parents": ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ], + "values": [65, 14, 12, 10, 2, 6, 6, 4, 4], + "leaf": {"opacity": 0.4}, + "marker": {"line": {"width": 2}}, + "branchvalues": 'total' +}]; + +var layout = { + "margin": {"l": 0, "r": 0, "b": 0, "t": 0}, +}; + + +Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true}) + +myPlot = document.getElementById("myDiv"); diff --git a/content/plotly_js/basic/sunburst/2020-01-14-inside-text-orientation.html b/content/plotly_js/basic/sunburst/2020-01-14-inside-text-orientation.html new file mode 100644 index 00000000000..94d9e34d94d --- /dev/null +++ b/content/plotly_js/basic/sunburst/2020-01-14-inside-text-orientation.html @@ -0,0 +1,29 @@ +--- +name: Control Text Orientation Inside Sunburst Chart Sectors +language: plotly_js +suite: sunburst +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + The `insidetextorientation` attribute controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector. +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) {return row[key]}) +} + + var data = [{ + type: "sunburst", + maxdepth: 2, + ids: unpack(rows, 'ids'), + labels: unpack(rows, 'labels'), + parents: unpack(rows, 'parents'), + textposition: 'inside', + insidetextorientation: 'radial' + }] + + var layout = {margin: {l: 0, r: 0, b: 0, t:0}} + + Plotly.newPlot('myDiv', data, layout) +}) diff --git a/content/plotly_js/basic/table/2017-11-01-alternating-rows.html b/content/plotly_js/basic/table/2017-11-01-alternating-rows.html new file mode 100644 index 00000000000..6bcce02aa4c --- /dev/null +++ b/content/plotly_js/basic/table/2017-11-01-alternating-rows.html @@ -0,0 +1,41 @@ +--- +name: Alternating Row Colors +language: plotly_js +suite: tables +order: 5 +sitemap: false +arrangement: horizontal +--- + +var values = [ + ['Salaries', 'Office', 'Merchandise', 'Legal', 'TOTAL'], + [1200000, 20000, 80000, 2000, 12120000], + [1300000, 20000, 70000, 2000, 130902000], + [1300000, 20000, 120000, 2000, 131222000], + [1400000, 20000, 90000, 2000, 14102000]] + +var headerColor = "grey"; +var rowEvenColor = "lightgrey"; +var rowOddColor = "white"; + +var data = [{ + type: 'table', + header: { + values: [["EXPENSES"], ["Q1"], + ["Q2"], ["Q3"], ["Q4"]], + align: "center", + line: {width: 1, color: 'black'}, + fill: {color: headerColor}, + font: {family: "Arial", size: 12, color: "white"} + }, + cells: { + values: values, + align: "center", + line: {color: "black", width: 1}, + fill: {color: [[rowOddColor,rowEvenColor,rowOddColor, + rowEvenColor,rowOddColor]]}, + font: {family: "Arial", size: 11, color: ["black"]} + } +}] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/table/2017-11-01-basic-example.html b/content/plotly_js/basic/table/2017-11-01-basic-example.html new file mode 100644 index 00000000000..5a736e181a2 --- /dev/null +++ b/content/plotly_js/basic/table/2017-11-01-basic-example.html @@ -0,0 +1,35 @@ +--- +name: Basic Table +language: plotly_js +suite: tables +order: 1 +sitemap: false +arrangement: horizontal +--- + +var values = [ + ['Salaries', 'Office', 'Merchandise', 'Legal', 'TOTAL'], + [1200000, 20000, 80000, 2000, 12120000], + [1300000, 20000, 70000, 2000, 130902000], + [1300000, 20000, 120000, 2000, 131222000], + [1400000, 20000, 90000, 2000, 14102000]] + +var data = [{ + type: 'table', + header: { + values: [["EXPENSES"], ["Q1"], + ["Q2"], ["Q3"], ["Q4"]], + align: "center", + line: {width: 1, color: 'black'}, + fill: {color: "grey"}, + font: {family: "Arial", size: 12, color: "white"} + }, + cells: { + values: values, + align: "center", + line: {color: "black", width: 1}, + font: {family: "Arial", size: 11, color: ["black"]} + } +}] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/table/2017-11-01-from-a-csv.html b/content/plotly_js/basic/table/2017-11-01-from-a-csv.html new file mode 100644 index 00000000000..674ebe81256 --- /dev/null +++ b/content/plotly_js/basic/table/2017-11-01-from-a-csv.html @@ -0,0 +1,61 @@ +--- +name: Table From a CSV +language: plotly_js +suite: tables +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/Mining-BTC-180.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var headerNames = d3.keys(rows[0]); + + var headerValues = []; + var cellValues = []; + for (i = 0; i < headerNames.length; i++) { + headerValue = [headerNames[i]]; + headerValues[i] = headerValue; + cellValue = unpack(rows, headerNames[i]); + cellValues[i] = cellValue; + } + + // clean date + for (i = 0; i < cellValues[1].length; i++) { + var dateValue = cellValues[1][i].split(' ')[0] + cellValues[1][i] = dateValue + } + + +var data = [{ + type: 'table', + columnwidth: [150,600,1000,900,600,500,1000,1000,1000], + columnorder: [0,1,2,3,4,5,6,7,8,9], + header: { + values: headerValues, + align: "center", + line: {width: 1, color: 'rgb(50, 50, 50)'}, + fill: {color: ['rgb(235, 100, 230)']}, + font: {family: "Arial", size: 8, color: "white"} + }, + cells: { + values: cellValues, + align: ["center", "center"], + line: {color: "black", width: 1}, + fill: {color: ['rgba(228, 222, 249, 0.65)','rgb(235, 193, 238)', 'rgba(228, 222, 249, 0.65)']}, + font: {family: "Arial", size: 9, color: ["black"]} + } +}] + +var layout = { + title: { + text: "Bitcoin mining stats for 180 days" + } +} + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/basic/table/2017-11-01-sizing-rows-columns.html b/content/plotly_js/basic/table/2017-11-01-sizing-rows-columns.html new file mode 100644 index 00000000000..af3cd8e02b9 --- /dev/null +++ b/content/plotly_js/basic/table/2017-11-01-sizing-rows-columns.html @@ -0,0 +1,40 @@ +--- +name: Changing Size of Rows and Columns +language: plotly_js +suite: tables +order: 4 +sitemap: false +arrangement: horizontal +--- + +var values = [ + ['Salaries', 'Office', 'Merchandise', 'Legal', 'TOTAL
EXPENSES
'], + ["Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad", + "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad", + "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad", + "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad", + "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad"]] + +var data = [{ + type: 'table', + columnorder: [1,2], + columnwidth: [80,400], + header: { + values: [["EXPENSES
as of July 2017"], ["DESCRIPTION"]], + align: ["left", "center"], + height: 40, + line: {width: 1, color: '#506784'}, + fill: {color: '#119DFF'}, + font: {family: "Arial", size: 12, color: "white"} + }, + cells: { + values: values, + align: ["left", "center"], + height: 30, + line: {color: "#506784", width: 1}, + fill: {color: ['#25FEFD', 'white']}, + font: {family: "Arial", size: 11, color: ["#506784"]} + } +}] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/table/2017-11-01-styled-example.html b/content/plotly_js/basic/table/2017-11-01-styled-example.html new file mode 100644 index 00000000000..14e24ad39e6 --- /dev/null +++ b/content/plotly_js/basic/table/2017-11-01-styled-example.html @@ -0,0 +1,36 @@ +--- +name: Styled Table +language: plotly_js +suite: tables +order: 2 +sitemap: false +arrangement: horizontal +--- + +var values = [ + ['Salaries', 'Office', 'Merchandise', 'Legal', 'TOTAL'], + [1200000, 20000, 80000, 2000, 12120000], + [1300000, 20000, 70000, 2000, 130902000], + [1300000, 20000, 120000, 2000, 131222000], + [1400000, 20000, 90000, 2000, 14102000]] + +var data = [{ + type: 'table', + header: { + values: [["EXPENSES"], ["Q1"], + ["Q2"], ["Q3"], ["Q4"]], + align: ["left", "center"], + line: {width: 1, color: '#506784'}, + fill: {color: '#119DFF'}, + font: {family: "Arial", size: 12, color: "white"} + }, + cells: { + values: values, + align: ["left", "center"], + line: {color: "#506784", width: 1}, + fill: {color: ['#25FEFD', 'white']}, + font: {family: "Arial", size: 11, color: ["#506784"]} + } +}] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/basic/table/2017-11-01-table-subplot.html b/content/plotly_js/basic/table/2017-11-01-table-subplot.html new file mode 100644 index 00000000000..47b3b4ef3ad --- /dev/null +++ b/content/plotly_js/basic/table/2017-11-01-table-subplot.html @@ -0,0 +1,10 @@ +--- +name: Table Subplots +language: plotly_js +suite: tables +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + Please see [Table Subplots](https://plotly.com/javascript/table-subplots) documentation. +--- diff --git a/content/plotly_js/basic/table/2017-11-01-tables-plotly_js_index.html b/content/plotly_js/basic/table/2017-11-01-tables-plotly_js_index.html new file mode 100644 index 00000000000..0a6c56f6738 --- /dev/null +++ b/content/plotly_js/basic/table/2017-11-01-tables-plotly_js_index.html @@ -0,0 +1,13 @@ +--- +description: How to make a D3.js-based tables in javascript. +display_as: basic +language: plotly_js +layout: base +name: Tables +order: 12 +permalink: javascript/table/ +thumbnail: thumbnail/table.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","tables" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/basic/treemap/2019-10-15-basic-treemap.html b/content/plotly_js/basic/treemap/2019-10-15-basic-treemap.html new file mode 100644 index 00000000000..8eade33f0c8 --- /dev/null +++ b/content/plotly_js/basic/treemap/2019-10-15-basic-treemap.html @@ -0,0 +1,17 @@ +--- +name: Basic Treemap +language: plotly_js +suite: treemap +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + [Treemap charts](https://en.wikipedia.org/wiki/Treemapping) visualize hierarchical data using nested rectangles. Same as [Sunburst](https://plotly.com/javascript/sunburst-charts/) the hierarchy is defined by [labels](https://plotly.com/javascript/reference/treemap/#treemap-labels) and [parents](https://plotly.com/javascript/reference/treemap/#treemap-parents) attributes. Click on one sector to zoom in/out, which also displays a pathbar in the upper-left corner of your treemap. To zoom out you can use the path bar as well. +--- +data = [{ + type: "treemap", + labels: ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"], + parents: ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ] +}] + +Plotly.newPlot('myDiv', data) \ No newline at end of file diff --git a/content/plotly_js/basic/treemap/2019-10-15-nested-layers-treemap.html b/content/plotly_js/basic/treemap/2019-10-15-nested-layers-treemap.html new file mode 100644 index 00000000000..ab8561039d3 --- /dev/null +++ b/content/plotly_js/basic/treemap/2019-10-15-nested-layers-treemap.html @@ -0,0 +1,24 @@ +--- +name: Nested Layers in Treemap +language: plotly_js +suite: treemap +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + The following example uses hierarchical data that includes layers and grouping. Treemap and [Sunburst](https://plotly.com/javascript/sunburst-charts/) charts reveal insights into the data, and the format of your hierarchical data. [maxdepth](https://plotly.com/javascript/reference/treemap/#treemap-maxdepth) attribute sets the number of rendered sectors from the given level. +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]}); +} + +var data = [{ + type: "treemap", + ids: unpack(rows, 'ids'), + labels: unpack(rows, 'labels'), + parents: unpack(rows, 'parents') + }]; + +Plotly.newPlot('myDiv', data); +}) diff --git a/content/plotly_js/basic/treemap/2019-10-15-set-colorscale-treemap.html b/content/plotly_js/basic/treemap/2019-10-15-set-colorscale-treemap.html new file mode 100644 index 00000000000..c5937b115a5 --- /dev/null +++ b/content/plotly_js/basic/treemap/2019-10-15-set-colorscale-treemap.html @@ -0,0 +1,23 @@ +--- +name: +language: plotly_js +suite: treemap +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + This example uses marker.colorscale to change the sector's color. +--- +var values = ["11", "12", "13", "14", "15", "20", "30"] +var labels = ["A1", "A2", "A3", "A4", "A5", "B1", "B2"] +var parents = ["", "A1", "A2", "A3", "A4", "", "B1"] + +var data = [{ + type: 'treemap', + values: values, + labels: labels, + parents: parents, + marker: {colorscale: 'Blues'} +}] + +Plotly.newPlot('myDiv', data) \ No newline at end of file diff --git a/content/plotly_js/basic/treemap/2019-10-15-set-colorway-treemap.html b/content/plotly_js/basic/treemap/2019-10-15-set-colorway-treemap.html new file mode 100644 index 00000000000..a8f67b46a67 --- /dev/null +++ b/content/plotly_js/basic/treemap/2019-10-15-set-colorway-treemap.html @@ -0,0 +1,20 @@ +--- +name: +language: plotly_js +suite: treemap +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + This example uses `treemapcolorway` attribute, which should be set in layout. +--- +var labels = ["A1", "A2", "A3", "A4", "A5", "B1", "B2"]; +var parents = ["", "A1", "A2", "A3", "A4", "", "B1"]; +var data = [{ + type: 'treemap', + labels: labels, + parents: parents +}] +var layout = {treemapcolorway: ["pink", "lightgray"]} + +Plotly.newPlot('myDiv', data, layout) \ No newline at end of file diff --git a/content/plotly_js/basic/treemap/2019-10-15-set-marker-color-treemap.html b/content/plotly_js/basic/treemap/2019-10-15-set-marker-color-treemap.html new file mode 100644 index 00000000000..50c5f7b2538 --- /dev/null +++ b/content/plotly_js/basic/treemap/2019-10-15-set-marker-color-treemap.html @@ -0,0 +1,21 @@ +--- +name: Set Color of Treemap Sectors +language: plotly_js +suite: treemap +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + There are three different ways to change the color of the sectors in Treemap: + 1) [marker.colors](https://plotly.com/javascript/reference/treemap/#treemap-marker-colors), 2) [colorway](https://plotly.com/javascript/reference/layout/#layout-colorway), 3) [colorscale](https://plotly.com/javascript/reference/treemap/#treemap-marker-colorscale). The following examples show how to use each of them. +--- +var labels = ["A1", "A2", "A3", "A4", "A5", "B1", "B2"]; +var parents = ["", "A1", "A2", "A3", "A4", "", "B1"]; +var data = [{ + type: 'treemap', + labels: labels, + parents: parents, + marker: {colors: ["pink", "royalblue", "lightgray", "purple", "cyan", "lightgray", "lightblue"]} +}] + +Plotly.newPlot('myDiv', data) \ No newline at end of file diff --git a/content/plotly_js/basic/treemap/2019-10-15-treemap_attributes.html b/content/plotly_js/basic/treemap/2019-10-15-treemap_attributes.html new file mode 100644 index 00000000000..494ea0dad9d --- /dev/null +++ b/content/plotly_js/basic/treemap/2019-10-15-treemap_attributes.html @@ -0,0 +1,59 @@ +--- +name: Set Different Attributes in Treemap +language: plotly_js +suite: treemap +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + This example uses the following attributes: +
    +
  1. [values](https://plotly.com/javascript/reference/treemap/#treemap-values): sets the values associated with each of the sectors.
  2. +
  3. [textinfo](https://plotly.com/javascript/reference/treemap/#treemap-textinfo): determines which trace information appear on the graph that can be 'text', 'value', 'current path', 'percent root', 'percent entry', and 'percent parent', or any combination of them.
  4. +
  5. [pathbar](https://plotly.com/javascript/reference/treemap/#treemap-pathbar): a main extra feature of treemap to display the current path of the visible portion of the hierarchical map. It may also be useful for zooming out of the graph.
  6. +
  7. [branchvalues](https://plotly.com/javascript/reference/treemap/#treemap-branchvalues): determines how the items in `values` are summed. When set to "total", items in `values` are taken to be value of all its descendants. In the example below Eva = 65, which is equal to 14 + 12 + 10 + 2 + 6 + 6 + 1 + 4.
  8. +
+ When set to "remainder", items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves. +--- +var labels = ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"] +var parents = ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve"] +var data = [{ + type: "treemap", + labels: labels, + parents: parents, + values: [10, 14, 12, 10, 2, 6, 6, 1, 4], + textinfo: "label+value+percent parent+percent entry", + domain: {"x": [0, 0.48]}, + outsidetextfont: {"size": 20, "color": "#377eb8"}, + marker: {"line": {"width": 2}}, + pathbar: {"visible": false} + },{ + type: "treemap", + branchvalues: "total", + labels: labels, + parents: parents, + domain: {x: [0.52, 1]}, + values: [65, 14, 12, 10, 2, 6, 6, 1, 4], + textinfo: "label+value+percent parent+percent entry", + outsidetextfont: {"size": 20, "color": "#377eb8"}, + marker: {"line": {"width": 2}}, + pathbar: {"visible": false} + }]; +var layout = { + annotations: [{ + showarrow: false, + text: "branchvalues: remainder", + x: 0.25, + xanchor: "center", + y: 1.1, + yanchor: "bottom" + }, { + showarrow: false, + text: "branchvalues: total", + x: 0.75, + xanchor: "center", + y: 1.1, + yanchor: "bottom" + }]} + +Plotly.newPlot('myDiv', data, layout) \ No newline at end of file diff --git a/content/plotly_js/basic/treemap/2019-10-15-treemap_plotly_js_index.html b/content/plotly_js/basic/treemap/2019-10-15-treemap_plotly_js_index.html new file mode 100644 index 00000000000..2b9b034cb3b --- /dev/null +++ b/content/plotly_js/basic/treemap/2019-10-15-treemap_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based treemap chart in javascript to visualize hierarchical + data. +display_as: basic +language: plotly_js +layout: base +name: Treemaps +order: 11 +permalink: javascript/treemaps/ +thumbnail: thumbnail/treemap.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","treemap" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} + +See https://plotly/.com/javascript/reference/treemap/ for more information and chart attribute options! \ No newline at end of file diff --git a/content/plotly_js/chart-events/2019-09-12-plotly_js-chart-events-index.html b/content/plotly_js/chart-events/2019-09-12-plotly_js-chart-events-index.html new file mode 100644 index 00000000000..309c524f1c3 --- /dev/null +++ b/content/plotly_js/chart-events/2019-09-12-plotly_js-chart-events-index.html @@ -0,0 +1,28 @@ +--- +permalink: javascript/chart-events/ +name: More Chart Events +description: Plotly.js makes interactive, publication-quality graphs online. Examples of binding callbacks to Plotly chart interactions. +layout: langindex +language: plotly_js +display_as: chart_events +thumbnail: thumbnail/mixed.jpg +page_type: example_index +--- + + +
+
+ +
+ +
+

Plotly.js Chart Events

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","chart_events" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/chart-events/callbacks-click/2015-04-09-click-annotation.html b/content/plotly_js/chart-events/callbacks-click/2015-04-09-click-annotation.html new file mode 100644 index 00000000000..f37cc608913 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-click/2015-04-09-click-annotation.html @@ -0,0 +1,44 @@ +--- +name: Create annotation on click event +plot_url: https://codepen.io/plotly/embed/Kzjamd/?height=465&theme-id=15263&default-tab=result +arrangement: horizontal +language: plotly_js +suite: click-events +sitemap: false +order: 2 +--- + +var myPlot = document.getElementById('myDiv'), + N = 100, + x = d3.range(N), + y1 = d3.range(N).map( d3.random.normal() ), + y2 = d3.range(N).map( d3.random.normal(-2) ), + y3 = d3.range(N).map( d3.random.normal(2) ), + trace1 = { x:x, y:y1, type:'scatter', mode:'lines', name:'Jeff' }, + trace2 = { x:x, y:y2, type:'scatter', mode:'lines', name:'Terren' }, + trace3 = { x:x, y:y3, type:'scatter', mode:'lines', name:'Arthur' }, + data = [ trace1, trace2, trace3 ], + layout = { + hovermode:'closest', + title: {text: 'Click on Points to add an Annotation on it'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_click', function(data){ + var pts = ''; + for(var i=0; i < data.points.length; i++){ + annotate_text = 'x = '+data.points[i].x + + 'y = '+data.points[i].y.toPrecision(4); + + annotation = { + text: annotate_text, + x: data.points[i].x, + y: parseFloat(data.points[i].y.toPrecision(4)) + } + + annotations = self.layout.annotations || []; + annotations.push(annotation); + Plotly.relayout('myDiv',{annotations: annotations}) + } +}); diff --git a/content/plotly_js/chart-events/callbacks-click/2015-04-09-click.html b/content/plotly_js/chart-events/callbacks-click/2015-04-09-click.html new file mode 100644 index 00000000000..750302195f7 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-click/2015-04-09-click.html @@ -0,0 +1,30 @@ +--- +name: Binding to Click Events +plot_url: https://codepen.io/plotly/embed/QbZmZY/?height=465&theme-id=15263&default-tab=result +arrangement: horizontal +language: plotly_js +suite: click-events +sitemap: false +order: 1 +--- +var myPlot = document.getElementById('myDiv'), + N = 16, + x = d3.range(N), + y = d3.range(N).map( d3.random.normal() ), + data = [ { x:x, y:y, type:'scatter', + mode:'markers', marker:{size:16} } ], + layout = { + hovermode:'closest', + title: {text: 'Click on Points'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_click', function(data){ + var pts = ''; + for(var i=0; i < data.points.length; i++){ + pts = 'x = '+data.points[i].x +'\ny = '+ + data.points[i].y.toPrecision(4) + '\n\n'; + } + alert('Closest point clicked:\n\n'+pts); +}); diff --git a/content/plotly_js/chart-events/callbacks-click/2015-04-09-click_index.html b/content/plotly_js/chart-events/callbacks-click/2015-04-09-click_index.html new file mode 100644 index 00000000000..832148489a1 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-click/2015-04-09-click_index.html @@ -0,0 +1,14 @@ +--- +name: Click Events +permalink: javascript/click-events/ +description: How to bind callback functions to click events in D3.js-based JavaScript charts. +layout: base +thumbnail: thumbnail/click.jpg +language: plotly_js +page_type: example_index +display_as: chart_events +order: 1 +redirect_from: javascript-graphing-library/click-events/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","click-events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/chart-events/callbacks-click/2016-10-13-click-event-data.html b/content/plotly_js/chart-events/callbacks-click/2016-10-13-click-event-data.html new file mode 100644 index 00000000000..5a3f3d6dc32 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-click/2016-10-13-click-event-data.html @@ -0,0 +1,22 @@ +--- +name: Click Event Data +language: plotly_js +suite: click-events +sitemap: false +order: 0 +--- + +{ + points: [{ + curveNumber: 2, // index in data of the trace associated with the selected point + pointNumber: 2, // index of the selected point + x: 5, // x value + y: 600, // y value + data: {/* */}, // ref to the trace as sent to Plotly.newPlot associated with the selected point + fullData: {/* */}, // ref to the trace including all the defaults + xaxis: {/* */}, // ref to x-axis object (i.e layout.xaxis) associated with the selected point + yaxis: {/* */} // ref to y-axis object " " + }, { + /* similarly for other selected points */ + }] +} diff --git a/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover-bind.html b/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover-bind.html new file mode 100644 index 00000000000..9d655212e9e --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover-bind.html @@ -0,0 +1,36 @@ +--- +name: Capturing Hover Events: Data +plot_url: https://codepen.io/plotly/embed/oXadPM/?height=550&theme-id=15263&default-tab=result +language: plotly_js +suite: hover-events +sitemap: false +arrangement: horizontal +order: 1 +--- +var myPlot = document.getElementById('myDiv'), + hoverInfo = document.getElementById('hoverinfo'), + N = 16, + x = d3.range(N), + y1 = d3.range(N).map( d3.random.normal() ), + y2 = d3.range(N).map( d3.random.normal() ), + data = [ { x:x, y:y1, type:'scatter', name:'Trial 1', + mode:'markers', marker:{size:16} }, + { x:x, y:y2, type:'scatter', name:'Trial 2', + mode:'markers', marker:{size:16} } ]; + layout = { + hovermode:'closest', + title: {text: 'Hover on Points'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_hover', function(data){ + var infotext = data.points.map(function(d){ + return (d.data.name+': x= '+d.x+', y= '+d.y.toPrecision(3)); + }); + + hoverInfo.innerHTML = infotext.join('
'); +}) + .on('plotly_unhover', function(data){ + hoverInfo.innerHTML = ''; +}); diff --git a/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover-manual.html b/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover-manual.html new file mode 100644 index 00000000000..2d04f984221 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover-manual.html @@ -0,0 +1,40 @@ +--- +name: Triggering Hover Events +plot_url: https://codepen.io/plotly/embed/bdmMQN/?height=550&theme-id=15263&default-tab=result +language: plotly_js +suite: hover-events +sitemap: false +arrangement: horizontal +order: 2 +--- +var myPlot = document.getElementById('myDiv'), + hoverButton = document.getElementById('hoverbutton'), + N = 16, + x = d3.range(N), + y1 = d3.range(N).map( d3.random.normal() ), + y2 = d3.range(N).map( d3.random.normal() ), + data = [ { x:x, y:y1, type:'scatter', name:'Trial 1', + mode:'markers', marker:{size:16} }, + { x:x, y:y2, type:'scatter', name:'Trial 2', + mode:'markers', marker:{size:16} } ]; + layout = { + hovermode:'closest', + title: {text: 'Click "Go" button to trigger hover'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_beforehover',function(){ + return false; +}); + +hoverButton.addEventListener('click', function(){ + var curve1 = Math.floor(Math.random()*2), + curve2 = Math.floor(Math.random()*2), + point1 = Math.floor(Math.random()*14), + point2 = Math.floor(Math.random()*14); + Plotly.Fx.hover('myDiv',[ + {curveNumber:curve1, pointNumber:point1}, + {curveNumber:curve2, pointNumber:point2} + ]); +}); diff --git a/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover_index.html b/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover_index.html new file mode 100644 index 00000000000..64a7f4a8d3b --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-hover/2015-04-09-hover_index.html @@ -0,0 +1,15 @@ +--- +name: Hover Events +permalink: javascript/hover-events/ +description: How to bind callback functions to hover events in D3.js-based JavaScript charts. +layout: base +thumbnail: thumbnail/hover.jpg +language: plotly_js +page_type: example_index +display_as: chart_events +order: 2 +arrangement: horizontal +redirect_from: javascript-graphing-library/hover-events/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","hover-events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/chart-events/callbacks-hover/2015-10-08-hover-coupled.html b/content/plotly_js/chart-events/callbacks-hover/2015-10-08-hover-coupled.html new file mode 100644 index 00000000000..19fda3d62af --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-hover/2015-10-08-hover-coupled.html @@ -0,0 +1,48 @@ +--- +name: Coupled Hover Events +plot_url: https://codepen.io/plotly/embed/zvzdGb/?height=550&theme-id=15263&default-tab=result +language: plotly_js +suite: hover-events +sitemap: false +arrangement: horizontal +order: 3 +--- +var myPlot = document.getElementById('myDiv'), + N = 12, + x1 = d3.range(N).map( d3.random.normal() ), + x2 = d3.range(N).map( d3.random.normal() ), + x3 = d3.range(N).map( d3.random.normal() ), + y1 = d3.range(N).map( d3.random.normal() ), + y2 = d3.range(N).map( d3.random.normal() ), + y3 = d3.range(N).map( d3.random.normal() ), + months = ['January', 'February', 'March', 'April', + 'May', 'June', 'July', 'August', + 'September', 'October', 'November', 'December'] + data = [{ x: x1, y: y1, text: months, type: 'scatter', name: '2014', hoverinfo: 'text+x+y', + mode: 'markers', marker: {color: 'rgba(200, 50, 100, .7)', size: 16} + }, + { x: x2, y: y2, text: months, type: 'scatter', name: '2015', hoverinfo: 'text+x+y', + mode: 'markers', marker: {color: 'rgba(120, 20, 130, .7)', size: 16} + }, + { x: x3, y: y3, text: months, type: 'scatter', name: '2016', hoverinfo: 'text+x+y', + mode: 'markers', marker: {color: 'rgba(10, 180, 180, .8)', size: 16} + }]; + layout = { + hovermode:'closest', + title: {text: 'Display Hover Info for Related Points'}, + xaxis:{zeroline:false, hoverformat: '.2r'}, + yaxis:{zeroline:false, hoverformat: '.2r'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_hover', function (eventdata){ + var points = eventdata.points[0], + pointNum = points.pointNumber; + + Plotly.Fx.hover('myDiv',[ + { curveNumber:0, pointNumber:pointNum }, + { curveNumber:1, pointNumber:pointNum }, + { curveNumber:2, pointNumber:pointNum }, + ]); +}); diff --git a/content/plotly_js/chart-events/callbacks-hover/2015-12-02-hover-complex.html b/content/plotly_js/chart-events/callbacks-hover/2015-12-02-hover-complex.html new file mode 100644 index 00000000000..333ff05c6b7 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-hover/2015-12-02-hover-complex.html @@ -0,0 +1,12 @@ +--- +name: Combined Click and Hover Events +plot_url: https://codepen.io/plotly/embed/eJOyej/?height=600&theme-id=15263&default-tab=result +language: plotly_js +suite: hover-events +sitemap: false +arrangement: horizontal +height: 600 +order: 4 +--- + +This is a more complex example that uses both hover, and click events to display traces. Take a look in the codepen javascript! diff --git a/content/plotly_js/chart-events/callbacks-hover/2016-10-13-hover-event-data.html b/content/plotly_js/chart-events/callbacks-hover/2016-10-13-hover-event-data.html new file mode 100644 index 00000000000..7841f4404c4 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-hover/2016-10-13-hover-event-data.html @@ -0,0 +1,23 @@ +--- +name: Hover Event Data +language: plotly_js +suite: hover-events +sitemap: false +arrangement: horizontal +order: 0 +--- + +{ + points: [{ + curveNumber: 2, // index in data of the trace associated with the selected point + pointNumber: 2, // index of the selected point + x: 5, // x value + y: 600, // y value + data: {/* */}, // ref to the trace as sent to Plotly.newPlot associated with the selected point + fullData: {/* */}, // ref to the trace including all the defaults + xaxis: {/* */}, // ref to x-axis object (i.e layout.xaxis) associated with the selected point + yaxis: {/* */} // ref to y-axis object " " + }, { + /* similarly for other selected points */ + }] +} diff --git a/content/plotly_js/chart-events/callbacks-hover/2017-02-07-pixel-hover.html b/content/plotly_js/chart-events/callbacks-hover/2017-02-07-pixel-hover.html new file mode 100644 index 00000000000..1e3c5b73cc2 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-hover/2017-02-07-pixel-hover.html @@ -0,0 +1,37 @@ +--- +name: Capturing Hover Events: Pixels +plot_url: https://codepen.io/plotly/embed/xgaEaR/?height=550&theme-id=15263&default-tab=result +language: plotly_js +suite: hover-events +order: 1.5 +sitemap: false +arrangement: horizontal +--- + +var myPlot = document.getElementById('myDiv'), + hoverInfo = document.getElementById('hoverinfo'), + N = 16, + x = d3.range(N), + y1 = d3.range(N).map(d3.random.normal()), + y2 = d3.range(N).map(d3.random.normal()), + data = [{x:x, y:y1, type:'scatter', name:'Trial 1', + mode:'markers', marker:{size:16}}, + {x:x, y:y2, type:'scatter', name:'Trial 2', + mode:'markers', marker:{size:16}}], + layout = {hovermode:'closest', + title: {text: 'Hover on Points to see
Pixel Coordinates'}}; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_hover', function(data){ + var xaxis = data.points[0].xaxis, + yaxis = data.points[0].yaxis; + var infotext = data.points.map(function(d){ + return ('width: '+xaxis.l2p(d.x)+', height: '+yaxis.l2p(d.y)); + }); + + hoverInfo.innerHTML = infotext.join('
'); +}) + .on('plotly_unhover', function(data){ + hoverInfo.innerHTML = ''; +}); diff --git a/content/plotly_js/chart-events/callbacks-zoom/2015-04-09-zoom-bind.html b/content/plotly_js/chart-events/callbacks-zoom/2015-04-09-zoom-bind.html new file mode 100644 index 00000000000..01b4174e973 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-zoom/2015-04-09-zoom-bind.html @@ -0,0 +1,27 @@ +--- +name: Binding to Zoom Events +plot_url: https://codepen.io/plotly/embed/dogexw/?height=530&theme-id=15263&default-tab=result +language: plotly_js +suite: zoom-events +sitemap: false +order: 0 +arrangement: horizontal +--- +var graphDiv = document.getElementById('myDiv'); + +var N = 40, + x = d3.range(N), + y = d3.range(N).map( d3.random.normal() ), + data = [ { x:x, y:y } ]; + layout = { title: {text: 'Click-drag to zoom' }}; + +Plotly.newPlot(graphDiv, data, layout); + +graphDiv.on('plotly_relayout', + function(eventdata){ + alert( 'ZOOM!' + '\n\n' + + 'Event data:' + '\n' + + JSON.stringify(eventdata) + '\n\n' + + 'x-axis start:' + eventdata['xaxis.range[0]'] + '\n' + + 'x-axis end:' + eventdata['xaxis.range[1]'] ); + }); diff --git a/content/plotly_js/chart-events/callbacks-zoom/2015-04-09-zoom_index.html b/content/plotly_js/chart-events/callbacks-zoom/2015-04-09-zoom_index.html new file mode 100644 index 00000000000..0be89456838 --- /dev/null +++ b/content/plotly_js/chart-events/callbacks-zoom/2015-04-09-zoom_index.html @@ -0,0 +1,14 @@ +--- +name: Zoom Events +permalink: javascript/zoom-events/ +description: How to bind callback functions to zoom events in D3.js-based JavaScript charts. +layout: base +thumbnail: thumbnail/zoom.jpg +language: plotly_js +page_type: example_index +display_as: chart_events +order: 4 +redirect_from: javascript-graphing-library/zoom-events/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","zoom-events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/chart-events/events/2016-11-20-plotly_js_events_index.html b/content/plotly_js/chart-events/events/2016-11-20-plotly_js_events_index.html new file mode 100644 index 00000000000..91a980a453c --- /dev/null +++ b/content/plotly_js/chart-events/events/2016-11-20-plotly_js_events_index.html @@ -0,0 +1,10 @@ +--- +name: Event Handlers +permalink: javascript/plotlyjs-events/ +description: Definitions and examples of how to use Plotly.js event handlers to add additional interactive capabilities to Plotly charts. +layout: base +language: plotly_js +page_type: example_index +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/chart-events/events/2017-01-01-order10_afterplot.html b/content/plotly_js/chart-events/events/2017-01-01-order10_afterplot.html new file mode 100644 index 00000000000..d24ef1687cc --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order10_afterplot.html @@ -0,0 +1,27 @@ +--- +name: Afterplot Event +plot_url: https://codepen.io/plotly/embed/YeGGdy/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: events +order: 10.2 +sitemap: false +arrangement: horizontal +markdown_content: | + The event handler: `plotly_afterplot`, can be used to trigger an event each time a chart is plotted. This also includes re-plotting after the restyling or relayout of a plot. + Users also have the option of adding a post-plot handler to the plot call with the following syntax: `Plotly.newPlot('myDiv', data, layout, config).then(postPlotHandler);` + + The simple example below logs a console message each time the chart is plotted. Zoom or pan on the graph below to trigger the `plotly_afterplot` handler. +--- +var myPlot = document.getElementById('myDiv'), + N = 20, + x = d3.range(N), + y = d3.range(N).map( d3.random.normal() ), + data = [{x:x, y:y, type:'scatter', + mode:'markers', marker:{size:14}} + ]; + +Plotly.newPlot('myDiv', data); + +myPlot.on('plotly_afterplot', function(){ + console.log('done plotting'); +}); diff --git a/content/plotly_js/chart-events/events/2017-01-01-order1_using_events.html b/content/plotly_js/chart-events/events/2017-01-01-order1_using_events.html new file mode 100644 index 00000000000..6251316c17e --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order1_using_events.html @@ -0,0 +1,17 @@ +--- +name: Using Plotly.js Events +plot_url: +language: plotly_js +suite: events +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + Plotly graphs emit events prefixed with plotly_ (i.e. `'plotly_click'`, `'plotly_hover'`, `'plotly_relayout'`) when interacted with (clicked, hovered, zoomed). Event handlers can be bound to events using the `.on` method that is exposed by the plot div object. + + In addition to the event handler, some events emit additional information about the point(s) or plot interacted with. The following documentation organizes Plotly events based on the accessible information emitted with the event: [event data](), [update data](), or [no additional data](). The following page provides a description and example of each Plotly event as well as the structure of the data or update returned with the event. +--- +myDiv.on('plotly_event', function(){ + // do something; + }); + diff --git a/content/plotly_js/chart-events/events/2017-01-01-order2_simple_event_ex.html b/content/plotly_js/chart-events/events/2017-01-01-order2_simple_event_ex.html new file mode 100644 index 00000000000..3966f722a11 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order2_simple_event_ex.html @@ -0,0 +1,26 @@ +--- +name: Simple Event Example +plot_url: https://codepen.io/plotly/embed/NbvPLa/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: events +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + Here's a simple example using a Plotly event. Click on a point on the chart below to see an alert triggered by the `plotly_click` event. +--- +var myPlot = document.getElementById('myDiv'), + x = [1, 2, 3, 4, 5], + y = [10, 20, 30, 20, 10], + data = [{x:x, y:y, type:'scatter', + mode:'markers', marker:{size:20} + }], + layout = {hovermode:'closest', + title: {text: 'Click on Points'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_click', function(){ + alert('You clicked this Plotly chart!'); +}); diff --git a/content/plotly_js/chart-events/events/2017-01-01-order3-1_event_data.html b/content/plotly_js/chart-events/events/2017-01-01-order3-1_event_data.html new file mode 100644 index 00000000000..632066a8b51 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order3-1_event_data.html @@ -0,0 +1,77 @@ +--- +name: Event Data +plot_url: +language: plotly_js +suite: events +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + Many Plotly events emit event data when the event is triggered. Event data is information about the data point related to the event (i.e. the point clicked).
+ The following events emit event data: [`plotly_click`](), [`plotly_hover`](), [`plotly_unhover`](), [`plotly_selecting`](), and [`plotly_selected`](). +
Event data differs depending on the type of plot the user is interacting with. The event data structure for Cartesian (2D) plots, 3D plots, and maps can be found below, along with examples of each event. +--- +// Cartesian +{ + points: [{ + curveNumber: 1, // index in data of the trace associated with the selected point + pointNumber: 1, // index of the selected point + x: 1, // x value + y: 1, // y value + data: {/* */}, // ref to the trace as sent to Plotly.newPlot associated with the selected point + fullData: {/* */}, // ref to the trace including all of the default attributes + xaxis: {/* */}, // ref to x-axis object (i.e layout.xaxis) associated with the selected point + yaxis: {/* */} // ref to y-axis object " " + }, { + /* similarly for other selected points */ + }] +} + +// Cartesian Histograms +{ + points: [{ + curveNumber: 1, // index in data of the trace associated with the selected point + pointNumbers: [1, 5, 28, 33, 41, ...], // Array of indices of the points aggregated into selected bin + x: 1, // x value + y: 45, // y value + data: {/* */}, // ref to the trace as sent to Plotly.newPlot associated with the selected point + fullData: {/* */}, // ref to the trace including all of the default attributes + xaxis: {/* */}, // ref to x-axis object (i.e layout.xaxis) associated with the selected point + yaxis: {/* */} // ref to y-axis object " " + }, { + /* similarly for other selected points */ + }] +} + +// 3D +{ + points: [{ + curveNumber: 2, // index in data of the trace associated with the selected point + pointNumber: 2, // index of the selected point + x: 5, // x value + y: 600, // y value + z: 12, // z value + data: {/* */}, // ref to the trace as sent to Plotly.newPlot associated with the selected point + fullData: {/* */}, // ref to the trace including all of the default attributes + xaxis: {/* */}, // ref to x-axis object (i.e layout.xaxis) associated with the selected point + yaxis: {/* */} // ref to y-axis object " " + zaxis: {/* */} // ref to z-axis object " " + }, { + /* similarly for other selected points */ + }] +} + +// Maps +{ + points: [{ + curveNumber: 2, // index in data of the trace associated with the selected point + pointNumber: 2, // index of the selected point + lat: 50, // latitude value + lon: -12, // longitude value + data: {/* */}, // ref to the trace as sent to Plotly.newPlot associated with the selected point + fullData: {/* */}, // ref to the trace including all of the default attributes + location: // + }, { + /* similarly for other selected points */ + }] +} diff --git a/content/plotly_js/chart-events/events/2017-01-01-order5_hover_event.html b/content/plotly_js/chart-events/events/2017-01-01-order5_hover_event.html new file mode 100644 index 00000000000..30ccbe924b7 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order5_hover_event.html @@ -0,0 +1,56 @@ +--- +name: Hover Event +plot_url: https://codepen.io/plotly/embed/xgxbrj/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: events +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + Here's a simple example of using the data returned from the `plotly_hover` and `plotly_unhover` events to restyle the graph. After creating a plot, we can change the color of the point hovered on by updating the `marker.color` array at the index of the point we hovered on then using `Plotly.restyle()` to apply the update. Then we can use `plotly_unhover` to change the `marker.color` back to the original color. For more examples of using `plotly_hover` events, see: https://plotly.com/javascript/hover-events/ +--- +var myPlot = document.getElementById('myDiv'), + x = [1, 2, 3, 4, 5, 6, 7], + y = [1, 2, 3, 2, 3, 4, 3], + colors =['#00000','#00000','#00000', + '#00000','#00000','#00000', + '#00000'], + data = [{x:x, y:y, + type:'scatter', + mode:'markers', marker:{size:16, color:colors}}], + layout = { + hovermode:'closest', + title: {text: 'Hover on a Point
to Change Color'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_hover', function(data){ + var pn='', + tn='', + colors=[]; + for(var i=0; i < data.points.length; i++){ + pn = data.points[i].pointNumber; + tn = data.points[i].curveNumber; + colors = data.points[i].data.marker.color; + }; + colors[pn] = '#C54C82'; + + var update = {'marker':{color: colors, size:16}}; + Plotly.restyle('myDiv', update, [tn]); +}); + +myPlot.on('plotly_unhover', function(data){ + var pn='', + tn='', + colors=[]; + for(var i=0; i < data.points.length; i++){ + pn = data.points[i].pointNumber; + tn = data.points[i].curveNumber; + colors = data.points[i].data.marker.color; + }; + colors[pn] = '#00000'; + + var update = {'marker':{color: colors, size:16}}; + Plotly.restyle('myDiv', update, [tn]); +}); diff --git a/content/plotly_js/chart-events/events/2017-01-01-order6_click_event.html b/content/plotly_js/chart-events/events/2017-01-01-order6_click_event.html new file mode 100644 index 00000000000..8f26565b2c6 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order6_click_event.html @@ -0,0 +1,39 @@ +--- +name: Click Event +plot_url: https://codepen.io/plotly/embed/Obxbdv/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: events +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + Here's a simple example of using the data returned from the `plotly_click` event to restyle the graph. After creating a plot, we can change the color of the point clicked on by updating the `marker.color` array at the index of the point we clicked on then using `Plotly.restyle()` to apply the update. For more examples of using `plotly_click` events, see: [https://plotly.com/javascript/click-events/]() +--- +var myPlot = document.getElementById('myDiv'), + x = [1, 2, 3, 4, 5, 6], + y = [1, 2, 3, 2, 3, 4], + colors = ['#00000','#00000','#00000', + '#00000','#00000','#00000'], + data = [{x:x, y:y, type:'scatter', + mode:'markers', marker:{size:16, color:colors}}], + layout = { + hovermode:'closest', + title: {text: 'Click on a Point to Change Color
Double Click (anywhere) to Change it Back'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_click', function(data){ + var pn='', + tn='', + colors=[]; + for(var i=0; i < data.points.length; i++){ + pn = data.points[i].pointNumber; + tn = data.points[i].curveNumber; + colors = data.points[i].data.marker.color; + }; + colors[pn] = '#C54C82'; + + var update = {'marker':{color: colors, size:16}}; + Plotly.restyle('myDiv', update, [tn]); +}); diff --git a/content/plotly_js/chart-events/events/2017-01-01-order6_selected_event.html b/content/plotly_js/chart-events/events/2017-01-01-order6_selected_event.html new file mode 100644 index 00000000000..151cd0040d4 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order6_selected_event.html @@ -0,0 +1,100 @@ +--- +name: Select Event +plot_url: https://codepen.io/plotly/embed/BpayyX/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: events +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + Here's a simple example using the data returned from the `plotly_selected` event. `plotly_selected` returns event data for all points selected simultaneously. After creating a scatter plot with random data and two histograms that display the x and y distributions of that random data, we can select points by clicking and dragging on the plot. Upon `plotly_selected` the histograms will update to display the distribution of the x and y values of the selected points. The color of the scatter plot will be updated as well to highlight the selected points. For more examples of using `plotly_selected` and `plotly_selecting` events, see: https://plotly.com/javascript/lasso-selection/ +--- +var graphDiv = document.getElementById('myDiv'); +var N = 1000; +var color1 = '#7b3294'; +var color1Light = '#c2a5cf'; +var colorX = '#ffa7b5'; +var colorY = '#fdae61'; + +function randomArray() { + var out = new Array(N); + for(var i = 0; i < N; i++) { + out[i] = Math.random(); + } + return out; +} +var x = randomArray(); +var y = randomArray(); + +Plotly.newPlot(graphDiv, [{ + type: 'scatter', + mode: 'markers', + x: x, + y: y, + xaxis: 'x', + yaxis: 'y', + name: 'random data', + marker: {color: color1, size: 10} +}, { + type: 'histogram', + x: x, + xaxis: 'x2', + yaxis: 'y2', + name: 'x coord dist.', + marker: {color: colorX} +}, { + type: 'histogram', + x: y, + xaxis: 'x3', + yaxis: 'y3', + name: 'y coord dist.', + marker: {color: colorY} +}], { + title: { + text: 'Lasso around the scatter points to see sub-distributions' + }, + dragmode: 'lasso', + xaxis: { + zeroline: false, + }, + yaxis: { + domain: [0.55, 1], + }, + xaxis2: { + domain: [0, 0.45], + anchor: 'y2', + }, + yaxis2: { + domain: [0, 0.45], + anchor: 'x2' + }, + xaxis3: { + domain: [0.55, 1], + anchor: 'y3' + }, + yaxis3: { + domain: [0, 0.45], + anchor: 'x3' + } +}); + +graphDiv.on('plotly_selected', function(eventData) { + var x = []; + var y = []; + + var colors = []; + for(var i = 0; i < N; i++) colors.push(color1Light); + + eventData.points.forEach(function(pt) { + x.push(pt.x); + y.push(pt.y); + colors[pt.pointNumber] = color1; + }); + + Plotly.restyle(graphDiv, { + x: [x, y], + xbins: {} + }, [1, 2]); + + Plotly.restyle(graphDiv, 'marker.color', [colors], [0]); +}); diff --git a/content/plotly_js/chart-events/events/2017-01-01-order7_doubleclick_event.html b/content/plotly_js/chart-events/events/2017-01-01-order7_doubleclick_event.html new file mode 100644 index 00000000000..cd04eabd056 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order7_doubleclick_event.html @@ -0,0 +1,46 @@ +--- +name: Double Click Event +plot_url: https://codepen.io/plotly/embed/WoZOdq/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: events +order: 10.3 +sitemap: false +arrangement: horizontal +markdown_content: | + In addition to `plotly_click`, `plotly_doubleclick` can be used as an event handle in Plotly charts as well. You may already be familiar with `plotly_doubleclick` if you regularly use Plotly's zoom and pan functionality, double clicking on the graph will restore the axes ranges after zooming into a specific area. Unlike `plotly_click`, a `plotly_doubleclick` is registered upon clicking anywhere on the graph (not just data points), therefore, `plotly_doubleclick` does not return data. In the following example, we'll build off of our `plotly_click` example, and reset the color of our data points upon double clicking anywhere on the graph. +--- +var myPlot = document.getElementById('myDiv'), + x = [1, 2, 3, 4, 5, 6], + y = [1, 2, 3, 2, 3, 4], + colors = ['#00000','#00000','#00000', + '#00000','#00000','#00000'], + data = [{x:x, y:y, type:'scatter', + mode:'markers', marker:{size:16, color:colors}}], + layout = { + hovermode:'closest', + title: {text: 'Click on a Point to Change Color
Double Click (anywhere) to Change it Back'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_click', function(data){ + var pn='', + tn='', + colors=[]; + for(var i=0; i < data.points.length; i++){ + pn = data.points[i].pointNumber; + tn = data.points[i].curveNumber; + colors = data.points[i].data.marker.color; + }; + colors[pn] = '#C54C82'; + + var update = {'marker':{color: colors, size:16}}; + Plotly.restyle('myDiv', update, [tn]); +}); + +myPlot.on('plotly_doubleclick', function(data){ + var orgColors = ['#00000','#00000','#00000', + '#00000','#00000','#00000']; + var update = {'marker':{color: orgColors, size:16}}; + Plotly.restyle('myDiv', update); +}); diff --git a/content/plotly_js/chart-events/events/2017-01-01-order7_update_data.html b/content/plotly_js/chart-events/events/2017-01-01-order7_update_data.html new file mode 100644 index 00000000000..671f5a6c868 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order7_update_data.html @@ -0,0 +1,63 @@ +--- +name: Update Data +plot_url: +language: plotly_js +suite: events +order: 7 +sitemap: false +arrangement: horizontal +markdown_content: | + The following Plotly events emit update information when the event is triggered: [`plotly_restyle`]() and [`plotly_relayout`](). + The update emitted with `plotly_restyle` is similar across plot types and includes an array containing an object of the newly updated + attributes and an array of the trace numbers that were updated. + + For Cartesian (2D) plots, `plotly_relayout` emits only the xaxis and yaxis ranges which were directly changed by the triggering event. + For 3D plots, [`layout.scene.camera`](https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera) data is similarly emitted. + See the full structures below: +--- +// plotly_restyle update +[ + {update}, // update object -- attribute updated: new value + [0] // array of traces updated +] + +// plotly_relayout update: Cartesian +//// Upon resizing plot: +{ + xaxis.range[0]: , // new value if xaxis.range[0] was updated + xaxis.range[1]: , + yaxis.range[0]: , // new value if yaxis.range[0] was updated + yaxis.range[1]: +} +//// Upon autosizing plot: +{ + xaxis.autorange: true, + yaxis.autorange: true +} + +// plotly_relayout update: 3D +// a subset of the following data will be emitted depending on +// which attributes were changed by the triggering event. +{ + scene: { + center: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-center + x: 0, + y: 0, + z: 0 + } + }, + { + eye: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-eye + x: 1.25, + y: 1.25, + z: 1.25 + } + }. + { + up: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-up + x: 0, + y: 0, + z: 1 + } + } +} diff --git a/content/plotly_js/chart-events/events/2017-01-01-order8_add_events.html b/content/plotly_js/chart-events/events/2017-01-01-order8_add_events.html new file mode 100644 index 00000000000..ba06ad73872 --- /dev/null +++ b/content/plotly_js/chart-events/events/2017-01-01-order8_add_events.html @@ -0,0 +1,17 @@ +--- +name: Additional Events +plot_url: +language: plotly_js +suite: events +order: 10 +sitemap: false +arrangement: horizontal +markdown_content: | + The following Plotly events do not emit additional data or update information: [`plotly_webglcontextlost`](#webgl-context-lost-event), [`plotly_afterplot`](#afterplot-event), [`plotly_autosize`](), [`plotly_deselect`](), [`plotly_doubleclick`](#double-click-event), [`plotly_redraw`](), and [`plotly_animated`](). These event handlers can be used to notify or trigger an additional event with the following syntax: +--- + +function eventTriggeredHandler() { + /* add your event triggered handler here */ +} + +myDiv.on('plotly_event', eventTriggeredHandler); \ No newline at end of file diff --git a/content/plotly_js/chart-events/events/2018-08-06-order6_legendclick_event.html b/content/plotly_js/chart-events/events/2018-08-06-order6_legendclick_event.html new file mode 100644 index 00000000000..b28ff8fd3ea --- /dev/null +++ b/content/plotly_js/chart-events/events/2018-08-06-order6_legendclick_event.html @@ -0,0 +1,51 @@ +--- +name: Legend Click Events +plot_url: https://codepen.io/plotly/embed/vazxKv/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: events +order: 4.1 +sitemap: false +arrangement: horizontal +markdown_content: | + `plotly_legendclick` and `plotly_legenddoubleclick` allow customization of the plotly legend. The default behaviour of `plotly_legendclick` is to hide a trace and the default behavior of `plotly_legenddoubleclick` is to select one trace and hide all the others. + We can add to the default behaviour by creating a new `plotly_legendclick` event with a function of our choice. We can also disable the default behaviour by creating a function that returns `false`. In the example below, we do both in order to create a `plotly_legendclick` event which changes the marker color back to black instead of erasing the trace. +--- +var myPlot = document.getElementById('myDiv'), + x = [1, 2, 3, 4, 5, 6], + y = [1, 2, 3, 2, 3, 4], + y2 = [1, 4, 7, 6, 1, 5], + colors = [['#5C636E','#5C636E','#5C636E','#5C636E','#5C636E','#5C636E'], + ['#393e46','#393e46','#393e46','#393e46','#393e46','#393e46']], + data = [{x:x, y:y, type:'scatter', + mode:'line', line:{ color:'#5C636E'},marker:{size:16, color:colors[0]}}, + {x:x, y:y2, type:'scatter', + mode:'line',line:{ color:'#393e46'}, marker:{size:16, color:colors[1]}}], + layout = { + showlegend: true, + hovermode:'closest', + title: {text: 'Click on a Point to Change Color
Click on a Trace in the Legend to Change Back One Trace Only'} + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_click', function(data){ + var pn='', + tn='', + colors=[]; + for(var i=0; i < data.points.length; i++){ + pn = data.points[i].pointNumber; + tn = data.points[i].curveNumber; + colors = data.points[i].data.marker.color; + }; + colors[pn] = '#C54C82'; + var update = {'marker':{color: colors, size:16}}; + Plotly.restyle('myDiv', update,[tn]); +}); + +myPlot.on('plotly_legendclick', function(data){ + var trColors = [['#5C636E','#5C636E','#5C636E','#5C636E','#5C636E','#5C636E'], + ['#393e46','#393e46','#393e46','#393e46','#393e46','#393e46']]; + var update = {'marker':{color: trColors[data.curveNumber], size:16}}; + Plotly.restyle('myDiv', update,[data.curveNumber]); + return false; +}); diff --git a/content/plotly_js/chart-events/events/2018-10-04-webglcontextlost.html b/content/plotly_js/chart-events/events/2018-10-04-webglcontextlost.html new file mode 100644 index 00000000000..dd17a1e1ee0 --- /dev/null +++ b/content/plotly_js/chart-events/events/2018-10-04-webglcontextlost.html @@ -0,0 +1,12 @@ +--- +name: Webgl Context Lost Event +language: plotly_js +suite: events +order: 10.1 +sitemap: false +arrangement: horizontal +markdown_content: | + Plotly graphs which use WebGL receive a "WebGL context" from the browser which gives them access to gpu resources. + A program may lose its WebGL context if the browser is overloaded with them and is forced to shut one down. + The event handler: `plotly_webglcontextlost`, can be used to trigger an event after a graph loses it's WebGL context. +--- diff --git a/content/plotly_js/chart-events/hover/2019-05-15-basic-hovertemplate.html b/content/plotly_js/chart-events/hover/2019-05-15-basic-hovertemplate.html new file mode 100644 index 00000000000..1cdb3a2afa5 --- /dev/null +++ b/content/plotly_js/chart-events/hover/2019-05-15-basic-hovertemplate.html @@ -0,0 +1,36 @@ +--- +name: Hovertemplate +language: plotly_js +suite: hover +order: 3 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + type: 'scatter', + mode: 'lines+markers', + x: [1,2,3,4,5], + y: [2.02825,1.63728,6.83839,4.8485,4.73463], + hovertemplate: 'Price: $%{y:.2f}' + + '
X: %{x}
' + + '%{text}', + text: ["Text A", "Text B", "Text C", "Text D", "Text E"], + showlegend: false + }, + { + x: [1,2,3,4,5], + y: [3.02825,2.63728,4.83839,3.8485,1.73463], + hovertemplate: 'Price: %{y:$.2f}', + showlegend: false + } +]; + +var layout = { + title: { + text: "Set hover text with hovertemplate" + }, +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/chart-events/remove-trace/2015-08-15-remove-trace-example.html b/content/plotly_js/chart-events/remove-trace/2015-08-15-remove-trace-example.html new file mode 100644 index 00000000000..37ec7d2d420 --- /dev/null +++ b/content/plotly_js/chart-events/remove-trace/2015-08-15-remove-trace-example.html @@ -0,0 +1,41 @@ +--- +name: Remove Trace +plot_url: https://codepen.io/plotly/embed/963044d434248ee56d8236203c390017/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: remove-trace +order: 8 +sitemap: false +arrangement: horizontal +--- +function plotGraph(){ +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + type: 'scatter', + line: { + color: 'rgb(55, 128, 191)', + } +}; + +var trace2 = { + x: [1, 2, 3, 4], + y: [16, 5, 11, 9], + type: 'scatter', + line: { + color: 'rgb(255,140,0)', + } +}; + +var layout = { + title: {text: 'Click Buttons to Delete Traces'}, + showlegend:false +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data, layout); +} + +function deleteTrace(divId){ + Plotly.deleteTraces('myDiv', 0); +}; diff --git a/content/plotly_js/chart-events/remove-trace/2015-08-15-remove_trace_index.html b/content/plotly_js/chart-events/remove-trace/2015-08-15-remove_trace_index.html new file mode 100644 index 00000000000..4d0764fff34 --- /dev/null +++ b/content/plotly_js/chart-events/remove-trace/2015-08-15-remove_trace_index.html @@ -0,0 +1,13 @@ +--- +name: Remove Trace from Plot +permalink: javascript/remove-trace/ +description: How to remove a trace from a plot in JavaScript with D3.js. +layout: base +thumbnail: thumbnail/remove-trace.jpg +language: plotly_js +page_type: example_index +display_as: reference +redirect_from: javascript-graphing-library/remove-trace/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","remove-trace" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind-both-axis.html b/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind-both-axis.html new file mode 100644 index 00000000000..dbdf6bb285d --- /dev/null +++ b/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind-both-axis.html @@ -0,0 +1,44 @@ +--- +name: Disabling Zoom Events for X and Y Axis +plot_url: https://codepen.io/plotly/embed/PZPPPj/?height=480&theme-id=15263&default-tab=result +language: plotly_js +suite: unbind-zoom-events +sitemap: false +order: 1 +arrangement: horizontal +--- +function makeplot() { + d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv", function(data){ processData(data) } ); + +}; + +function processData(allRows) { + + var x = [], y = [], standard_deviation = []; + + for (var i=0; i < allRows.length; i++) { + row = allRows[i]; + x.push( row['AAPL_x'] ); + y.push( row['AAPL_y'] ); + } + makePlotly( x, y, standard_deviation ); +} + +function makePlotly( x, y, standard_deviation ){ + var plotDiv = document.getElementById("myDiv"); + var traces = [{ + x: x, + y: y + }]; + + var layout = { + title: { + text: 'Plotting CSV data from AJAX call' + }, + yaxis: {fixedrange: true}, + xaxis: {fixedrange: true} + }; + + Plotly.newPlot('myDiv', traces, layout); +}; + makeplot(); diff --git a/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind-x-axis.html b/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind-x-axis.html new file mode 100644 index 00000000000..688d504a8ff --- /dev/null +++ b/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind-x-axis.html @@ -0,0 +1,48 @@ +--- +name: Disabling Zoom Events for X Axis +plot_url: https://codepen.io/plotly/embed/LGppGV/?height=460&theme-id=15263&default-tab=result +language: plotly_js +suite: unbind-zoom-events +sitemap: false +order: 0 +arrangement: horizontal +--- +function makeplot() { + d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv", function(data){ processData(data) } ); + +}; + +function processData(allRows) { + + console.log(allRows); + var x = [], y = [], standard_deviation = []; + + for (var i=0; i < allRows.length; i++) { + row = allRows[i]; + x.push( row['AAPL_x'] ); + y.push( row['AAPL_y'] ); + } + console.log( 'X',x, 'Y',y, 'SD',standard_deviation ); + makePlotly( x, y, standard_deviation ); +} + +function makePlotly( x, y, standard_deviation ){ + var plotDiv = document.getElementById("myDiv"); + var traces = [{ + x: x, + y: y + }]; + + var layout = { + title: { + text: 'Plotting CSV data from AJAX call' + }, + xaxis: { + fixedrange: true + } + }; + + Plotly.newPlot('myDiv', traces, layout); +}; + makeplot(); + diff --git a/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind_index.html b/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind_index.html new file mode 100644 index 00000000000..f37c7581c8a --- /dev/null +++ b/content/plotly_js/chart-events/zoom-disable/2015-12-12-zoom-unbind_index.html @@ -0,0 +1,14 @@ +--- +name: Disable Zoom Events +permalink: javascript/disable-zoom/ +description: How to disable zoom events in JavaScript charts. +layout: base +thumbnail: thumbnail/zoom.jpg +language: plotly_js +page_type: example_index +display_as: chart_events +order: 4.75 +redirect_from: javascript-graphing-library/disable-zoom/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","unbind-zoom-events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/controls/2024-05-27-plotly_js-controls-index.md b/content/plotly_js/controls/2024-05-27-plotly_js-controls-index.md new file mode 100644 index 00000000000..89fab73b48c --- /dev/null +++ b/content/plotly_js/controls/2024-05-27-plotly_js-controls-index.md @@ -0,0 +1,28 @@ +--- +permalink: javascript/controls/ +description: Plotly.js makes interactive, publication-quality graphs online. Examples of how to make controls in charts. +name: Add Custom Controls +layout: langindex +language: plotly_js +display_as: controls +thumbnail: thumbnail/mixed.jpg +page_type: example_index +--- + + +
+
+ +
+ +
+

Add Custom Controls

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","controls" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/controls/callbacks-buttons/2015-04-09-buttons_index.html b/content/plotly_js/controls/callbacks-buttons/2015-04-09-buttons_index.html new file mode 100644 index 00000000000..5d8a1ed9542 --- /dev/null +++ b/content/plotly_js/controls/callbacks-buttons/2015-04-09-buttons_index.html @@ -0,0 +1,14 @@ +--- +name: Button Events +permalink: javascript/custom-buttons/ +description: How to bind callback functions to custom buttons in D3.js-based JavaScript charts. +layout: base +thumbnail: thumbnail/custom-buttons.jpg +language: plotly_js +page_type: example_index +display_as: controls +order: 2 +redirect_from: javascript-graphing-library/custom-buttons/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","button-events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-animate.html b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-animate.html new file mode 100644 index 00000000000..f5ff4a67111 --- /dev/null +++ b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-animate.html @@ -0,0 +1,10 @@ +--- +name: Animate Button +language: plotly_js +suite: button-events +sitemap: false +order: 5 +arrangement: horizontal +markdown_content: | + Refer to our animation docs: [https://plotly.com/javascript/#animations](https://plotly.com/javascript/#animations) for examples on how to use the animate method with Plotly buttons. +--- diff --git a/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-relayout.html b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-relayout.html new file mode 100644 index 00000000000..f4ebf25c82e --- /dev/null +++ b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-relayout.html @@ -0,0 +1,121 @@ +--- +name: Relayout Button +plot_url: https://codepen.io/plotly/embed/mzXQPQ/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: button-events +sitemap: false +order: 3 +arrangement: horizontal +markdown_content: | + The `relayout` method should be used when modifying the layout attributes of the graph. + **Update One Layout Attribute** + This example demonstrates how to update a layout attribute: chart type with the `relayout` method. +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/normal-clusters.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return parseFloat(row[key]); }); +} + +var button_layer_height = 1.2 +var x0 = unpack(rows,'x0') +var x1 = unpack(rows,'x1') +var x2 = unpack(rows,'x2') +var y0 = unpack(rows,'y0') +var y1 = unpack(rows,'y1') +var y2 = unpack(rows,'y2') + +var data = [{ + x: x0, + y: y0, + mode: 'markers', + marker: {color: '#835AF1'} + }, + { + x: x1, + y: y1, + mode: 'markers', + marker: {color: '#7FA6EE'} + }, + { + x: x2, + y: y2, + mode: 'markers', + marker: {color: '#B8F7D4'} + }, + +] + +var cluster0 = {type: 'circle', + xref: 'x', yref: 'y', + x0: Math.min(...x0), y0: Math.min(...y0), + x1: Math.max(...x0), y1: Math.max(...y0), + opacity: 0.25, + line: {color: '#835AF1'}, + fillcolor: '#835AF1'} + +var cluster1 = {type: 'circle', + xref: 'x', yref: 'y', + x0: Math.min(...x1), y0: Math.min(...y1), + x1: Math.max(...x1), y1: Math.max(...y1), + opacity: 0.25, + line: {color: '#7FA6EE'}, + fillcolor: '#7FA6EE'} + +var cluster2 = {type: 'circle', + xref: 'x', yref: 'y', + x0: Math.min(...x2), y0: Math.min(...y2), + x1: Math.max(...x2), y1: Math.max(...y2), + opacity: 0.25, + line: {color: '#B8F7D4'}, + fillcolor: '#B8F7D4'} + +var updatemenus=[ + { + buttons: [ + { + args: ['shapes', []], + label: 'None', + method: 'relayout' + }, + { + args: ['shapes', [cluster0]], + label: 'Cluster 0', + method: 'relayout' + }, + { + args: ['shapes', [cluster1]], + label: 'Cluster 1', + method: 'relayout' + }, + { + args: ['shapes', [cluster2]], + label: 'Cluster 2', + method: 'relayout' + }, + { + args: ['shapes', [cluster0, cluster1, cluster2]], + label: 'All', + method: 'relayout' + }, + ], + direction: 'left', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'buttons', + x: 0.1, + xanchor: 'left', + y: button_layer_height, + yanchor: 'top' + }, + +] + +var layout = { + updatemenus: updatemenus, + showlegend: false +} + + +Plotly.newPlot("myDiv", data, layout); + +}); diff --git a/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-restyle-multiple.html b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-restyle-multiple.html new file mode 100644 index 00000000000..2b5baaba72b --- /dev/null +++ b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-restyle-multiple.html @@ -0,0 +1,216 @@ +--- +name: Restyle Button Multiple Attributes +plot_url: https://codepen.io/plotly/embed/oaEymG/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: button-events +sitemap: false +order: 2 +arrangement: horizontal +markdown_content: | + This example demonstrates how to use a restyle button to update single attributes by passing a two element array + to a button's `args` attribute or update multiple attributes at the same time by passing an array containing an object. +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var button_layer_1_height = 1.12 +var button_layer_2_height = 1.0 +var annotation_offset = 0.04 + +var z_data=[ ] +for(i=0;i<24;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type:'surface', + colorscale:'Viridis' +}] + +var updatemenus=[ + { + buttons: [ + { + args: ['type', 'surface'], + label: '3D Surface', + method: 'restyle' + }, + { + args: ['type', 'heatmap'], + label:'Heatmap', + method:'restyle' + }, + { + args: ['type', 'contour'], + label:'Contour', + method:'restyle' + } + ], + direction: 'left', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'buttons', + x: 0.15, + xanchor: 'left', + y: button_layer_2_height, + yanchor: 'top' + }, + { + buttons: [ + { + args: ['reversescale', true], + label: 'Reverse', + method: 'restyle' + }, + { + args: ['reversescale', false], + label:'Undo Reverse', + method:'restyle' + } + ], + direction: 'down', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'dropdown', + x: 0.56, + xanchor: 'left', + y: button_layer_2_height, + yanchor: 'top' + }, + { + buttons: [ + { + args: [{'contours.showlines':false, 'type':'contour'}], + label: 'Hide lines', + method: 'restyle' + }, + { + args: [{'contours.showlines':true, 'type':'contour'}], + label:'Show lines', + method:'restyle' + } + ], + direction: 'down', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'dropdown', + x: 0.78, + xanchor: 'left', + y: button_layer_2_height, + yanchor: 'top' + }, + { + buttons: [ + { + args: ['colorscale', 'Viridis'], + label: 'Viridis', + method: 'restyle' + }, + { + args: ['colorscale', 'Electric'], + label:'Electric', + method:'restyle' + }, + { + args: ['colorscale', 'Earth'], + label:'Earth', + method:'restyle' + }, + { + args: ['colorscale', 'Hot'], + label:'Hot', + method:'restyle' + }, + { + args: ['colorscale', 'Jet'], + label:'Jet', + method:'restyle' + }, + { + args: ['colorscale', 'Portland'], + label:'Portland', + method:'restyle' + }, + { + args: ['colorscale', 'Rainbow'], + label:'Rainbow', + method:'restyle' + }, + { + args: ['colorscale', 'Blackbody'], + label:'Blackbody', + method:'restyle' + }, + + { + args: ['colorscale', 'Cividis'], + label:'Cividis', + method:'restyle' + } + ], + direction: 'left', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'buttons', + x: 0.15, + xanchor: 'left', + y: button_layer_1_height, + yanchor: 'top' + }, +] + +var annotations = [ + { + text: 'Trace type:', + x: 0, + y: button_layer_2_height - annotation_offset, + yref: 'paper', + align: 'left', + showarrow: false + }, + { + text: 'Colorscale:', + x: 0, + y: button_layer_1_height - annotation_offset, + yref: 'paper', + align: 'left', + showarrow: false + }, +] + +var layout = { + margin: {t: 0, b: 0, l: 0, r: 0}, + updatemenus: updatemenus, + annotations: annotations, + scene: { + xaxis:{ + gridcolor: 'rgb(255, 255, 255)', + zerolinecolor: 'rgb(255, 255, 255)', + showbackground: true, + backgroundcolor:'rgb(230, 230,230)' + }, + yaxis: { + gridcolor: 'rgb(255, 255, 255)', + zerolinecolor: 'rgb(255, 255, 255)', + showbackground: true, + backgroundcolor: 'rgb(230, 230, 230)' + }, + zaxis: { + gridcolor: 'rgb(255, 255, 255)', + zerolinecolor: 'rgb(255, 255, 255)', + showbackground: true, + backgroundcolor: 'rgb(230, 230,230)' + }, + aspectratio: {x: 1, y: 1, z: 0.7}, + aspectmode: 'manual' + } +} + + +Plotly.newPlot("myDiv", data, layout); + +}); diff --git a/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-restyle-simple.html b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-restyle-simple.html new file mode 100644 index 00000000000..286b646bb5b --- /dev/null +++ b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-restyle-simple.html @@ -0,0 +1,99 @@ +--- +name: Restyle Button Single Attribute +plot_url: https://codepen.io/plotly/embed/MPQGaQ/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: button-events +sitemap: false +order: 1 +arrangement: horizontal +markdown_content: | + The `restyle` method should be used when modifying the data and data attributes of the graph + This example demonstrates how to update a single data attribute: chart type with the `restyle` method. +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} +var z_data=[ ] +for(i=0;i<24;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type:'surface', + colorscale:'Viridis' +}] + +var updatemenus=[ + { + buttons: [ + { + args: ['type', 'surface'], + label: '3D Surface', + method: 'restyle' + }, + { + args: ['type', 'heatmap'], + label:'Heatmap', + method:'restyle' + } + ], + direction: 'left', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'buttons', + x: 0.1, + xanchor: 'left', + y: 1.1, + yanchor: 'top' + } +] + +var annotations = [ + { + text: 'Trace type:', + x: 0, + y: 1.085, + yref: 'paper', + align: 'left', + showarrow: false + } +] + +var layout = { + width: 800, + height: 900, + autosize: false, + margin: {t: 0, b: 0, l: 0, r: 0}, + updatemenus: updatemenus, + annotations: annotations, + scene: { + xaxis:{ + gridcolor: 'rgb(255, 255, 255)', + zerolinecolor: 'rgb(255, 255, 255)', + showbackground: true, + backgroundcolor:'rgb(230, 230,230)' + }, + yaxis: { + gridcolor: 'rgb(255, 255, 255)', + zerolinecolor: 'rgb(255, 255, 255)', + showbackground: true, + backgroundcolor: 'rgb(230, 230, 230)' + }, + zaxis: { + gridcolor: 'rgb(255, 255, 255)', + zerolinecolor: 'rgb(255, 255, 255)', + showbackground: true, + backgroundcolor: 'rgb(230, 230,230)' + }, + aspectratio: {x: 1, y: 1, z: 0.7}, + aspectmode: 'manual' + } +} + + +Plotly.newPlot("myDiv", data, layout); + +}); diff --git a/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-update.html b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-update.html new file mode 100644 index 00000000000..462f8e2fadd --- /dev/null +++ b/content/plotly_js/controls/callbacks-buttons/2018-10-16-button-update.html @@ -0,0 +1,154 @@ +--- +name: Update Button +plot_url: https://codepen.io/plotly/embed/BqYMqq/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: button-events +sitemap: false +order: 4 +arrangement: horizontal +markdown_content: | + The `update` method should be used when modifying the data and layout sections of the graph. + This example demonstrates how to update which traces are displayed while simulaneously updating + layout attributes such as the chart title and annotations. +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +const arrAvg = arr => arr.reduce((a,b) => a + b, 0) / arr.length + +var button_layer_2_height = 1.2 +var high = unpack(rows, 'AAPL.High').map(x => parseFloat(x)) +var low = unpack(rows, 'AAPL.Low').map(x => parseFloat(x)) +var date = unpack(rows, 'Date') + + +var high_ave = arrAvg(high) +var high_max = Math.max(...high) +var low_ave = arrAvg(low) +var low_min = Math.min(...low) + +var data = [{ + x: date, + y: high, + mode: 'lines', + name: 'High', + marker: {color: '#33CFA5'} + }, + { + x: date, + y: date.map(a => high_ave), + mode: 'lines', + name: 'Low Average', + line: {color: '#33CFA5', dash: 'dash'}, + visible: false + }, + { + x: date, + y: low, + name: 'Low', + mode: 'lines', + marker: {color: '#F06A6A'} + }, + { + x: date, + y: date.map(a => low_ave), + mode: 'lines', + name: 'High Average', + visible: false, + line: {color: '#F06A6A', dash: 'dash'} + }, + +] + +var high_annotations = [ + { + text: 'High Average:
' + high_ave.toFixed(2), + x: '2016-03-01', + y: high_ave, + yref: 'y', xref: 'x', + ay: -40, ax: 0 + }, + { + text: 'High Max:
' + high_max.toFixed(2), + x: date[high.indexOf(high_max)], + y: high_max, + yref: 'y', xref: 'x', + ay: -40, ax: 0 + }, +] + +var low_annotations = [{ + text: 'Low Average:
' + low_ave.toFixed(2), + x: '2015-05-01', + y: low_ave, + yref: 'y', xref: 'x', + ay: 40, ax: 0 + }, + { + text: 'Low Min:
' + low_min.toFixed(2), + x: date[low.indexOf(low_min)], + y: low_min, + yref: 'y', xref: 'x', + ay: 40, ax: 0 + } + ] + +var updatemenus=[ + { + buttons: [ + { + args: [{'visible': [true, true, false, false]}, + {'title': 'Yahoo High', + 'annotations': high_annotations}], + label: 'High', + method: 'update' + }, + { + args: [{'visible': [false, false, true, true,]}, + {'title': 'Yahoo Low', + 'annotations': low_annotations}], + label: 'Low', + method: 'update' + }, + { + args: [{'visible': [true, true, true, true,]}, + {'title': 'Yahoo', + 'annotations': [...low_annotations, ...high_annotations]}], + label: 'Both', + method: 'update' + }, + { + args: [{'visible': [true, false, true, false,]}, + {'title': 'Yahoo', + 'annotations': []}], + label: 'Reset', + method: 'update' + }, + + ], + direction: 'left', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'buttons', + x: 0.1, + xanchor: 'left', + y: button_layer_2_height, + yanchor: 'top' + }, + +] + +var layout = { + title: { + text: 'Yahoo' + }, + updatemenus: updatemenus, + showlegend: false +} + + +Plotly.newPlot("myDiv", data, layout); + +}); diff --git a/content/plotly_js/controls/callbacks-buttons/2018-10-16-style-buttons.html b/content/plotly_js/controls/callbacks-buttons/2018-10-16-style-buttons.html new file mode 100644 index 00000000000..ac7b0df1199 --- /dev/null +++ b/content/plotly_js/controls/callbacks-buttons/2018-10-16-style-buttons.html @@ -0,0 +1,208 @@ +--- +name: Style the Buttons +plot_url: https://codepen.io/plotly/embed/ePrXVJ/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: button-events +sitemap: false +order: 6 +arrangement: horizontal +markdown_content: | + When adding buttons to Plotly charts, users have the option of styling the color, font, padding, + and position of the buttons. The example below demonstrates how to apply different styling options. + See all updatemenus styling attributes here: [https://plotly.com/javascript/reference/layout/#layout-updatemenus](https://plotly.com/javascript/reference/layout/updatemenus/). +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var button_layer_1_height = 1.12 +var button_layer_2_height = 1.0 +var annotation_offset = 0.04 + +var z_data=[ ] +for(i=0;i<24;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type:'surface', + colorscale:'Viridis' +}] + +var updatemenus=[ + { + buttons: [ + { + args: ['type', 'surface'], + label: '3D Surface', + method: 'restyle' + }, + { + args: ['type', 'heatmap'], + label:'Heatmap', + method:'restyle' + }, + { + args: ['type', 'contour'], + label:'Contour', + method:'restyle' + } + ], + direction: 'left', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'buttons', + x: 0.15, + xanchor: 'left', + y: button_layer_2_height, + yanchor: 'top', + font: {color: '#5072a8'} + }, + { + buttons: [ + { + args: ['reversescale', true], + label: 'Reverse', + method: 'restyle' + }, + { + args: ['reversescale', false], + label:'Undo Reverse', + method:'restyle' + } + ], + direction: 'down', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'dropdown', + x: 0.56, + xanchor: 'left', + y: button_layer_2_height, + yanchor: 'top', + active: 1, + font: {color: '#5072a8'} + }, + { + buttons: [ + { + args: [{'contours.showlines':false, 'type':'contour'}], + label: 'Hide lines', + method: 'restyle' + }, + { + args: [{'contours.showlines':true, 'type':'contour'}], + label:'Show lines', + method:'restyle' + } + ], + direction: 'down', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'dropdown', + x: 0.78, + xanchor: 'left', + y: button_layer_2_height, + yanchor: 'top', + font: {color: '#5072a8'} + }, + { + buttons: [ + { + args: ['colorscale', 'Viridis'], + label: 'Viridis', + method: 'restyle' + }, + { + args: ['colorscale', 'Electric'], + label:'Electric', + method:'restyle' + }, + { + args: ['colorscale', 'Earth'], + label:'Earth', + method:'restyle' + }, + { + args: ['colorscale', 'Hot'], + label:'Hot', + method:'restyle' + }, + { + args: ['colorscale', 'Jet'], + label:'Jet', + method:'restyle' + }, + { + args: ['colorscale', 'Portland'], + label:'Portland', + method:'restyle' + }, + { + args: ['colorscale', 'Rainbow'], + label:'Rainbow', + method:'restyle' + }, + { + args: ['colorscale', 'Blackbody'], + label:'Blackbody', + method:'restyle' + }, + + { + args: ['colorscale', 'Cividis'], + label:'Cividis', + method:'restyle' + } + ], + direction: 'left', + pad: {'r': 10, 't': 10}, + showactive: true, + type: 'buttons', + x: 0.15, + xanchor: 'left', + y: button_layer_1_height, + yanchor: 'top', + active: 1, + bgcolor: '#aaaaaa', + bordercolor: '#FFFFFF' + }, +] + +var annotations = [ + { + text: 'Trace type:', + x: 0, + y: button_layer_2_height - annotation_offset, + yref: 'paper', + align: 'left', + showarrow: false + }, + { + text: 'Colorscale:', + x: 0, + y: button_layer_1_height - annotation_offset, + yref: 'paper', + align: 'left', + showarrow: false + }, +] + +var layout = { + paper_bgcolor: 'black', + margin: {t: 0, b: 0, l: 0, r: 0}, + updatemenus: updatemenus, + annotations: annotations, + scene: { + bgcolor: 'black', + aspectratio: {x: 1, y: 1, z: 0.7}, + aspectmode: 'manual' + } +} + + +Plotly.newPlot("myDiv", data, layout); + +}); diff --git a/content/plotly_js/controls/callbacks-dropdowns/2015-04-09-dropdowns_index.html b/content/plotly_js/controls/callbacks-dropdowns/2015-04-09-dropdowns_index.html new file mode 100644 index 00000000000..0a4bc020c04 --- /dev/null +++ b/content/plotly_js/controls/callbacks-dropdowns/2015-04-09-dropdowns_index.html @@ -0,0 +1,15 @@ +--- +name: Dropdown Events +permalink: javascript/dropdowns/ +description: Use Plotly to create custom dropdowns in D3.js-based JavaScript charts. +layout: base +thumbnail: thumbnail/dropdown.jpg +language: plotly_js +page_type: example_index +display_as: controls +order: 1 +redirect_from: javascript-graphing-library/high-dimension-data/ +redirect_from: javascript/high-dimension-data/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","dropdowns-events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/controls/callbacks-dropdowns/2015-04-09-dropdowns_menus.html b/content/plotly_js/controls/callbacks-dropdowns/2015-04-09-dropdowns_menus.html new file mode 100644 index 00000000000..054ad49e64b --- /dev/null +++ b/content/plotly_js/controls/callbacks-dropdowns/2015-04-09-dropdowns_menus.html @@ -0,0 +1,60 @@ +--- +name: Add Two Dropdown Menus to a Chart with Plotly.js +plot_url: https://codepen.io/etpinard/embed/pbxkNb/?height=558&theme-id=15263&default-tab=result +language: plotly_js +suite: dropdowns-events +sitemap: false +order: 1 +arrangement: horizontal +--- +function makeTrace(i) { + return { + y: Array.apply(null, Array(10)).map(() => Math.random()), + line: { + shape: 'spline' , + color: 'red' + }, + visible: i === 0, + name: 'Data set ' + i, + }; +} + +Plotly.newPlot('myDiv', [0, 1, 2, 3].map(makeTrace), { + updatemenus: [{ + y: 0.8, + yanchor: 'top', + buttons: [{ + method: 'restyle', + args: ['line.color', 'red'], + label: 'red' + }, { + method: 'restyle', + args: ['line.color', 'blue'], + label: 'blue' + }, { + method: 'restyle', + args: ['line.color', 'green'], + label: 'green' + }] + }, { + y: 1, + yanchor: 'top', + buttons: [{ + method: 'restyle', + args: ['visible', [true, false, false, false]], + label: 'Data set 0' + }, { + method: 'restyle', + args: ['visible', [false, true, false, false]], + label: 'Data set 1' + }, { + method: 'restyle', + args: ['visible', [false, false, true, false]], + label: 'Data set 2' + }, { + method: 'restyle', + args: ['visible', [false, false, false, true]], + label: 'Data set 3' + }] + }], +}); \ No newline at end of file diff --git a/content/plotly_js/controls/callbacks-dropdowns/2015-11-19-simple-dropdown.html b/content/plotly_js/controls/callbacks-dropdowns/2015-11-19-simple-dropdown.html new file mode 100644 index 00000000000..64f922e96a7 --- /dev/null +++ b/content/plotly_js/controls/callbacks-dropdowns/2015-11-19-simple-dropdown.html @@ -0,0 +1,87 @@ +--- +name: Bind dropdown events to Plotly.js charts +plot_url: https://codepen.io/plotly/embed/xwBNXa/?height=558&theme-id=15263&default-tab=result +language: plotly_js +suite: dropdowns-events +sitemap: false +order: 2 +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var allCountryNames = unpack(rows, 'country'), + allYear = unpack(rows, 'year'), + allGdp = unpack(rows, 'gdpPercap'), + listofCountries = [], + currentCountry, + currentGdp = [], + currentYear = []; + + for (var i = 0; i < allCountryNames.length; i++ ){ + if (listofCountries.indexOf(allCountryNames[i]) === -1 ){ + listofCountries.push(allCountryNames[i]); + } + } + + function getCountryData(chosenCountry) { + currentGdp = []; + currentYear = []; + for (var i = 0 ; i < allCountryNames.length ; i++){ + if ( allCountryNames[i] === chosenCountry ) { + currentGdp.push(allGdp[i]); + currentYear.push(allYear[i]); + } + } + }; + + // Default Country Data + setBubblePlot('Afghanistan'); + + function setBubblePlot(chosenCountry) { + getCountryData(chosenCountry); + + var trace1 = { + x: currentYear, + y: currentGdp, + mode: 'lines+markers', + marker: { + size: 12, + opacity: 0.5 + } + }; + + var data = [trace1]; + + var layout = { + title: {text: 'Line and Scatter Plot'}, + height: 400, + width: 480 + }; + + Plotly.newPlot('myDiv', data, layout); + }; + + var innerContainer = document.querySelector('[data-num="0"'), + plotEl = innerContainer.querySelector('.plot'), + countrySelector = innerContainer.querySelector('.countrydata'); + + function assignOptions(textArray, selector) { + for (var i = 0; i < textArray.length; i++) { + var currentOption = document.createElement('option'); + currentOption.text = textArray[i]; + selector.appendChild(currentOption); + } + } + + assignOptions(listofCountries, countrySelector); + + function updateCountry(){ + setBubblePlot(countrySelector.value); + } + + countrySelector.addEventListener('change', updateCountry, false); +}); diff --git a/content/plotly_js/controls/callbacks-slider-components/2016-11-03-bindings.html b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-bindings.html new file mode 100644 index 00000000000..548539d3330 --- /dev/null +++ b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-bindings.html @@ -0,0 +1,64 @@ +--- +name: Bind Components to the Appearance of a Plot +plot_url: https://codepen.io/plotly/embed/ZBzZZO/?height=558&theme-id=15263&default-tab=result +language: plotly_js +suite: slider-components-events +sitemap: false +order: 2 +arrangement: horizontal +--- +Plotly.newPlot('myDiv', [{ + x: [1, 2, 3], + y: [2, 1, 3] +}], { + sliders: [{ + pad: {t: 30}, + len: 0.5, + x: 0.5, + currentvalue: { + xanchor: 'right', + prefix: 'color: ', + font: { + color: '#888', + size: 20 + } + }, + // If all of a component's commands affect a single attribute, the component + // will be bound to the plot and will automatically update to reflect changes. + steps: [{ + label: 'red', + method: 'restyle', + args: ['line.color', 'red'] + }, { + label: 'green', + method: 'restyle', + args: ['line.color', 'green'] + }, { + label: 'blue', + method: 'restyle', + args: ['line.color', 'blue'] + }] + }], + updatemenus: [{ + pad: {t: 60, r: 30}, + type: 'buttons', + xanchor: 'left', + yanchor: 'top', + x: 00, + y: 0, + direction: 'right', + buttons: [{ + label: 'red', + method: 'restyle', + args: ['line.color', 'red'] + }, { + label: 'green', + method: 'restyle', + args: ['line.color', 'green'] + }, { + label: 'blue', + method: 'restyle', + args: ['line.color', 'blue'] + }] + }] +}); diff --git a/content/plotly_js/controls/callbacks-slider-components/2016-11-03-play-button.html b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-play-button.html new file mode 100644 index 00000000000..d015490db0e --- /dev/null +++ b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-play-button.html @@ -0,0 +1,99 @@ +--- +name: Add a Play Button to Control a Slider +plot_url: https://codepen.io/plotly/embed/NbKmmQ/?height=558&theme-id=15263&default-tab=result +language: plotly_js +suite: slider-components-events +sitemap: false +order: 3 +arrangement: horizontal +--- +Plotly.newPlot('myDiv', { + data: [{ + x: [1, 2, 3], + y: [2, 1, 3], + line: { + color: 'red', + simplify: false, + } + }], + layout: { + sliders: [{ + pad: {t: 30}, + x: 0.05, + len: 0.95, + currentvalue: { + xanchor: 'right', + prefix: 'color: ', + font: { + color: '#888', + size: 20 + } + }, + transition: {duration: 500}, + // By default, animate commands are bound to the most recently animated frame: + steps: [{ + label: 'red', + method: 'animate', + args: [['red'], { + mode: 'immediate', + frame: {redraw: false, duration: 500}, + transition: {duration: 500} + }] + }, { + label: 'green', + method: 'animate', + args: [['green'], { + mode: 'immediate', + frame: {redraw: false, duration: 500}, + transition: {duration: 500} + }] + }, { + label: 'blue', + method: 'animate', + args: [['blue'], { + mode: 'immediate', + frame: {redraw: false, duration: 500}, + transition: {duration: 500} + }] + }] + }], + updatemenus: [{ + type: 'buttons', + showactive: false, + x: 0.05, + y: 0, + xanchor: 'right', + yanchor: 'top', + pad: {t: 60, r: 20}, + buttons: [{ + label: 'Play', + method: 'animate', + args: [null, { + fromcurrent: true, + frame: {redraw: false, duration: 1000}, + transition: {duration: 500} + }] + }] + }] + }, + // The slider itself does not contain any notion of timing, so animating a slider + // must be accomplished through a sequence of frames. Here we'll change the color + // and the data of a single trace: + frames: [{ + name: 'red', + data: [{ + y: [2, 1, 3], + 'line.color': 'red' + }] + }, { + name: 'green', + data: [{ + y: [3, 2, 1], + 'line.color': 'green'}] + }, { + name: 'blue', + data: [{ + y: [1, 3, 2], + 'line.color': 'blue'}] + }] +}); diff --git a/content/plotly_js/controls/callbacks-slider-components/2016-11-03-simple-slider.html b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-simple-slider.html new file mode 100644 index 00000000000..38489ebb739 --- /dev/null +++ b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-simple-slider.html @@ -0,0 +1,38 @@ +--- +name: Basic Slider +plot_url: https://codepen.io/plotly/embed/pNzBYJ/?height=558&theme-id=15263&default-tab=result +language: plotly_js +suite: slider-components-events +sitemap: false +order: 2 +arrangement: horizontal +--- +Plotly.newPlot('myDiv', [{ + x: [1, 2, 3], + y: [2, 1, 3] +}], { + sliders: [{ + pad: {t: 30}, + currentvalue: { + xanchor: 'right', + prefix: 'color: ', + font: { + color: '#888', + size: 20 + } + }, + steps: [{ + label: 'red', + method: 'restyle', + args: ['line.color', 'red'] + }, { + label: 'green', + method: 'restyle', + args: ['line.color', 'green'] + }, { + label: 'blue', + method: 'restyle', + args: ['line.color', 'blue'] + }] + }] +}); diff --git a/content/plotly_js/controls/callbacks-slider-components/2016-11-03-sliders_index.html b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-sliders_index.html new file mode 100644 index 00000000000..564710fa159 --- /dev/null +++ b/content/plotly_js/controls/callbacks-slider-components/2016-11-03-sliders_index.html @@ -0,0 +1,13 @@ +--- +name: Slider Events +permalink: javascript/sliders/ +description: Use Plotly to create custom sliders in D3.js-based JavaScript charts. +layout: base +thumbnail: thumbnail/slider-component.jpg +language: plotly_js +page_type: example_index +display_as: controls +order: 3 +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","slider-components-events" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/controls/callbacks-slider-components/2017-08-22-adding-sliders-plotlyjs_index.html b/content/plotly_js/controls/callbacks-slider-components/2017-08-22-adding-sliders-plotlyjs_index.html new file mode 100644 index 00000000000..31fd5dcad4a --- /dev/null +++ b/content/plotly_js/controls/callbacks-slider-components/2017-08-22-adding-sliders-plotlyjs_index.html @@ -0,0 +1,13 @@ +--- +name: Adding Sliders to Animations +permalink: javascript/gapminder-example/ +description: How to make the classic Gapminder Animation using sliders and buttons in Plotly JS +layout: base +thumbnail: thumbnail/gapminder_animation.gif +language: plotly_js +page_type: example_index +display_as: animations +order: 2 +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","adding-sliders" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/controls/lasso/2016-01-27-lasso-selection.html b/content/plotly_js/controls/lasso/2016-01-27-lasso-selection.html new file mode 100644 index 00000000000..55ccffa3fed --- /dev/null +++ b/content/plotly_js/controls/lasso/2016-01-27-lasso-selection.html @@ -0,0 +1,100 @@ +--- +name: Lasso Selection +plot_url: https://codepen.io/plotly/embed/EPEGyE/?height=470&theme-id=15263&default-tab=result +language: plotly_js +suite: lasso-selection +sitemap: false +arrangement: horizontal +order: 0 +--- +var graphDiv = document.getElementById('myDiv'); +var N = 1000; +var color1 = '#7b3294'; +var color1Light = '#c2a5cf'; +var colorX = '#ffa7b5'; +var colorY = '#fdae61'; + +function randomArray() { + var out = new Array(N); + for(var i = 0; i < N; i++) { + out[i] = Math.random(); + } + return out; +} +var x = randomArray(); +var y = randomArray(); + +Plotly.newPlot(graphDiv, [{ + type: 'scatter', + mode: 'markers', + x: x, + y: y, + xaxis: 'x', + yaxis: 'y', + name: 'random data', + marker: {color: color1, size: 10} +}, { + type: 'histogram', + x: x, + xaxis: 'x2', + yaxis: 'y2', + name: 'x coord dist.', + marker: {color: colorX} +}, { + type: 'histogram', + x: y, + xaxis: 'x3', + yaxis: 'y3', + name: 'y coord dist.', + marker: {color: colorY} +}], { + title: { + text: 'Lasso around the scatter points to see sub-distributions' + }, + dragmode: 'lasso', + xaxis: { + zeroline: false, + }, + yaxis: { + domain: [0.55, 1], + }, + xaxis2: { + domain: [0, 0.45], + anchor: 'y2', + }, + yaxis2: { + domain: [0, 0.45], + anchor: 'x2' + }, + xaxis3: { + domain: [0.55, 1], + anchor: 'y3' + }, + yaxis3: { + domain: [0, 0.45], + anchor: 'x3' + } +}); + +graphDiv.on('plotly_selected', function(eventData) { + var x = []; + var y = []; + + var colors = []; + for(var i = 0; i < N; i++) colors.push(color1Light); + + console.log(eventData.points) + + eventData.points.forEach(function(pt) { + x.push(pt.x); + y.push(pt.y); + colors[pt.pointNumber] = color1; + }); + + Plotly.restyle(graphDiv, { + x: [x, y], + xbins: {} + }, [1, 2]); + + Plotly.restyle(graphDiv, 'marker.color', [colors], [0]); +}); \ No newline at end of file diff --git a/content/plotly_js/controls/lasso/2016-01-27-lasso_plotly_js_index.html b/content/plotly_js/controls/lasso/2016-01-27-lasso_plotly_js_index.html new file mode 100644 index 00000000000..bd43ee7b3b9 --- /dev/null +++ b/content/plotly_js/controls/lasso/2016-01-27-lasso_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +name: Lasso Selection +permalink: javascript/lasso-selection/ +description: How to bind callback functions to lasso selection in JavaScript D3.js-based charts. +layout: base +thumbnail: thumbnail/lasso.jpg +language: plotly_js +page_type: example_index +display_as: controls +order: 4 +arrangement: horizontal +redirect_from: javascript-graphing-library/lasso-selection/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","lasso-selection" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/controls/range-slider/2016-04-04-range-slider-time-series.html b/content/plotly_js/controls/range-slider/2016-04-04-range-slider-time-series.html new file mode 100644 index 00000000000..da5729f2a21 --- /dev/null +++ b/content/plotly_js/controls/range-slider/2016-04-04-range-slider-time-series.html @@ -0,0 +1,76 @@ +--- +name: Basic Range Slider on Time Series +plot_url: https://codepen.io/plotly/embed/WwXEoV/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: range-slider +order: 1 +sitemap: false +arrangement: horizontal +--- + +var rawDataURL = 'https://raw.githubusercontent.com/plotly/datasets/master/2016-weather-data-seattle.csv'; +var xField = 'Date'; +var yField = 'Mean_TemperatureC'; + +var selectorOptions = { + buttons: [{ + step: 'month', + stepmode: 'backward', + count: 1, + label: '1m' + }, { + step: 'month', + stepmode: 'backward', + count: 6, + label: '6m' + }, { + step: 'year', + stepmode: 'todate', + count: 1, + label: 'YTD' + }, { + step: 'year', + stepmode: 'backward', + count: 1, + label: '1y' + }, { + step: 'all', + }], +}; + +d3.csv(rawDataURL, function(err, rawData) { + if(err) throw err; + + var data = prepData(rawData); + var layout = { + title: { + text: 'Time series with range slider and selectors' + }, + xaxis: { + rangeselector: selectorOptions, + rangeslider: {} + }, + yaxis: { + fixedrange: true + } + }; + + Plotly.newPlot('myDiv', data, layout); +}); + +function prepData(rawData) { + var x = []; + var y = []; + + rawData.forEach(function(datum, i) { + + x.push(new Date(datum[xField])); + y.push(datum[yField]); + }); + + return [{ + mode: 'lines', + x: x, + y: y + }]; +} diff --git a/content/plotly_js/controls/range-slider/2016-04-04-range-slider_plotly_js_index.html b/content/plotly_js/controls/range-slider/2016-04-04-range-slider_plotly_js_index.html new file mode 100644 index 00000000000..44420c47a1a --- /dev/null +++ b/content/plotly_js/controls/range-slider/2016-04-04-range-slider_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +name: Range Slider and Selector +permalink: javascript/range-slider/ +description: How to add range sliders to a D3.js-based line or scatter chart. Examples of Range Sliders +layout: base +thumbnail: thumbnail/sliders.jpg +language: plotly_js +page_type: example_index +display_as: controls +order: 5 +redirect_from: javascript-graphing-library/range-slider/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","range-slider" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/financial/2019-08-12-plotly_js-financial-index.html b/content/plotly_js/financial/2019-08-12-plotly_js-financial-index.html new file mode 100644 index 00000000000..bc32bc079e6 --- /dev/null +++ b/content/plotly_js/financial/2019-08-12-plotly_js-financial-index.html @@ -0,0 +1,27 @@ +--- +permalink: javascript/financial-charts/ +description: Plotly.js makes interactive, publication-quality graphs online. Examples of how to make financial charts. +name: Financial Charts +layout: langindex +language: plotly_js +display_as: financial +thumbnail: thumbnail/mixed.jpg +--- + + +
+
+ +
+ +
+

Plotly.js Financial Charts

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","financial" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/financial/bullet/2015-12-20-bullet-charts_plotly_js_index.html b/content/plotly_js/financial/bullet/2015-12-20-bullet-charts_plotly_js_index.html new file mode 100644 index 00000000000..ca46a364036 --- /dev/null +++ b/content/plotly_js/financial/bullet/2015-12-20-bullet-charts_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a D3.js-based bullet chart in javascript. +display_as: financial +language: plotly_js +layout: base +name: Bullet Charts +order: 8 +permalink: javascript/bullet-charts/ +redirect_from: javascript-graphing-library/bullet-charts +thumbnail: thumbnail/bullet.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","bullet-charts" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/bullet/2019-07-30-advance-bullet.html b/content/plotly_js/financial/bullet/2019-07-30-advance-bullet.html new file mode 100644 index 00000000000..f813f29dbf3 --- /dev/null +++ b/content/plotly_js/financial/bullet/2019-07-30-advance-bullet.html @@ -0,0 +1,41 @@ +--- +name: Add Steps, and Threshold +language: plotly_js +suite: bullet-charts +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + + Below is the same example using "steps" attribute, which is shown as shading, and "threshold" to determine boundaries that visually alert you if the value cross a defined threshold. +--- +var data = [ + { + type: "indicator", + mode: "number+gauge+delta", + value: 220, + domain: { x: [0, 1], y: [0, 1] }, + title: { + text: "Profit" + }, + delta: { reference: 200 }, + gauge: { + shape: "bullet", + axis: { range: [null, 300] }, + threshold: { + line: { color: "red", width: 2 }, + thickness: 0.75, + value: 280 + }, + steps: [ + { range: [0, 150], color: "lightgray" }, + { range: [150, 250], color: "gray" } + ] + } + } +]; + +var layout = { width: 600, height: 250 }; +var config = { responsive: true }; + +Plotly.newPlot('myDiv', data, layout, config); diff --git a/content/plotly_js/financial/bullet/2019-07-30-basic-bullet.html b/content/plotly_js/financial/bullet/2019-07-30-basic-bullet.html new file mode 100644 index 00000000000..7bf96d302cd --- /dev/null +++ b/content/plotly_js/financial/bullet/2019-07-30-basic-bullet.html @@ -0,0 +1,26 @@ +--- +name: Basic Bullet Charts +language: plotly_js +suite: bullet-charts +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + + Stephen Few's Bullet Chart was invented to replace dashboard [gauges](https://plotly.com/javascript/gauge-charts/) and meters, combining both types of charts into simple bar charts with qualitative bars (steps), quantitative bar (bar) and performance line (threshold); all into one simple layout. + Steps typically are broken into several values, which are defined with an array. The bar represent the actual value that a particular variable reached, and the threshold usually indicate a goal point relative to the value achieved by the bar. See [indicator page](https://plotly.com/javascript/gauge-charts/) for more detail. +--- +var data = [ + { + type: "indicator", + mode: "number+gauge+delta", + gauge: { shape: "bullet" }, + delta: { reference: 300 }, + value: 220, + domain: { x: [0, 1], y: [0, 1] }, + title: { text: "Profit" } + } +]; + +var layout = { width: 600, height: 250 }; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/bullet/2019-07-30-custom-bullet.html b/content/plotly_js/financial/bullet/2019-07-30-custom-bullet.html new file mode 100644 index 00000000000..338f577e7ed --- /dev/null +++ b/content/plotly_js/financial/bullet/2019-07-30-custom-bullet.html @@ -0,0 +1,42 @@ +--- +name: Custom Bullet Chart +language: plotly_js +suite: bullet-charts +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + + The following example shows how to customize your charts. For more information about all possible options check our [reference page](https://plotly.com/javascript/reference/indicator/). +--- +var data = [ + { + type: "indicator", + mode: "number+gauge+delta", + value: 220, + domain: { x: [0, 1], y: [0, 1] }, + delta: { reference: 280, position: "top" }, + title: { + text: + "Profit
U.S. $", + font: { size: 14 } + }, + gauge: { + shape: "bullet", + axis: { range: [null, 300] }, + threshold: { + line: { color: "red", width: 2, gradient: { yanchor: "vertical" } }, + thickness: 0.75, + value: 270 + }, + bgcolor: "white", + steps: [{ range: [0, 150], color: "cyan" }], + bar: { color: "darkblue" } + } + } +]; + +var layout = { width: 400, height: 230 }; +var config = { responsive: true }; + +Plotly.newPlot('myDiv', data, layout, config); diff --git a/content/plotly_js/financial/bullet/2019-07-30-multi-bullet.html b/content/plotly_js/financial/bullet/2019-07-30-multi-bullet.html new file mode 100644 index 00000000000..29d3abf7fa1 --- /dev/null +++ b/content/plotly_js/financial/bullet/2019-07-30-multi-bullet.html @@ -0,0 +1,88 @@ +--- +name: Multi Bullet +language: plotly_js +suite: bullet-charts +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + + Bullet charts can be stacked for comparing several values at once as illustrated below: +--- +var data = [ + { + type: "indicator", + mode: "number+gauge+delta", + value: 180, + delta: { reference: 200 }, + domain: { x: [0.25, 1], y: [0.08, 0.25] }, + title: { text: "Revenue" }, + gauge: { + shape: "bullet", + axis: { range: [null, 300] }, + threshold: { + line: { color: "black", width: 2 }, + thickness: 0.75, + value: 170 + }, + steps: [ + { range: [0, 150], color: "gray" }, + { + range: [150, 250], + color: "lightgray" + } + ], + bar: { color: "black" } + } + }, + { + type: "indicator", + mode: "number+gauge+delta", + value: 35, + delta: { reference: 200 }, + domain: { x: [0.25, 1], y: [0.4, 0.6] }, + title: { text: "Profit" }, + gauge: { + shape: "bullet", + axis: { range: [null, 100] }, + threshold: { + line: { color: "black", width: 2 }, + thickness: 0.75, + value: 50 + }, + steps: [ + { range: [0, 25], color: "gray" }, + { range: [25, 75], color: "lightgray" } + ], + bar: { color: "black" } + } + }, + { + type: "indicator", + mode: "number+gauge+delta", + value: 220, + delta: { reference: 200 }, + domain: { x: [0.25, 1], y: [0.7, 0.9] }, + title: { text: "Satisfaction" }, + gauge: { + shape: "bullet", + axis: { range: [null, 300] }, + threshold: { + line: { color: "black", width: 2 }, + thickness: 0.75, + value: 210 + }, + steps: [ + { range: [0, 150], color: "gray" }, + { range: [150, 250], color: "lightgray" } + ], + bar: { color: "black" } + } + } +]; + +var layout = { + width: 600, height: 250, + margin: { t: 10, r: 25, l: 25, b: 10 } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/candlestick-charts/2015-08-15-basic-candlestick-chart.html b/content/plotly_js/financial/candlestick-charts/2015-08-15-basic-candlestick-chart.html new file mode 100644 index 00000000000..38279d91322 --- /dev/null +++ b/content/plotly_js/financial/candlestick-charts/2015-08-15-basic-candlestick-chart.html @@ -0,0 +1,62 @@ +--- +name: Simple Candlestick Chart +language: plotly_js +suite: candlestick +order: 1 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + + x: ['2017-01-04', '2017-01-05', '2017-01-06', '2017-01-09', '2017-01-10', '2017-01-11', '2017-01-12', '2017-01-13', '2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10', '2017-02-13', '2017-02-14', '2017-02-15'], + + close: [116.019997, 116.610001, 117.910004, 118.989998, 119.110001, 119.75, 119.25, 119.040001, 120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995, 133.289993, 135.020004, 135.509995], + + decreasing: {line: {color: '#7F7F7F'}}, + + high: [116.510002, 116.860001, 118.160004, 119.43, 119.379997, 119.93, 119.300003, 119.620003, 120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002, 133.820007, 135.089996, 136.270004], + + increasing: {line: {color: '#17BECF'}}, + + line: {color: 'rgba(31,119,180,1)'}, + + low: [115.75, 115.809998, 116.470001, 117.940002, 118.300003, 118.599998, 118.209999, 118.809998, 118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003, 132.75, 133.25, 134.619995], + + open: [115.849998, 115.919998, 116.779999, 117.949997, 118.769997, 118.739998, 118.900002, 119.110001, 118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007, 133.080002, 133.470001, 135.520004], + + type: 'candlestick', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace1]; + +var layout = { + dragmode: 'zoom', + margin: { + r: 10, + t: 25, + b: 40, + l: 60 + }, + showlegend: false, + xaxis: { + autorange: true, + domain: [0, 1], + range: ['2017-01-03 12:00', '2017-02-15 12:00'], + rangeslider: {range: ['2017-01-03 12:00', '2017-02-15 12:00']}, + title: { + text: 'Date' + }, + type: 'date' + }, + yaxis: { + autorange: true, + domain: [0, 1], + range: [114.609999778, 137.410004222], + type: 'linear' + } +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-colors.html b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-colors.html new file mode 100644 index 00000000000..69e8e7b5357 --- /dev/null +++ b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-colors.html @@ -0,0 +1,51 @@ +--- +name: Customizing Candlestick Chart Colors +language: plotly_js +suite: candlestick +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var trace = { + x: unpack(rows, 'Date'), + close: unpack(rows, 'AAPL.Close'), + high: unpack(rows, 'AAPL.High'), + low: unpack(rows, 'AAPL.Low'), + open: unpack(rows, 'AAPL.Open'), + + // cutomise colors + increasing: {line: {color: 'black'}}, + decreasing: {line: {color: 'red'}}, + + type: 'candlestick', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace]; + +var layout = { + dragmode: 'zoom', + showlegend: false, + xaxis: { + title: { + text: 'Date' + }, + range: ['2016-06-01 12:00', '2017-01-01 12:00'] + }, + yaxis: { + autorange: true, + } +}; + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-rangeselector.html b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-rangeselector.html new file mode 100644 index 00000000000..98edcc99ab8 --- /dev/null +++ b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-rangeselector.html @@ -0,0 +1,71 @@ +--- +name: Add Rangeselector +language: plotly_js +suite: candlestick +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var trace = { + x: unpack(rows, 'Date'), + close: unpack(rows, 'AAPL.Close'), + high: unpack(rows, 'AAPL.High'), + low: unpack(rows, 'AAPL.Low'), + open: unpack(rows, 'AAPL.Open'), + + // cutomise colors + increasing: {line: {color: 'black'}}, + decreasing: {line: {color: 'red'}}, + + type: 'candlestick', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace]; + +var layout = { + dragmode: 'zoom', + showlegend: false, + xaxis: { + autorange: true, + title: { + text: 'Date' + }, + rangeselector: { + x: 0, + y: 1.2, + xanchor: 'left', + font: {size:8}, + buttons: [{ + step: 'month', + stepmode: 'backward', + count: 1, + label: '1 month' + }, { + step: 'month', + stepmode: 'backward', + count: 6, + label: '6 months' + }, { + step: 'all', + label: 'All dates' + }] + } + }, + yaxis: { + autorange: true, + } +}; + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-rangeslider.html b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-rangeslider.html new file mode 100644 index 00000000000..d871e646f85 --- /dev/null +++ b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick-rangeslider.html @@ -0,0 +1,47 @@ +--- +name: Candlestick Chart without Rangeslider +language: plotly_js +suite: candlestick +order: 1.5 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var trace = { + x: unpack(rows, 'Date'), + close: unpack(rows, 'AAPL.Close'), + high: unpack(rows, 'AAPL.High'), + low: unpack(rows, 'AAPL.Low'), + open: unpack(rows, 'AAPL.Open'), + + // cutomise colors + increasing: {line: {color: 'black'}}, + decreasing: {line: {color: 'red'}}, + + type: 'candlestick', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace]; + +var layout = { + dragmode: 'zoom', + showlegend: false, + xaxis: { + rangeslider: { + visible: false + } + } +}; + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick_index.html b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick_index.html new file mode 100644 index 00000000000..47acac812cb --- /dev/null +++ b/content/plotly_js/financial/candlestick-charts/2015-08-15-candlestick_index.html @@ -0,0 +1,15 @@ +--- +description: How to graph D3.js-based candlestick charts in javascript. Examples of + candlestick charts. +display_as: financial +language: plotly_js +layout: base +name: Candlestick Charts +order: 3 +page_type: example_index +permalink: javascript/candlestick-charts/ +thumbnail: thumbnail/candlestick.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","candlestick" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/candlestick-charts/2015-08-15-customizing-candlestick-chart.html b/content/plotly_js/financial/candlestick-charts/2015-08-15-customizing-candlestick-chart.html new file mode 100644 index 00000000000..2fb6b58e660 --- /dev/null +++ b/content/plotly_js/financial/candlestick-charts/2015-08-15-customizing-candlestick-chart.html @@ -0,0 +1,90 @@ +--- +name: Customise Candlestick Chart with Shapes and Annotations +language: plotly_js +suite: candlestick +order: 2 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + + x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'], + + close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995], + + decreasing: {line: {color: '#7F7F7F'}}, + + high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002], + + increasing: {line: {color: '#17BECF'}}, + + line: {color: 'rgba(31,119,180,1)'}, + + low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003], + + open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007], + + type: 'candlestick', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace1]; + +var layout = { + dragmode: 'zoom', + margin: { + r: 10, + t: 25, + b: 40, + l: 60 + }, + showlegend: false, + xaxis: { + autorange: true, + rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']}, + title: { + text: 'Date' + }, + type: 'date' + }, + yaxis: { + autorange: true, + type: 'linear' + }, + + annotations: [ + { + x: '2017-01-31', + y: 0.9, + xref: 'x', + yref: 'paper', + text: 'largest movement', + font: {color: 'magenta'}, + showarrow: true, + xanchor: 'right', + ax: -20, + ay: 0 + } + ], + + shapes: [ + { + type: 'rect', + xref: 'x', + yref: 'paper', + x0: '2017-01-31', + y0: 0, + x1: '2017-02-01', + y1: 1, + fillcolor: '#d3d3d3', + opacity: 0.2, + line: { + width: 0 + } + } + ] +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/funnel/2019-06-27-funnel_plotly_js_index.html b/content/plotly_js/financial/funnel/2019-06-27-funnel_plotly_js_index.html new file mode 100644 index 00000000000..8930eb05e07 --- /dev/null +++ b/content/plotly_js/financial/funnel/2019-06-27-funnel_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a D3.js-based funnel chart in javascript. +display_as: financial +language: plotly_js +layout: base +name: Funnel and Funnelarea Charts +order: 4 +page_type: example_index +permalink: javascript/funnel-charts/ +thumbnail: thumbnail/funnel.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","funnel" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/funnel/2019-06-27-funnelarea.html b/content/plotly_js/financial/funnel/2019-06-27-funnelarea.html new file mode 100644 index 00000000000..fd5d4c05975 --- /dev/null +++ b/content/plotly_js/financial/funnel/2019-06-27-funnelarea.html @@ -0,0 +1,17 @@ +--- +name: Funnelarea Plot +language: plotly_js +suite: funnel +order: 4 +sitemap: false +arrangement: horizontal +--- +var gd = document.getElementById('myDiv'); +var data = [{type: 'funnelarea', values: [5, 4, 3, 2, 1], text: ["The 1st", "The 2nd", "The 3rd", "The 4th", "The 5th"], + marker: {colors: ["59D4E8", "DDB6C6", "A696C8", "67EACA", "94D2E6"], + line: {color: ["3E4E88", "606470", "3E4E88", "606470", "3E4E88"], width: [2, 1, 5, 0, 3]}}, + textfont: {family: "Old Standard TT", size: 13, color: "black"}, opacity: 0.65}]; + +var layout = {margin: {l: 200 , r: 200}, funnelmode: "stack", showlegend: 'True'} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/funnel/2019-06-27-multi-funnelarea.html b/content/plotly_js/financial/funnel/2019-06-27-multi-funnelarea.html new file mode 100644 index 00000000000..e17d19b76e5 --- /dev/null +++ b/content/plotly_js/financial/funnel/2019-06-27-multi-funnelarea.html @@ -0,0 +1,32 @@ +--- +name: Multi Funnelarea +language: plotly_js +suite: funnel +order: 5 +sitemap: false +arrangement: horizontal +--- +var gd = document.getElementById('myDiv'); +var data = [{type: 'funnelarea', scalegroup: "first", values: [500, 450, 340, 230, 220, 110], + textinfo: "value", title: {position: "top center", text: "Sales for Sale Person A in U.S."}, + domain: {x: [0, 0.5], y: [0, 0.5]}}, +{ + type: 'funnelarea', scalegroup: "first", values: [600, 500, 400, 300, 200, 100], textinfo: "value", + title: {position: "top center", text: "Sales of Sale Person B in Canada"}, + domain: {x: [0, 0.5], y: [0.55, 1]}}, +{ + type:'funnelarea', scalegroup: "second", values: [510, 480, 440, 330, 220, 100], textinfo: "value", + title: {position: "top left", text: "Sales of Sale Person A in Canada"}, + domain: {x: [0.55, 1], y: [0, 0.5]}}, +{ + type: 'funnelarea', scalegroup: "second", values: [360, 250, 240, 130, 120, 60], + textinfo: "value", title: {position: "top left", text: "Sales of Sale Person B in U.S."}, + domain: {x: [0.55, 1], y: [0.55, 1]}}]; + +var layout = {width: 600,shapes: [ + {x0: 0, x1: 0.5, y0: 0, y1: 0.5}, + {x0: 0, x1: 0.5, y0: 0.55, y1: 1}, + {x0: 0.55, x1: 1, y0: 0, y1: 0.5}, + {x0: 0.55, x1: 1, y0: 0.55, y1: 1}]} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/funnel/2019-06-27-part-of-previous-funnel.html b/content/plotly_js/financial/funnel/2019-06-27-part-of-previous-funnel.html new file mode 100644 index 00000000000..d25a0b2c751 --- /dev/null +++ b/content/plotly_js/financial/funnel/2019-06-27-part-of-previous-funnel.html @@ -0,0 +1,14 @@ +--- +name: Basic Funnel Plot +language: plotly_js +suite: funnel +order: 1 +sitemap: false +arrangement: horizontal +--- +var gd = document.getElementById('myDiv'); +var data = [{type: 'funnel', y: ["Website visit", "Downloads", "Potential customers", "Invoice sent", "Closed delas"], x: [13873, 10533, 5443, 2703, 908], hoverinfo: 'x+percent previous+percent initial'}]; + +var layout = {margin: {l: 150}, width:600, height: 500} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/funnel/2019-06-27-part-of-whole-funnel.html b/content/plotly_js/financial/funnel/2019-06-27-part-of-whole-funnel.html new file mode 100644 index 00000000000..eab16fd2c93 --- /dev/null +++ b/content/plotly_js/financial/funnel/2019-06-27-part-of-whole-funnel.html @@ -0,0 +1,20 @@ +--- +name: Setting Marker Size and Color +language: plotly_js +suite: funnel +order: 2 +sitemap: false +arrangement: horizontal +--- +var gd = document.getElementById('myDiv'); + +var data = [{type: 'funnel', + y: ["Sales person A", "Sales person B", "Sales person C", "Sales person D", "Sales person E"], + x: [1200, 909.4, 600.6, 300, 80], textposition: "inside", textinfo: "value+percent initial", + hoverinfo: 'percent total+x', opacity: 0.65, marker: {color: ["59D4E8", "DDB6C6", "A696C8", "67EACA", "94D2E6"], + line: {"width": [4, 2, 2, 3, 1, 1], color: ["3E4E88", "606470", "3E4E88", "606470", "3E4E88"]}}, + connector: {line: {color: "royalblue", dash: "dot", width: 3}}}]; + +var layout = {margin: {l: 100}, width: 600, height: 500} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/funnel/2019-06-27-stacked-funnel.html b/content/plotly_js/financial/funnel/2019-06-27-stacked-funnel.html new file mode 100644 index 00000000000..2dda1b7ee23 --- /dev/null +++ b/content/plotly_js/financial/funnel/2019-06-27-stacked-funnel.html @@ -0,0 +1,25 @@ +--- +name: Stacked Funnel +language: plotly_js +suite: funnel +order: 3 +sitemap: false +arrangement: horizontal +--- +var gd = document.getElementById('myDiv'); +var data = [{type: 'funnel', name: 'Montreal', + y: ["Website visit", "Downloads", "Potential customers", "Requested price"], + x: [120, 60, 30, 20], + textinfo: "value+percent initial"}, + { + type: 'funnel',name: 'Toronto', + y: ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent"], + x: [100, 60, 40, 30, 20], textposition: "inside", textinfo: "value+percent previous"}, + { + type: 'funnel',name: 'Vancouver', + y: ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent", "closed deals"], + x: [90, 70, 50, 30, 10, 5], textposition: "outside", textinfo: "value+percent total"}]; + +var layout = {margin: {l: 130, r: 0}, width: 600, funnelmode: "stack", showlegend: 'true'} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/gauge/2015-12-20-gauge-charts_plotly_js_index.html b/content/plotly_js/financial/gauge/2015-12-20-gauge-charts_plotly_js_index.html new file mode 100644 index 00000000000..615b97019dd --- /dev/null +++ b/content/plotly_js/financial/gauge/2015-12-20-gauge-charts_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a D3.js-based gauge chart in javascript. +display_as: financial +language: plotly_js +layout: base +name: Gauge Charts +order: 7 +permalink: javascript/gauge-charts/ +redirect_from: javascript-graphing-library/gauge-charts +thumbnail: thumbnail/gauge.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","gauge-charts" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/gauge/2019-07-30-advance-gauge.html b/content/plotly_js/financial/gauge/2019-07-30-advance-gauge.html new file mode 100644 index 00000000000..6cc9cb0d8b9 --- /dev/null +++ b/content/plotly_js/financial/gauge/2019-07-30-advance-gauge.html @@ -0,0 +1,37 @@ +--- +name: Add Steps, Threshold, and Delta +language: plotly_js +suite: gauge-charts +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + + The following examples include "steps" attribute shown as shading inside the radial arc, "delta" which is the + difference of the value and goal (reference - value), and "threshold" to determine boundaries that visually alert you if the value cross a defined threshold. +--- +var data = [ + { + domain: { x: [0, 1], y: [0, 1] }, + value: 450, + title: { text: "Speed" }, + type: "indicator", + mode: "gauge+number+delta", + delta: { reference: 380 }, + gauge: { + axis: { range: [null, 500] }, + steps: [ + { range: [0, 250], color: "lightgray" }, + { range: [250, 400], color: "gray" } + ], + threshold: { + line: { color: "red", width: 4 }, + thickness: 0.75, + value: 490 + } + } + } +]; + +var layout = { width: 600, height: 450, margin: { t: 0, b: 0 } }; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/gauge/2019-07-30-basic-gauge.html b/content/plotly_js/financial/gauge/2019-07-30-basic-gauge.html new file mode 100644 index 00000000000..3d58d769eef --- /dev/null +++ b/content/plotly_js/financial/gauge/2019-07-30-basic-gauge.html @@ -0,0 +1,27 @@ +--- +name: Basic Gauge +language: plotly_js +suite: gauge-charts +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + + A radial gauge chart has a circular arc, which displays a single value to estimate progress toward a goal. + The bar shows the target value, and the shading represents the progress toward that goal. Gauge charts, known as + speedometer charts as well. This chart type is usually used to illustrate key business indicators. + + The example below displays a basic gauge chart with default attributes. For more information about different added attributes check [indicator](https://plotly.com/javascript/indicator/) tutorial. +--- +var data = [ + { + domain: { x: [0, 1], y: [0, 1] }, + value: 270, + title: { text: "Speed" }, + type: "indicator", + mode: "gauge+number" + } +]; + +var layout = { width: 600, height: 500, margin: { t: 0, b: 0 } }; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/gauge/2019-07-30-custom-gauge.html b/content/plotly_js/financial/gauge/2019-07-30-custom-gauge.html new file mode 100644 index 00000000000..23bf3ead505 --- /dev/null +++ b/content/plotly_js/financial/gauge/2019-07-30-custom-gauge.html @@ -0,0 +1,46 @@ +--- +name: Custom Gauge Chart +language: plotly_js +suite: gauge-charts +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + + The following example shows how to style your gauge charts. For more information about all possible options check our [reference page](https://plotly.com/javascript/reference/indicator/). +--- +var data = [ + { + type: "indicator", + mode: "gauge+number+delta", + value: 420, + title: { text: "Speed", font: { size: 24 } }, + delta: { reference: 400, increasing: { color: "RebeccaPurple" } }, + gauge: { + axis: { range: [null, 500], tickwidth: 1, tickcolor: "darkblue" }, + bar: { color: "darkblue" }, + bgcolor: "white", + borderwidth: 2, + bordercolor: "gray", + steps: [ + { range: [0, 250], color: "cyan" }, + { range: [250, 400], color: "royalblue" } + ], + threshold: { + line: { color: "red", width: 4 }, + thickness: 0.75, + value: 490 + } + } + } +]; + +var layout = { + width: 500, + height: 400, + margin: { t: 25, r: 25, l: 25, b: 25 }, + paper_bgcolor: "lavender", + font: { color: "darkblue", family: "Arial" } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/indicator1/2015-12-20-indicator_plotly_js_index.html b/content/plotly_js/financial/indicator1/2015-12-20-indicator_plotly_js_index.html new file mode 100644 index 00000000000..cedfee0520f --- /dev/null +++ b/content/plotly_js/financial/indicator1/2015-12-20-indicator_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a D3.js-based gauge chart in javascript. +display_as: financial +language: plotly_js +layout: base +name: Indicators +order: 2 +page_type: example_index +permalink: javascript/indicator/ +thumbnail: thumbnail/indicator.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","indicator" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/indicator1/2019-07-29-above-other-traces.html b/content/plotly_js/financial/indicator1/2019-07-29-above-other-traces.html new file mode 100644 index 00000000000..12b238a974c --- /dev/null +++ b/content/plotly_js/financial/indicator1/2019-07-29-above-other-traces.html @@ -0,0 +1,27 @@ +--- +name: Showing Information above Your Chart +language: plotly_js +suite: indicator +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + + Another interesting feature is that indicator trace sits above the other traces (even the 3d ones). This way, it can be easily used as an overlay as demonstrated below: +--- +var data = [ + { + type: "indicator", + mode: "number+delta", + value: 492, + delta: { reference: 512, valueformat: ".0f" }, + domain: { y: [0, 1], x: [0.25, 0.75] }, + title: { text: "Users online" } + }, + { + y: [325, 324, 405, 400, 424, 404, 417, 432, 419, 394, 410, 426, 413, 419, 404, 408, 401, 377, 368, 361, 356, 359, 375, 397, 394, 418, 437, 450, 430, 442, 424, 443, 420, 418, 423, 423, 426, 440, 437, 436, 447, 460, 478, 472, 450, 456, 436, 418, 429, 412, 429, 442, 464, 447, 434, 457, 474, 480, 499, 497, 480, 502, 512, 492] + } +]; + +var layout = { width: 600, height: 450, xaxis: { range: [0, 62] } }; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/indicator1/2019-07-29-angular-gauge.html b/content/plotly_js/financial/indicator1/2019-07-29-angular-gauge.html new file mode 100644 index 00000000000..b911af13af5 --- /dev/null +++ b/content/plotly_js/financial/indicator1/2019-07-29-angular-gauge.html @@ -0,0 +1,23 @@ +--- +name: A Single Angular Gauge Chart +language: plotly_js +suite: indicator +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | +--- +var data = [ + { + domain: { x: [0, 1], y: [0, 1] }, + value: 450, + title: { text: "Speed" }, + type: "indicator", + mode: "gauge+number", + delta: { reference: 400 }, + gauge: { axis: { range: [null, 500] } } + } +]; + +var layout = { width: 600, height: 400 }; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/indicator1/2019-07-29-basic-data-card.html b/content/plotly_js/financial/indicator1/2019-07-29-basic-data-card.html new file mode 100644 index 00000000000..59aa78b224f --- /dev/null +++ b/content/plotly_js/financial/indicator1/2019-07-29-basic-data-card.html @@ -0,0 +1,31 @@ +--- +name: Data Cards / Big Numbers +language: plotly_js +suite: indicator +order: 4.1 +sitemap: false +arrangement: horizontal +markdown_content: | + + Data card helps to display more contextual information about the data. Sometimes one number is all you want to see in a report, such as total sales, annual revenue, etc. This example shows how to visualize these big numbers: +--- +var data = [ + { + type: "indicator", + mode: "number+delta", + value: 400, + number: { prefix: "$" }, + delta: { position: "top", reference: 320 }, + domain: { x: [0, 1], y: [0, 1] } + } +]; + +var layout = { + paper_bgcolor: "lightgray", + width: 600, + height: 200, + margin: { t: 0, b: 0, l: 0, r: 0 } +}; + +Plotly.newPlot('myDiv', data, layout); + diff --git a/content/plotly_js/financial/indicator1/2019-07-29-bullet.html b/content/plotly_js/financial/indicator1/2019-07-29-bullet.html new file mode 100644 index 00000000000..110225c26c4 --- /dev/null +++ b/content/plotly_js/financial/indicator1/2019-07-29-bullet.html @@ -0,0 +1,27 @@ +--- +name: Bullet Gauge +language: plotly_js +suite: indicator +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + + The equivalent of above "angular gauge": + +--- +var data = [ + { + type: "indicator", + mode: "number+gauge+delta", + gauge: { shape: "bullet" }, + delta: { reference: 300 }, + value: 220, + domain: { x: [0, 1], y: [0, 1] }, + title: { text: "Profit" } + } +]; + +var layout = { width: 600, height: 250 }; +Plotly.newPlot('myDiv', data, layout); + diff --git a/content/plotly_js/financial/indicator1/2019-07-29-overview.html b/content/plotly_js/financial/indicator1/2019-07-29-overview.html new file mode 100644 index 00000000000..0a411b3a89b --- /dev/null +++ b/content/plotly_js/financial/indicator1/2019-07-29-overview.html @@ -0,0 +1,88 @@ +--- +name: Overview +language: plotly_js +suite: indicator +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + + In this tutorial we introduce a new trace named "Indicator". The purpose of "indicator" is to visualize a single value specified by the "value" attribute. + Three distinct visual elements are available to represent that value: number, delta and gauge. Any combination of them can be specified via the "mode" attribute. + Top-level attributes are: +
    +
  1. value: the value to visualize
  2. +
  3. mode: which visual elements to draw
  4. +
  5. align: how to align number and delta (left, center, right)
  6. +
  7. domain: the extent of the figure
  8. +
+ + Then we can configure the 3 different visual elements via their respective container: +
    +
  1. number is simply a representation of the number in text. It has attributes: +
  2. valueformat: to format the number
  3. +
  4. prefix: a string before the number
  5. +
  6. suffix: a string after the number
  7. +
  8. font.(family|size): to control the font
  9. +
+ "delta" simply displays the difference between the value with respect to a reference. It has attributes: +
    +
  1. reference: the number to compare the value with
  2. +
  3. relative: whether that difference is absolute or relative
  4. +
  5. valueformat: to format the delta
  6. +
  7. (increasing|decreasing).color: color to be used for positive or decreasing delta
  8. +
  9. (increasing|decreasing).symbol: symbol displayed on the left of the delta
  10. +
  11. font.(family|size): to control the font
  12. +
  13. position: position relative to `number` (either top, left, bottom, right)
  14. +
+ Finally, we can have a simple title for the indicator via `title` with 'text' attribute which is a string, and 'align' which can be set to left, center, and right. + There are two gauge types: [angular](https://plotly.com/javascript/gauge-charts/) and [bullet](https://plotly.com/javascript/bullet-charts/). Here is a combination of both shapes (angular, bullet), and different modes (guage, delta, and value): +--- +var data = [ + { + type: "indicator", + value: 200, + delta: { reference: 160 }, + gauge: { axis: { visible: false, range: [0, 250] } }, + domain: { row: 0, column: 0 } + }, + { + type: "indicator", + value: 120, + gauge: { + shape: "bullet", + axis: { + visible: false, + range: [-200, 200] + } + }, + domain: { x: [0.1, 0.5], y: [0.15, 0.35] } + }, + { + type: "indicator", + mode: "number+delta", + value: 300, + domain: { row: 0, column: 1 } + }, + { type: "indicator", mode: "delta", value: 40, domain: { row: 1, column: 1 } } +]; + +var layout = { + width: 600, + height: 400, + margin: { t: 25, b: 25, l: 25, r: 25 }, + grid: { rows: 2, columns: 2, pattern: "independent" }, + template: { + data: { + indicator: [ + { + title: { text: "Speed" }, + mode: "number+delta+gauge", + delta: { reference: 90 } + } + ] + } + } +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/indicator1/2019-07-29-several-big-numbers.html b/content/plotly_js/financial/indicator1/2019-07-29-several-big-numbers.html new file mode 100644 index 00000000000..c67d03e5141 --- /dev/null +++ b/content/plotly_js/financial/indicator1/2019-07-29-several-big-numbers.html @@ -0,0 +1,47 @@ +--- +name: +language: plotly_js +suite: indicator +order: 7 +sitemap: false +arrangement: horizontal +markdown_content: | + + It's possible to display several numbers +--- +var data = [ + { + type: "indicator", + mode: "number+delta", + value: 200, + domain: { x: [0, 0.5], y: [0, 0.5] }, + delta: { reference: 400, relative: true, position: "top" } + }, + { + type: "indicator", + mode: "number+delta", + value: 350, + delta: { reference: 400, relative: true }, + domain: { x: [0, 0.5], y: [0.5, 1] } + }, + { + type: "indicator", + mode: "number+delta", + value: 450, + title: { + text: + "Accounts
Subtitle
Subsubtitle" + }, + delta: { reference: 400, relative: true }, + domain: { x: [0.6, 1], y: [0, 1] } + } +]; + +var layout = { + width: 600, + height: 400, + margin: { t: 25, r: 25, l: 25, b: 25 } +}; + +Plotly.newPlot('myDiv', data, layout); + diff --git a/content/plotly_js/financial/ohlc/2015-08-15-customise-colors.html b/content/plotly_js/financial/ohlc/2015-08-15-customise-colors.html new file mode 100644 index 00000000000..af36f3ec069 --- /dev/null +++ b/content/plotly_js/financial/ohlc/2015-08-15-customise-colors.html @@ -0,0 +1,51 @@ +--- +name: Customise OHLC Chart Colors +language: plotly_js +suite: ohlc +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var trace = { + x: unpack(rows, 'Date'), + close: unpack(rows, 'AAPL.Close'), + high: unpack(rows, 'AAPL.High'), + low: unpack(rows, 'AAPL.Low'), + open: unpack(rows, 'AAPL.Open'), + + // cutomise colors + increasing: {line: {color: 'black'}}, + decreasing: {line: {color: 'red'}}, + + type: 'ohlc', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace]; + +var layout = { + dragmode: 'zoom', + showlegend: false, + xaxis: { + autorange: true, + title: { + text: 'Date' + }, + }, + yaxis: { + autorange: true, + } +}; + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/financial/ohlc/2015-08-15-ohlc-with-rangeselector.html b/content/plotly_js/financial/ohlc/2015-08-15-ohlc-with-rangeselector.html new file mode 100644 index 00000000000..a8e35c40fb1 --- /dev/null +++ b/content/plotly_js/financial/ohlc/2015-08-15-ohlc-with-rangeselector.html @@ -0,0 +1,71 @@ +--- +name: Add Rangeselector +language: plotly_js +suite: ohlc +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var trace = { + x: unpack(rows, 'Date'), + close: unpack(rows, 'AAPL.Close'), + high: unpack(rows, 'AAPL.High'), + low: unpack(rows, 'AAPL.Low'), + open: unpack(rows, 'AAPL.Open'), + + // cutomise colors + increasing: {line: {color: 'black'}}, + decreasing: {line: {color: 'red'}}, + + type: 'ohlc', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace]; + +var layout = { + dragmode: 'zoom', + showlegend: false, + xaxis: { + autorange: true, + title: { + text: 'Date' + }, + rangeselector: { + x: 0, + y: 1.2, + xanchor: 'left', + font: {size:8}, + buttons: [{ + step: 'month', + stepmode: 'backward', + count: 1, + label: '1 month' + }, { + step: 'month', + stepmode: 'backward', + count: 6, + label: '6 months' + }, { + step: 'all', + label: 'All dates' + }] + } + }, + yaxis: { + autorange: true, + } +}; + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/financial/ohlc/2015-08-15-ohlc_index.html b/content/plotly_js/financial/ohlc/2015-08-15-ohlc_index.html new file mode 100644 index 00000000000..6bc9c6ecc4d --- /dev/null +++ b/content/plotly_js/financial/ohlc/2015-08-15-ohlc_index.html @@ -0,0 +1,14 @@ +--- +description: How to graph D3.js-based OHLC charts in javascript. Examples of OHCL + charts. +display_as: financial +language: plotly_js +layout: base +name: OHLC Charts +order: 6 +permalink: javascript/ohlc-charts/ +thumbnail: thumbnail/ohlc.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","ohlc" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/ohlc/2015-08-21-customizing-ohlc-figure-with-annotations.html b/content/plotly_js/financial/ohlc/2015-08-21-customizing-ohlc-figure-with-annotations.html new file mode 100644 index 00000000000..a90bf0d03c9 --- /dev/null +++ b/content/plotly_js/financial/ohlc/2015-08-21-customizing-ohlc-figure-with-annotations.html @@ -0,0 +1,91 @@ +--- +name: Customizing the Figure with Shapes and Annotations +language: plotly_js +suite: ohlc +order: 2 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + + x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'], + + close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995], + + decreasing: {line: {color: '#7F7F7F'}}, + + high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002], + + increasing: {line: {color: '#17BECF'}}, + + line: {color: 'rgba(31,119,180,1)'}, + + low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, + 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003], + + open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007], + + type: 'ohlc', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace1]; + +var layout = { + dragmode: 'zoom', + margin: { + r: 10, + t: 25, + b: 40, + l: 60 + }, + showlegend: false, + xaxis: { + autorange: true, + rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']}, + title: { + text: 'Date' + }, + type: 'date' + }, + yaxis: { + autorange: true, + type: 'linear' + }, + + annotations: [ + { + x: '2017-01-31', + y: 0.9, + xref: 'x', + yref: 'paper', + text: 'largest movement', + font: {color: 'magenta'}, + showarrow: true, + xanchor: 'right', + ax: -20, + ay: 0 + } + ], + + shapes: [ + { + type: 'rect', + xref: 'x', + yref: 'paper', + x0: '2017-01-31', + y0: 0, + x1: '2017-02-01', + y1: 1, + fillcolor: '#d3d3d3', + opacity: 0.2, + line: { + width: 0 + } + } + ] +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/ohlc/2015-08-21-ohlc-chart-rangeslider.html b/content/plotly_js/financial/ohlc/2015-08-21-ohlc-chart-rangeslider.html new file mode 100644 index 00000000000..53b621207c7 --- /dev/null +++ b/content/plotly_js/financial/ohlc/2015-08-21-ohlc-chart-rangeslider.html @@ -0,0 +1,47 @@ +--- +name: OHLC Chart without Rangeslider +language: plotly_js +suite: ohlc +order: 1.5 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var trace = { + x: unpack(rows, 'Date'), + close: unpack(rows, 'AAPL.Close'), + high: unpack(rows, 'AAPL.High'), + low: unpack(rows, 'AAPL.Low'), + open: unpack(rows, 'AAPL.Open'), + + // cutomise colors + increasing: {line: {color: 'black'}}, + decreasing: {line: {color: 'red'}}, + + type: 'ohlc', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace]; + +var layout = { + dragmode: 'zoom', + showlegend: false, + xaxis: { + rangeslider: { + visible: false + } + } +}; + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/financial/ohlc/2015-08-21-simple-ohlc-chart.html b/content/plotly_js/financial/ohlc/2015-08-21-simple-ohlc-chart.html new file mode 100644 index 00000000000..29a146ced54 --- /dev/null +++ b/content/plotly_js/financial/ohlc/2015-08-21-simple-ohlc-chart.html @@ -0,0 +1,57 @@ +--- +name: Simple OHLC Chart +language: plotly_js +suite: ohlc +order: 1 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + + x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'], + + close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995], + + decreasing: {line: {color: '#7F7F7F'}}, + + high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002], + + increasing: {line: {color: '#17BECF'}}, + + line: {color: 'rgba(31,119,180,1)'}, + + low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003], + open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007], + + type: 'ohlc', + xaxis: 'x', + yaxis: 'y' +}; + +var data = [trace1]; + +var layout = { + dragmode: 'zoom', + margin: { + r: 10, + t: 25, + b: 40, + l: 60 + }, + showlegend: false, + xaxis: { + autorange: true, + rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']}, + title: { + text: 'Date' + }, + type: 'date' + }, + yaxis: { + autorange: true, + type: 'linear' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/financial/time-series/2015-04-09-date-axes.html b/content/plotly_js/financial/time-series/2015-04-09-date-axes.html new file mode 100644 index 00000000000..e289bdcdd4a --- /dev/null +++ b/content/plotly_js/financial/time-series/2015-04-09-date-axes.html @@ -0,0 +1,17 @@ +--- +name: Date Strings +language: plotly_js +suite: time-series +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: ['2013-10-04 22:23:00', '2013-11-04 22:23:00', '2013-12-04 22:23:00'], + y: [1, 3, 6], + type: 'scatter' + } +]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/financial/time-series/2015-04-09-time-series_plotly_js_index.html b/content/plotly_js/financial/time-series/2015-04-09-time-series_plotly_js_index.html new file mode 100644 index 00000000000..8ca70e0fb1c --- /dev/null +++ b/content/plotly_js/financial/time-series/2015-04-09-time-series_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to plot D3.js-based date and time in Plotly.js. An example of a time-series + plot. +display_as: financial +language: plotly_js +layout: base +name: Time Series +order: 5 +page_type: example_index +permalink: javascript/time-series/ +redirect_from: javascript-graphing-library/time-series/ +thumbnail: thumbnail/time-series.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","time-series" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/time-series/2017-08-14-basic-time-series.html b/content/plotly_js/financial/time-series/2017-08-14-basic-time-series.html new file mode 100644 index 00000000000..5ee487d4c74 --- /dev/null +++ b/content/plotly_js/financial/time-series/2017-08-14-basic-time-series.html @@ -0,0 +1,44 @@ +--- +name: Basic Time Series +language: plotly_js +suite: time-series +order: 2 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + + +var trace1 = { + type: "scatter", + mode: "lines", + name: 'AAPL High', + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.High'), + line: {color: '#17BECF'} +} + +var trace2 = { + type: "scatter", + mode: "lines", + name: 'AAPL Low', + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.Low'), + line: {color: '#7F7F7F'} +} + +var data = [trace1,trace2]; + +var layout = { + title: { + text: 'Date' + }, +}; + +Plotly.newPlot('myDiv', data, layout); +}) diff --git a/content/plotly_js/financial/time-series/2017-08-14-time-series-range.html b/content/plotly_js/financial/time-series/2017-08-14-time-series-range.html new file mode 100644 index 00000000000..38af14dd70a --- /dev/null +++ b/content/plotly_js/financial/time-series/2017-08-14-time-series-range.html @@ -0,0 +1,51 @@ +--- +name: Manually Set Range +language: plotly_js +suite: time-series +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + + +var trace1 = { + type: "scatter", + mode: "lines", + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.High'), + line: {color: '#17BECF'} +} + +var trace2 = { + type: "scatter", + mode: "lines", + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.Low'), + line: {color: '#7F7F7F'} +} + +var data = [trace1,trace2]; + +var layout = { + title: { + text: 'Custom Range' + }, + xaxis: { + range: ['2016-07-01', '2016-12-31'], + type: 'date' + }, + yaxis: { + autorange: true, + range: [86.8700008333, 138.870004167], + type: 'linear' + } +}; + +Plotly.newPlot('myDiv', data, layout); +}) diff --git a/content/plotly_js/financial/time-series/2017-08-14-time-series-rangeslider.html b/content/plotly_js/financial/time-series/2017-08-14-time-series-rangeslider.html new file mode 100644 index 00000000000..114aaeeffa4 --- /dev/null +++ b/content/plotly_js/financial/time-series/2017-08-14-time-series-rangeslider.html @@ -0,0 +1,68 @@ +--- +name: Time Series with Rangeslider +language: plotly_js +suite: time-series +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + + +var trace1 = { + type: "scatter", + mode: "lines", + name: 'AAPL High', + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.High'), + line: {color: '#17BECF'} +} + +var trace2 = { + type: "scatter", + mode: "lines", + name: 'AAPL Low', + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.Low'), + line: {color: '#7F7F7F'} +} + +var data = [trace1,trace2]; + +var layout = { + title: {text: 'Time Series with Rangeslider'}, + xaxis: { + autorange: true, + range: ['2015-02-17', '2017-02-16'], + rangeselector: {buttons: [ + { + count: 1, + label: '1m', + step: 'month', + stepmode: 'backward' + }, + { + count: 6, + label: '6m', + step: 'month', + stepmode: 'backward' + }, + {step: 'all'} + ]}, + rangeslider: {range: ['2015-02-17', '2017-02-16']}, + type: 'date' + }, + yaxis: { + autorange: true, + range: [86.8700008333, 138.870004167], + type: 'linear' + } +}; + +Plotly.newPlot('myDiv', data, layout); +}) diff --git a/content/plotly_js/financial/waterfall/2015-04-09-bar_plotly_js_index.html b/content/plotly_js/financial/waterfall/2015-04-09-bar_plotly_js_index.html new file mode 100644 index 00000000000..eea090249bf --- /dev/null +++ b/content/plotly_js/financial/waterfall/2015-04-09-bar_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a D3.js-based waterfall chart in javascript. +display_as: financial +language: plotly_js +layout: base +name: Waterfall Charts +order: 1 +page_type: example_index +permalink: javascript/waterfall-charts/ +thumbnail: thumbnail/waterfall-charts.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","waterfall" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/financial/waterfall/2015-04-09-basic-bar.html b/content/plotly_js/financial/waterfall/2015-04-09-basic-bar.html new file mode 100644 index 00000000000..8ea9029f493 --- /dev/null +++ b/content/plotly_js/financial/waterfall/2015-04-09-basic-bar.html @@ -0,0 +1,67 @@ +--- +name: Basic Waterfall Chart +language: plotly_js +suite: waterfall +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + name: "2018", + type: "waterfall", + orientation: "v", + measure: [ + "relative", + "relative", + "total", + "relative", + "relative", + "total" + ], + x: [ + "Sales", + "Consulting", + "Net revenue", + "Purchases", + "Other expenses", + "Profit before tax" + ], + textposition: "outside", + text: [ + "+60", + "+80", + "", + "-40", + "-20", + "Total" + ], + y: [ + 60, + 80, + 0, + -40, + -20, + 0 + ], + connector: { + line: { + color: "rgb(63, 63, 63)" + } + }, + } + ]; + layout = { + title: { + text: "Profit and loss statement 2018" + }, + xaxis: { + type: "category" + }, + yaxis: { + type: "linear" + }, + autosize: true, + showlegend: true + }; +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/waterfall/2015-04-09-horizontal-waterfall-chart.html b/content/plotly_js/financial/waterfall/2015-04-09-horizontal-waterfall-chart.html new file mode 100644 index 00000000000..94f6312f466 --- /dev/null +++ b/content/plotly_js/financial/waterfall/2015-04-09-horizontal-waterfall-chart.html @@ -0,0 +1,93 @@ +--- +name: Horizontal Waterfall Chart +language: plotly_js +suite: waterfall +order: 3 +sitemap: false +arrangement: horizontal +--- + +var gd = document.getElementById('myDiv'); +var data = [ + { + name: "2018", + type: "waterfall", + orientation: "h", + measure: [ + "relative", + "relative", + "relative", + "relative", + "total", + "relative", + "relative", + "relative", + "relative", + "total", + "relative", + "relative", + "total", + "relative", + "total" + ], + y: [ + "Sales", + "Consulting", + "Maintenance", + "Other revenue", + "Net revenue", + "Purchases", + "Material expenses", + "Personnel expenses", + "Other expenses", + "Operating profit", + "Investment income", + "Financial income", + "Profit before tax", + "Income tax (15%)", + "Profit after tax" + ], + x: [ + 375, + 128, + 78, + 27, + null, + -327, + -12, + -78, + -12, + null, + 32, + 89, + null, + -45, + null + ], + connector: { + mode: "between", + line: { + width: 4, + color: "rgb(0, 0, 0)", + dash: 0 + } + } + } + ]; +var layout = {title: { + text: "Profit and loss statement 2018
waterfall chart displaying positive and negative" + }, + yaxis: { + type: "category", + autorange: "reversed" + }, + xaxis: { + type: "linear" + }, + margin: { l: 150 }, + showlegend: true + } +Plotly.newPlot('myDiv', data, layout); + + + diff --git a/content/plotly_js/financial/waterfall/2015-04-09-multi_category-waterfall-charts.html b/content/plotly_js/financial/waterfall/2015-04-09-multi_category-waterfall-charts.html new file mode 100644 index 00000000000..ff54cc4ba37 --- /dev/null +++ b/content/plotly_js/financial/waterfall/2015-04-09-multi_category-waterfall-charts.html @@ -0,0 +1,42 @@ +--- +name: Multi Category Waterfall Chart +language: plotly_js +suite: waterfall +order: 2 +sitemap: false +arrangement: horizontal +--- +var gd = document.getElementById('myDiv'); +var data = [ + { + type: "waterfall", + x: [ + ["2016", "2017", "2017", "2017", "2017", "2018", "2018", "2018", "2018"], + ["initial", "q1", "q2", "q3", "total", "q1", "q2", "q3", "total" ] + ], + measure: ["absolute", "relative", "relative", "relative", "total", "relative", "relative", "relative", "total"], + y: [1, 2, 3, -1, null, 1, 2, -4, null], + base: 1000 + }, + { + type: "waterfall", + x: [ + ["2016", "2017", "2017", "2017", "2017", "2018", "2018", "2018", "2018"], + ["initial", "q1", "q2", "q3", "total", "q1", "q2", "q3", "total" ] + ], + measure: ["absolute", "relative", "relative", "relative", "total", "relative", "relative", "relative", "total"], + y: [1.1, 2.2, 3.3, -1.1, null, 1.1, 2.2, -4.4, null], + base: 1000 + } + ]; +var layout = { + waterfallgroupgap : 0.5, + xaxis: { + title: { + text: "MULTI-CATEGORY", + }, + tickfont: {size: 16}, + ticks: "outside" + } + } +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/financial/waterfall/2015-04-09-style-waterfall.html b/content/plotly_js/financial/waterfall/2015-04-09-style-waterfall.html new file mode 100644 index 00000000000..b40c89dba6f --- /dev/null +++ b/content/plotly_js/financial/waterfall/2015-04-09-style-waterfall.html @@ -0,0 +1,34 @@ +--- +name: Style Waterfall Chart +language: plotly_js +suite: waterfall +order: 4 +sitemap: false +arrangement: horizontal +--- +var gd = document.getElementById('myDiv'); +var data = [ + { + type: "waterfall", + x: [ + ["2016", "2017", "2017", "2017", "2017", "2018", "2018", "2018", "2018"], + ["initial", "q1", "q2", "q3", "total", "q1", "q2", "q3", "total" ] + ], + measure: ["absolute", "relative", "relative", "relative", "total", "relative", "relative", "relative", "total"], + y: [10, 20, 30, -10, null, 10, 20, -40, null], + base: 300, + decreasing: { marker: { color: "Maroon" , line:{color : "red", width :2}}}, + increasing: { marker: { color: "Teal"} }, + totals: { marker: { color: "deep sky blue", line:{color:'blue',width:3}} } + }]; +var layout = {title: { + text: "Profit and loss statement" + }, + waterfallgap : 0.3, + xaxis: { + title: { text: ""}, + tickfont: {size: 15}, + ticks: "outside" + } + } +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/2019-09-11-plotly_js-fundamentals-index.html b/content/plotly_js/fundamentals/2019-09-11-plotly_js-fundamentals-index.html new file mode 100644 index 00000000000..ebb89a6aa6d --- /dev/null +++ b/content/plotly_js/fundamentals/2019-09-11-plotly_js-fundamentals-index.html @@ -0,0 +1,28 @@ +--- +permalink: javascript/plotly-fundamentals/ +redirect_from: javascript/modularizing-monolithic-javascript-projects/ +description: Plotly.js makes interactive, publication-quality graphs online. Tutorials and tips about fundamental features of Plotly JS +name: Fundamentals +layout: langindex +display_as: file_settings +language: plotly_js +thumbnail: thumbnail/mixed.jpg +--- + + +
+
+ +
+ +
+

Plotly.js Fundamentals

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","file_settings" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_fixed_ratio_axes.html b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_fixed_ratio_axes.html new file mode 100644 index 00000000000..b68e8d2be9d --- /dev/null +++ b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_fixed_ratio_axes.html @@ -0,0 +1,65 @@ +--- +name: Fixed Ratio Axes +language: plotly_js +suite: 3d-axes +order: 1.1 +sitemap: false +arrangement: horizontal +--- + +function getrandom(num , mul) + { + var value = [ ] + var i; + for(i=0;i<=num;i++) + { + rand = Math.random() * mul; + value.push(rand); + } + return value; + } + +var i; +traces = []; +names = ['cube', 'data', 'auto', 'manual']; +for (i=1; i<5; i++){ + traces.push({ + x: getrandom(20, 4), + y: getrandom(20, 3), + z: getrandom(20, 5), + opacity:0.5, + mode: "markers", + type: "mesh3d", + scene: "scene" + i, + name: names[i-1] + } + ) +} + +var layout = { + scene:{ + aspectmode:'cube', + domain:{row:0, column:0} + }, + scene2:{ + aspectmode:'data', + domain:{row:1, column:0} + }, + scene3:{ + aspectmode:'auto', + domain:{row:0, column:1} + }, + scene4:{ + aspectmode:'manual', + aspectratio: {x:1, y:1, z:2}, + domain: {row:1, column:1} + }, + grid:{ + pattern: 'independent', + rows:2, + columns:2 + }, + +}; + +Plotly.newPlot('myDiv', traces, layout); diff --git a/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html new file mode 100644 index 00000000000..b7bb4d01627 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to format axes for 3d charts. +display_as: file_settings +language: plotly_js +layout: base +name: 3D Axes +order: 12 +page_type: u-guide +permalink: javascript/3d-axes/ +redirect_from: javascript-graphing-library/3d-axes/ +thumbnail: thumbnail/theming-and-templates.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-axes" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_range.html b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_range.html new file mode 100644 index 00000000000..6b70e894d98 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_range.html @@ -0,0 +1,65 @@ +--- +name: Range of Axes +language: plotly_js +suite: 3d-axes +order: 1 +sitemap: false +arrangement: horizontal +--- + +function getrandom(num , mul) + { + var value = [ ]; + for(i=0;i<=num;i++) + { + var rand = Math.random() * mul; + value.push(rand); + } + return value; + } + + +var data=[ + { + opacity:0.4, + type: 'scatter3d', + x: getrandom(50 , -75), + y: getrandom(50 , -75), + z: getrandom(50 , -75), + }, + { + opacity:0.5, + type: 'scatter3d', + x: getrandom(50 , -75), + y: getrandom(50 , 75), + z: getrandom(50 , 75), + }, + { + opacity:0.5, + type: 'scatter3d', + x: getrandom(50 , 100), + y: getrandom(50 , 100), + z: getrandom(50 , 100), + } +]; +var layout = { + scene:{ + aspectmode: "manual", + aspectratio: { + x: 1, y: 0.7, z: 1, + }, + xaxis: { + nticks: 9, + range: [-200, 100], + }, + yaxis: { + nticks: 7, + range: [-100, 100], + }, + zaxis: { + nticks: 10, + range: [-150, 100], + }}, +}; +Plotly.newPlot('myDiv', data, layout); + \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_format_ticks.html b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_format_ticks.html new file mode 100644 index 00000000000..77d58e9a186 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-axes/2015-08-12-3d_format_ticks.html @@ -0,0 +1,52 @@ +--- +name: Ticks Formatting +language: plotly_js +suite: 3d-axes +order: 2 +sitemap: false +arrangement: horizontal +--- + +function getrandom(num , mul) + { + var value = [ ]; + for(i=0;i<=num;i++) + { + var rand = Math.random() * mul; + value.push(rand); + } + return value; + } + + +var data=[ + { + opacity:0.4, + type: 'scatter3d', + x: getrandom(50 , -75), + y: getrandom(50 , -75), + z: getrandom(50 , -75), + }, +]; +var layout = { + scene:{ + xaxis: { + ticktext:['H20','C02','O2'], + tickvals:[-30, -45, -65, -10] + }, + yaxis: { + nticks: 5, + tickfont: + { + color:'green', + family:'Old Standard TT, serif', + size: 14 + }, + ticksuffix:'$' + }, + zaxis: { + ticks: 'outside', + tick0: 0, + tickwidth: 4}}, +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/3d-axes/2015-08-12-axes_background.html b/content/plotly_js/fundamentals/3d-axes/2015-08-12-axes_background.html new file mode 100644 index 00000000000..f2116de2ac4 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-axes/2015-08-12-axes_background.html @@ -0,0 +1,66 @@ +--- +name: Axes Background Color +language: plotly_js +suite: 3d-axes +order: 3 +sitemap: false +arrangement: horizontal +--- +function getrandom(num , mul) + { + var value = [ ]; + for(i=0;i<=num;i++) + { + var rand = Math.random() * mul; + value.push(rand); + } + return value; + } + +var data=[ + { + opacity:0.4,type: 'scatter3d', + x: getrandom(50 , 75), + y: getrandom(50 , 75), + z: getrandom(50 , 75), + mode:'markers' + }, + { + opacity: 0.5, + type: 'scatter3d', + x: getrandom(75 , 75), + y: getrandom(75 , 75), + z: getrandom(75 , 75), + mode:'markers' + }, + { + opacity: 0.5, + type: 'scatter3d', + x: getrandom(75 , 100), + y: getrandom(75 , 100), + z: getrandom(75 , 100), + mode:'markers' + } +]; +var layout = { + scene:{ + xaxis: { + backgroundcolor: "rgb(200, 200, 230)", + gridcolor: "rgb(255, 255, 255)", + showbackground: true, + zerolinecolor: "rgb(255, 255, 255)", + }, + yaxis: { + backgroundcolor: "rgb(230, 200,230)", + gridcolor: "rgb(255, 255, 255)", + showbackground: true, + zerolinecolor: "rgb(255, 255, 255)" + }, + zaxis: { + backgroundcolor: "rgb(230, 230,200)", + gridcolor: "rgb(255, 255, 255)", + showbackground: true, + zerolinecolor: "rgb(255, 255, 255)" + }} +}; +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-axes/2015-08-12-camera.html b/content/plotly_js/fundamentals/3d-axes/2015-08-12-camera.html new file mode 100644 index 00000000000..71d5262e391 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-axes/2015-08-12-camera.html @@ -0,0 +1,143 @@ +--- +name: Camera Controls +language: plotly_js +suite: 3d-axes +order: 5 +sitemap: false +arrangement: horizontal +--- + +function getrandom(num , mul) + { + var value = [ ]; + for(i=0;i<=num;i++) + { + var rand = Math.random() * mul; + value.push(rand); + } + return value; + } +var data = [ + { + x: getrandom(20, 4), + y: getrandom(20, 3), + z: getrandom(20, 5), + opacity:0.5, + mode: "markers", + type: "scatter3d", + scene: "scene1", + name: "Lower the view point" + }, + { + x:getrandom(20, 4), + y:getrandom(20, 3), + z:getrandom(20, 5), + opacity:0.5, + mode: "markers", + type: "scatter3d", + scene: "scene2", + name: "x-z plane" + }, + { + x:getrandom(20, 4), + y:getrandom(20, 3), + z:getrandom(20, 5), + opacity:0.5, + mode: "markers", + type: "scatter3d", + scene: "scene3", + name: "y-z plane" + }, + { + x:getrandom(10, 4), + y:getrandom(10, 3), + z:getrandom(10, 5), + opacity:0.5, + mode: "markers", + type: "scatter3d", + scene: "scene4", + name: "View from above" + }, + { + x:getrandom(20, 4), + y:getrandom(20, 3), + z:getrandom(20, 5), + opacity:0.5, + mode: "markers", + type: "scatter3d", + scene: "scene5", + name: "Zooming in" + }, +]; +var layout = { + scene1: { + domain: { + x: [0.00, 0.33], + y: [0.5, 1] + }, + camera: { + center: { + x: 0, y: 0, z: 0 }, + eye: { + x: 2, y: 2, z: 0.1 }, + up: { + x: 0, y: 0, z: 1 } + },}, + + scene2: { + domain: { + x: [0.33, 0.66], + y: [0.5, 1.0] + }, + camera: { + center: { + x: 0, y: 0, z: 0}, + eye: { + x:0.1, y:2.5, z:0.1}, + up: { + x: 0, y: 0, z: 1} + },}, + + scene3: { + domain: { + x: [0.66, 0.99], + y: [0.5, 1] + }, + camera: { + center: { + x: 0, y: 0, z: 0}, + eye: { + x:2.5, y:0.1, z:0.1}, + up: { + x: 0, y: 0, z: 1} + },}, + + scene4: { + domain: { + x: [0.15, 0.5], + y: [-0.25, 0.4] + }, + camera: { + center: { + x: 0, y: 0, z: 0}, + eye: { + x:0.1, y:0.1, z:2.5}, + up: { + x: 0, y: 0, z: 1} + },}, + + scene5: { + domain: { + x: [0.62, 0.7], + y: [-0.2, 0.4] + }, + camera: { + center: { + x: 0, y: 0, z: 0}, + eye: { + x:0.1, y:0.1, z:1}, + up: { + x: 0, y: 0, z: 1} + },}, +}; +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-axes/2015-08-12-title.html b/content/plotly_js/fundamentals/3d-axes/2015-08-12-title.html new file mode 100644 index 00000000000..bf2ac988af9 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-axes/2015-08-12-title.html @@ -0,0 +1,58 @@ +--- +name: Set Axes Title +language: plotly_js +suite: 3d-axes +order: 5 +sitemap: false +arrangement: horizontal +--- +function getrandom(num , mul) { + var value = [ ]; + for(i=0;i<=num;i++) + { + var rand = Math.random() * mul; + value.push(rand); + } + return value;} + +var trace1 = { + type:'mesh3d', + x: getrandom(1000,200), y: getrandom(1000,300), z: getrandom(1000,150), + color: 'lightblue',}; + +var trace2 = { + type:'mesh3d', + x: getrandom(1000,200), y: getrandom(1000,300), z: getrandom(1000,150), + color: 'pink'}; + +var layout = { + scene: { + xaxis: { + title: { + text: 'X AXIS TITLE' + } + }, + yaxis: { + title: { + text: 'Y AXIS TITLE' + } + }, + zaxis: { + title: { + text: 'Z AXIS TITLE' + } + } + }, + autosize: false, + width: 550, + height: 500, + margin: { + l: 0, + r: 0, + b: 50, + t: 50, + pad: 4 + }, +} + +Plotly.newPlot('myDiv', [trace1,trace2], layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-hover-options/2015-08-12-3d_hover_spike_settings.html b/content/plotly_js/fundamentals/3d-hover-options/2015-08-12-3d_hover_spike_settings.html new file mode 100644 index 00000000000..e96aeb49fdc --- /dev/null +++ b/content/plotly_js/fundamentals/3d-hover-options/2015-08-12-3d_hover_spike_settings.html @@ -0,0 +1,54 @@ +--- +name: Customize Hover for Spikelines +language: plotly_js +suite: 3d-hover +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + By default, Plotly's 3D plots display lines called "spikelines" while hovering over a point. + These lines project from the hover point to each of the three axes' normal planes and + then extend from those projection data points to the planes' wall boundaries. +--- + +function getrandom(num , mul) + { + var value = [ ]; + for(i=0;i<=num;i++) + { + var rand = Math.random() * mul; + value.push(rand); + } + return value; + } + + +var data=[ + { + opacity:0.4, + type: 'scatter3d', + x: getrandom(50 , -75), + y: getrandom(50 , -75), + z: getrandom(50 , -75), + }, +]; +var layout = { + scene:{ + xaxis: { + spikecolor: '#1fe5bd', + spikesides: false, + spikethickness: 6 + }, + yaxis: { + spikecolor: '#1fe5bd', + spikesides: false, + spikethickness: 6 + }, + zaxis: { + spikecolor: '#1fe5bd', + spikethickness: 6 + } + }, +}; +Plotly.newPlot('myDiv', data, layout); + \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-hover-options/2015-08-12-3d_hover_surface_contour.html b/content/plotly_js/fundamentals/3d-hover-options/2015-08-12-3d_hover_surface_contour.html new file mode 100644 index 00000000000..f15a19f4cb7 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-hover-options/2015-08-12-3d_hover_surface_contour.html @@ -0,0 +1,46 @@ +--- +name: Customize Hover for Surface Contours +language: plotly_js +suite: 3d-hover +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + In addition to spikelines, Plotly 3D Surface plots also display surface contours on hover by default. + These are customized by styling the [`contours`](https://plotly.com/javascript/reference/surface/#surface-contours) + attribute in the surface trace. +--- + +x = [10,20,30,40] +y = [0,1,2,3] +z = [ + [2,2,2,3], + [1,1,1,1], + [1,1,0,0], + [0,0,0,0] +]; + +var data=[ + { + opacity:0.9, + type: 'surface', + x:x, y:y, z:z, + contours: { + x: { + highlight: true, + highlightcolor: "#41a7b3" + }, + y: { highlight: false }, + z: { highlight: false} + } + }, +]; +var layout = { + scene:{ + xaxis: { showspikes: false }, + yaxis: { showspikes: false }, + zaxis: { showspikes: false } + }, +}; +Plotly.newPlot('myDiv', data, layout); + \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html b/content/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html new file mode 100644 index 00000000000..4ebc04080ee --- /dev/null +++ b/content/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to customize hover options for 3d charts. +display_as: file_settings +language: plotly_js +layout: base +name: 3D Hover Options +order: 13 +page_type: u-guide +permalink: javascript/3d-hover/ +thumbnail: thumbnail/subplots.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-hover" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html new file mode 100644 index 00000000000..22a841fd315 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to customize lighting for 3D surface charts. +display_as: file_settings +language: plotly_js +layout: base +name: 3D Surface Lighting +order: 14 +page_type: u-guide +permalink: javascript/3d-surface-lighting/ +thumbnail: thumbnail/3d-surface.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-surface-lighting" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_ambient_lighting.html b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_ambient_lighting.html new file mode 100644 index 00000000000..11a5640904c --- /dev/null +++ b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_ambient_lighting.html @@ -0,0 +1,55 @@ +--- +name: Ambient Lighting +language: plotly_js +suite: 3d-surface-lighting +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var z_data = [ ]; +for(i=0;i<100;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type: 'surface', + colorscale: 'Viridis', + lighting: {ambient: 0.9} + }, + { + z: z_data, + type: 'surface', + scene: 'scene2', + colorscale:'Viridis', + lighting: {ambient: 0.2} + } +]; + +var layout = { + title: { + text: 'Ambient Lighting' + }, + grid: { + rows: 1, + columns: 2, + pattern: 'independent', + }, + scene:{ + aspectmode:'cube', + domain:{row:0, column:0} + }, + scene2:{ + aspectmode:'cube', + domain:{row:0, column:1} + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_diffuse_reflection.html b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_diffuse_reflection.html new file mode 100644 index 00000000000..99ba9023df8 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_diffuse_reflection.html @@ -0,0 +1,55 @@ +--- +name: Diffuse +language: plotly_js +suite: 3d-surface-lighting +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var z_data = [] +for(i=0;i<100;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type: 'surface', + colorscale:'Viridis', + lighting: {diffuse: 0.9} + }, + { + z: z_data, + type: 'surface', + scene: 'scene2', + colorscale:'Viridis', + lighting: {diffuse: 0.1} + } +]; + +var layout = { + title: { + text: 'Diffuse Reflection' + }, + grid: { + rows: 1, + columns: 2, + pattern: 'independent', + }, + scene:{ + aspectmode:'cube', + domain:{row:0, column:0} + }, + scene2:{ + aspectmode:'cube', + domain:{row:0, column:1} + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_fresnel.html b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_fresnel.html new file mode 100644 index 00000000000..93f3aeb511c --- /dev/null +++ b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_fresnel.html @@ -0,0 +1,55 @@ +--- +name: Fresnel +language: plotly_js +suite: 3d-surface-lighting +order: 5 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var z_data = []; +for(i=0;i<100;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type: 'surface', + colorscale:'Viridis', + lighting: {fresnel: 0.1} + }, + { + z: z_data, + type: 'surface', + scene: 'scene2', + colorscale:'Viridis', + lighting: {fresnel: 5} + } +]; + +var layout = { + title: { + text: 'Fresnel' + }, + grid: { + rows: 1, + columns: 2, + pattern: 'independent', + }, + scene:{ + aspectmode:'cube', + domain:{row:0, column:0} + }, + scene2:{ + aspectmode:'cube', + domain:{row:0, column:1} + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_reference.html b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_reference.html new file mode 100644 index 00000000000..68d3da19b36 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_reference.html @@ -0,0 +1,10 @@ +--- +name: Reference +language: plotly_js +suite: 3d-surface-lighting +order: 10 +sitemap: false +arrangement: horizontal +markdown_content: | + See [https://plotly.com/javascript/reference/surface/#surface-lighting](https://plotly.com/javascript/reference/surface/#surface-lighting) for more information! +--- \ No newline at end of file diff --git a/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_roughness.html b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_roughness.html new file mode 100644 index 00000000000..62f4523e098 --- /dev/null +++ b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_roughness.html @@ -0,0 +1,55 @@ +--- +name: Roughness +language: plotly_js +suite: 3d-surface-lighting +order: 2 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var z_data = []; +for(i=0;i<100;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type: 'surface', + colorscale:'Viridis', + lighting: {roughness: 0.9} + }, + { + z: z_data, + type: 'surface', + scene: 'scene2', + colorscale:'Viridis', + lighting: {roughness: 0.2} + } +]; + +var layout = { + title: { + text: 'Roughness' + }, + grid: { + rows: 1, + columns: 2, + pattern: 'independent', + }, + scene:{ + aspectmode:'cube', + domain:{row:0, column:0} + }, + scene2:{ + aspectmode:'cube', + domain:{row:0, column:1} + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_specular_reflection.html b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_specular_reflection.html new file mode 100644 index 00000000000..226e77e46ff --- /dev/null +++ b/content/plotly_js/fundamentals/3d-surface-lighting/2018-11-22-surface_specular_reflection.html @@ -0,0 +1,55 @@ +--- +name: Specular +language: plotly_js +suite: 3d-surface-lighting +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + +var z_data = []; +for(i=0;i<100;i++) +{ + z_data.push(unpack(rows,i)); +} + +var data = [{ + z: z_data, + type: 'surface', + colorscale:'Viridis', + lighting: {specular: 0.1} + }, + { + z: z_data, + type: 'surface', + scene: 'scene2', + colorscale:'Viridis', + lighting: {specular: 2} + } +]; + +var layout = { + title: { + text: 'Specular Reflection' + }, + grid: { + rows: 1, + columns: 2, + pattern: 'independent', + }, + scene:{ + aspectmode:'cube', + domain:{row:0, column:0} + }, + scene2:{ + aspectmode:'cube', + domain:{row:0, column:1} + }, +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/ajax-call/2015-08-10-ajax_call_plotly_js_index.html b/content/plotly_js/fundamentals/ajax-call/2015-08-10-ajax_call_plotly_js_index.html new file mode 100644 index 00000000000..946a1bb5215 --- /dev/null +++ b/content/plotly_js/fundamentals/ajax-call/2015-08-10-ajax_call_plotly_js_index.html @@ -0,0 +1,13 @@ +--- +name: Read CSV Data from an Ajax Call +permalink: javascript/ajax-call/ +description: How to make Ajax calls in javascript for Plotlyjs. +layout: base +thumbnail: thumbnail/line-plots.jpg +language: plotly_js +page_type: example_index +display_as: tutorials +redirect_from: javascript-graphing-library/ajax-call/ +--- +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","ajax" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/fundamentals/ajax-call/2015-08-12-plotting-csv-data-from-ajax.html b/content/plotly_js/fundamentals/ajax-call/2015-08-12-plotting-csv-data-from-ajax.html new file mode 100644 index 00000000000..6d37a2e7393 --- /dev/null +++ b/content/plotly_js/fundamentals/ajax-call/2015-08-12-plotting-csv-data-from-ajax.html @@ -0,0 +1,42 @@ +--- +name: Plotting CSV Data from Ajax Call +plot_url: https://codepen.io/plotly/embed/9a091a6dd0486ff8de95982bc23a3467/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: ajax +order: 1 +sitemap: false +arrangement: horizontal +--- +function makeplot() { + d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv", function(data){ processData(data) } ); + +}; + +function processData(allRows) { + + console.log(allRows); + var x = [], y = [], standard_deviation = []; + + for (var i=0; iFormatting Annotations
click on a point to plot an annotation'}, + xaxis: { + zeroline: false, + title: { + text: 'Value A' + } + }, + yaxis: { + zeroline: false, + title: { + text: 'Value B' + } + } + }; + +Plotly.newPlot('myDiv', data, layout); + +myPlot.on('plotly_click', + function(data){ + var point = data.points[0], + newAnnotation = { + x: point.xaxis.d2l(point.x), + y: point.yaxis.d2l(point.y), + arrowhead: 6, + ax: 0, + ay: -80, + bgcolor: 'rgba(255, 255, 255, 0.9)', + arrowcolor: point.fullData.marker.color, + font: {size:12}, + bordercolor: point.fullData.marker.color, + borderwidth: 3, + borderpad: 4, + text: 'Series Identification' +
+ 'Year '+(point.data.name) + '
' + + 'Point Identification
' + + 'Month '+ (months[point.pointNumber]) + + '
Point Values
' + + 'A '+(point.x).toPrecision(4) + + '
B '+(point.y).toPrecision(4) + + }, + divid = document.getElementById('myDiv'), + newIndex = (divid.layout.annotations || []).length; + console.log(point.pointNumber) + // delete instead if clicked twice + if(newIndex) { + var foundCopy = false; + divid.layout.annotations.forEach(function(ann, sameIndex) { + if(ann.text === newAnnotation.text ) { + Plotly.relayout('myDiv', 'annotations[' + sameIndex + ']', 'remove'); + foundCopy = true; + } + }); + if(foundCopy) return; + } + Plotly.relayout('myDiv', 'annotations[' + newIndex + ']', newAnnotation); + }) + .on('plotly_clickannotation', function(event, data) { + Plotly.relayout('myDiv', 'annotations[' + data.index + ']', 'remove'); + }); diff --git a/content/plotly_js/fundamentals/annotations/2016-02-29-paper-referenced-annotations.html b/content/plotly_js/fundamentals/annotations/2016-02-29-paper-referenced-annotations.html new file mode 100644 index 00000000000..191e2f0a597 --- /dev/null +++ b/content/plotly_js/fundamentals/annotations/2016-02-29-paper-referenced-annotations.html @@ -0,0 +1,34 @@ +--- +name: Paper Referenced Annotations +language: plotly_js +suite: annotations +order: 3 +sitemap: false +arrangement: horizontal +--- + +Plotly.newPlot('myDiv', [{ + x: [1,2,3], + y: [2,1,2] +}], { + annotations: [{ + xref: 'paper', + yref: 'paper', + x: 0, + xanchor: 'right', + y: 1, + yanchor: 'bottom', + text: 'X axis label', + showarrow: false + }, { + xref: 'paper', + yref: 'paper', + x: 1, + xanchor: 'left', + y: 0, + yanchor: 'top', + text: 'Y axis label', + showarrow: false + }] + +}) \ No newline at end of file diff --git a/content/plotly_js/fundamentals/annotations/2017-02-03-subplot-annotations.html b/content/plotly_js/fundamentals/annotations/2017-02-03-subplot-annotations.html new file mode 100644 index 00000000000..6e2e5495b26 --- /dev/null +++ b/content/plotly_js/fundamentals/annotations/2017-02-03-subplot-annotations.html @@ -0,0 +1,59 @@ +--- +name: Subplot Annotations +language: plotly_js +suite: annotations +order: 4.5 +sitemap: false +arrangement: horizontal +--- + +var trace0 = { + x: [1, 2, 3], + y: [4, 5, 6], + type: 'scatter' +}; + +var trace1 = { + x: [20, 30, 40], + y: [50, 60, 70], + xaxis: 'x2', + yaxis: 'y2', + type: 'scatter' +}; + +var data = [trace0, trace1]; + +var layout = { + title: { + text: 'Subplot Annotations' + }, + xaxis: {domain: [0, 0.45]}, + yaxis2: {anchor: 'x2'}, + xaxis2: {domain: [0.55, 1]}, + annotations: [ + { + x: 2, + y: 5, + xref: 'x', + yref: 'y', + text: 'Annotation A', + showarrow: true, + arrowhead: 3, + ax: -30, + ay: -40 + }, + { + x: 30, + y: 60, + xref: 'x2', + yref: 'y2', + text: 'Annotation B', + showarrow: true, + arrowhead: 2, + ax: -25, + ay: -40 + } + ] +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/annotations/2017-07-24-3d-annotations.html b/content/plotly_js/fundamentals/annotations/2017-07-24-3d-annotations.html new file mode 100644 index 00000000000..f7f65f135e0 --- /dev/null +++ b/content/plotly_js/fundamentals/annotations/2017-07-24-3d-annotations.html @@ -0,0 +1,81 @@ +--- +name: 3D Annotations +language: plotly_js +suite: annotations +order: 4.75 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: "scatter3d", + x: ["2017-01-01", "2017-02-10", "2017-03-20"], + y: ["A", "B", "C"], + z: [1, 1e3, 1e5] + }] + +var layout = { + scene: { + camera: { + eye: {x: 2.1, y: 0.1, z: 0.9} + }, + xaxis: { + title: { + text: "" + } + }, + yaxis: { + title: { + text: "" + } + }, + zaxis: { + type: "log", + title: { + text: "" + } + }, + annotations: [{ + showarrow: false, + x: "2017-01-01", + y: "A", + z: 0, + text: "Point 1", + font: { + color: "black", + size: 12 + }, + xanchor: "left", + xshift: 10, + opacity: 0.7 + }, { + x: "2017-02-10", + y: "B", + z: 4, + text: "Point 2", + textangle: 0, + ax: 0, + ay: -75, + font: { + color: "black", + size: 12 + }, + arrowcolor: "black", + arrowsize: 3, + arrowwidth: 1, + arrowhead: 1 + }, { + x: "2017-03-20", + y: "C", + z: 5, + ax: 50, + ay: 0, + text: "Point 3", + arrowhead: 1, + xanchor: "left", + yanchor: "bottom" + }] +} +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/annotations/2018-08-10-webgl-text-and-annotations.html b/content/plotly_js/fundamentals/annotations/2018-08-10-webgl-text-and-annotations.html new file mode 100644 index 00000000000..83b65281ef8 --- /dev/null +++ b/content/plotly_js/fundamentals/annotations/2018-08-10-webgl-text-and-annotations.html @@ -0,0 +1,77 @@ +--- +name: WebGL Text and Annotations +language: plotly_js +suite: annotations +order: 8 +sitemap: false +arrangement: horizontal +--- + +var n = 250; +var t = 12; +var x = []; +var y = []; +var z = []; +var text = []; +var arr = ["A","T","G", "C"]; + +for (var j = 0; j < t; j++){ + ztemp = []; + for (var i = 0; i < n; i++) { + x.push(i); + y.push(j); + ztemp.push(Math.floor(Math.random() * 10)); + text.push(arr[Math.floor(Math.random() * 4)]) + } + z.push(ztemp) +} + +var steps = []; +for (var e = 0; e < n-30; e++){ + steps.push({ + label: e, + value: e, + method: 'relayout', + args: ['xaxis', {range: [-0.5 + e, 30.5 + e]}] + }) +} + +data1 = { + x: x, + y: y, + mode: "text", + text: text, + type: "scattergl", + textfont: { + size: 20 + } + } + +data2 = { + z: z, + type: "heatmap" + } + +sliders = [{ + active: 0, + steps: steps + }] + +layout = { + sliders: sliders, + xaxis: { + range: [-0.5, 30.5], + showline: false, + zeroline: false, + showgrid: false + }, + yaxis: { + showline: false, + zeroline: false, + showgrid: false + } + } + +data = [data1, data2] +Plotly.newPlot('myDiv', {data:data, + layout:layout}); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/annotations/2024-02-01-annotation-log-axis.html b/content/plotly_js/fundamentals/annotations/2024-02-01-annotation-log-axis.html new file mode 100644 index 00000000000..48208798df1 --- /dev/null +++ b/content/plotly_js/fundamentals/annotations/2024-02-01-annotation-log-axis.html @@ -0,0 +1,46 @@ +--- +name: Annotations with Log Axes +language: plotly_js +suite: annotations +order: 3.5 +sitemap: false +arrangement: horizontal +markdown_content: | + If the `x` or `y` positions of an annotation reference a log axis, you need to provide that position as a `log10` value when adding the annotation. In this example, the `yaxis` is a log axis so we pass the `log10` value of `1000` to the annotation's `y` position. +--- +var dates = [ + "2024-01-01", + "2024-01-02", + "2024-01-03", + "2024-01-04", + "2024-01-05", + "2024-01-06", +]; + +var y_values = [1, 30, 70, 100, 1000, 10000000]; + +var trace1 = { + x: dates, + y: y_values, + mode: 'lines+markers', + type: 'scatter' +}; + +var layout = { + yaxis: { + type: 'log', + }, + annotations: [ + { + x: '2024-01-05', + y: Math.log10(1000), + text: 'Log axis annotation', + showarrow: true, + xanchor: 'right', + } + ] +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-booleans.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-booleans.html new file mode 100644 index 00000000000..2f6aa16cdf0 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-booleans.html @@ -0,0 +1,40 @@ +--- +name: Toggling Axes Lines, Ticks, Labels, and Autorange +language: plotly_js +suite: axes +order: 1 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [8, 7, 6, 5, 4, 3, 2, 1, 0], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + xaxis: { + autorange: true, + showgrid: false, + zeroline: false, + showline: false, + autotick: true, + ticks: '', + showticklabels: false + }, + yaxis: { + autorange: true, + showgrid: false, + zeroline: false, + showline: false, + autotick: true, + ticks: '', + showticklabels: false + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-labels.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-labels.html new file mode 100644 index 00000000000..e3ba4cc0b4d --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-labels.html @@ -0,0 +1,75 @@ +--- +name: Set and Style Axes Title Labels and Ticks +language: plotly_js +suite: axes +order: 0 +sitemap: false +arrangement: horizontal +--- + + + + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); +} + + var x = unpack(rows, 'Date') + var y = unpack(rows, 'AAPL.Volume') + + var trace = { + type: "scatter", + mode: "lines", + name: 'AAPL Volume', + x: x, + y: y, + line: {color: 'grey'} + } + + var data = [trace]; + +var layout = { + title: {text: 'Volume of Apple Shares Traded'}, + xaxis: { + title: { + text: 'AXIS TITLE', + font: { + family: 'Arial, sans-serif', + size: 18, + color: 'lightgrey' + } + }, + showticklabels: true, + tickangle: 'auto', + tickfont: { + family: 'Old Standard TT, serif', + size: 14, + color: 'black' + }, + exponentformat: 'e', + showexponent: 'all' + }, + yaxis: { + title: { + text: 'AXIS TITLE', + font: { + family: 'Arial, sans-serif', + size: 18, + color: 'lightgrey' + } + }, + showticklabels: true, + tickangle: 45, + tickfont: { + family: 'Old Standard TT, serif', + size: 14, + color: 'black' + }, + exponentformat: 'e', + showexponent: 'all' + } +}; + +Plotly.newPlot('myDiv', data, layout); +}) diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-lines.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-lines.html new file mode 100644 index 00000000000..be57d7421c8 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-lines.html @@ -0,0 +1,46 @@ +--- +name: Styling and Coloring Axes and the Zero-Line +language: plotly_js +suite: axes +order: 0 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [8, 7, 6, 5, 4, 3, 2, 1, 0], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + xaxis: { + showgrid: true, + zeroline: true, + showline: true, + mirror: 'ticks', + gridcolor: '#bdbdbd', + gridwidth: 2, + zerolinecolor: '#969696', + zerolinewidth: 4, + linecolor: '#636363', + linewidth: 6 + }, + yaxis: { + showgrid: true, + zeroline: true, + showline: true, + mirror: 'ticks', + gridcolor: '#bdbdbd', + gridwidth: 2, + zerolinecolor: '#969696', + zerolinewidth: 4, + linecolor: '#636363', + linewidth: 6 + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-manual.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-manual.html new file mode 100644 index 00000000000..0b13c60c393 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-manual.html @@ -0,0 +1,24 @@ +--- +name: Setting the Range of Axes Manually +language: plotly_js +suite: axes +order: 1 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [8, 7, 6, 5, 4, 3, 2, 1, 0], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + xaxis: {range: [2, 5]}, + yaxis: {range: [2, 5]} +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-mode.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-mode.html new file mode 100644 index 00000000000..186a85a1845 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-mode.html @@ -0,0 +1,27 @@ +--- +name: nonnegative, tozero, and normal Rangemode +language: plotly_js +suite: axes +order: 2 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [2, 4, 6], + y: [-3, 0, 3], + type: 'scatter' + } +]; +var layout = { + showlegend: false, + xaxis: { + rangemode: 'tozero', + autorange: true + }, + yaxis: { + rangemode: 'nonnegative', + autorange: true + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-type.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-type.html new file mode 100644 index 00000000000..0a8c782b78b --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-range-type.html @@ -0,0 +1,30 @@ +--- +name: Logarithmic Axes +language: plotly_js +suite: axes +order: 3 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [8, 7, 6, 5, 4, 3, 2, 1, 0], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + xaxis: { + type: 'log', + autorange: true + }, + yaxis: { + type: 'log', + autorange: true + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-reversed.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-reversed.html new file mode 100644 index 00000000000..c1925f99037 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-reversed.html @@ -0,0 +1,17 @@ +--- +name: Reversed Axes +language: plotly_js +suite: axes +order: 4 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [1, 2], + y: [1, 2], + type: 'scatter' + } +]; +var layout = {xaxis: {autorange: 'reversed'}}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes-ticks.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes-ticks.html new file mode 100644 index 00000000000..3a0241c8ab7 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes-ticks.html @@ -0,0 +1,40 @@ +--- +name: Tick Placement, Color, and Style +language: plotly_js +suite: axes +order: 0 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [8, 7, 6, 5, 4, 3, 2, 1, 0], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + xaxis: { + tickmode: 'linear', + ticks: 'outside', + tick0: 0, + dtick: 0.25, + ticklen: 8, + tickwidth: 4, + tickcolor: '#000' + }, + yaxis: { + tickmode: 'linear', + ticks: 'outside', + tick0: 0, + dtick: 0.25, + ticklen: 8, + tickwidth: 4, + tickcolor: '#000' + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html b/content/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html new file mode 100644 index 00000000000..2b2c96adb86 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html @@ -0,0 +1,17 @@ +--- +description: How to adjust axes properties in D3.js-based javascript charts. Seven + examples of linear and logarithmic axes, axes titles, and styling and coloring axes + and grid lines. +display_as: file_settings +language: plotly_js +layout: base +name: Axes +order: 15 +page_type: u-guide +permalink: javascript/axes/ +redirect_from: javascript-graphing-library/axes/ +thumbnail: thumbnail/axes.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","axes" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/axes/2015-09-18-axes-categories.html b/content/plotly_js/fundamentals/axes/2015-09-18-axes-categories.html new file mode 100644 index 00000000000..1e6f1c56bcc --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-09-18-axes-categories.html @@ -0,0 +1,36 @@ +--- +name: Categorical Axes +language: plotly_js +suite: axes +order: 7 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: ['A12', 'BC2', 109, '12F', 215, 304], + y: [1, 6, 3, 5, 1, 4], + mode: 'markers', + type: 'bar', + name: 'Team A', + text: ['Apples', 'Pears', 'Peaches', 'Bananas', 'Pineapples', 'Cherries'], +}; + +var data = [ trace1 ]; + +var layout = { + xaxis: { + type: 'category', + title: { + text: 'Product Code' + } + }, + yaxis: { + range: [0, 7], + title: { + text: 'Number of Items in Stock' + } + }, + title: {text: 'Inventory'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2015-09-18-axes-dates.html b/content/plotly_js/fundamentals/axes/2015-09-18-axes-dates.html new file mode 100644 index 00000000000..56a08016e72 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2015-09-18-axes-dates.html @@ -0,0 +1,36 @@ +--- +name: Using Dates on the X-Axis +language: plotly_js +suite: axes +order: 8 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: ['2000-01-01', '2000-01-02', '2000-01-03', '2000-01-04', '2000-01-05', '2000-01-06', '2000-01-07', '2000-01-08', '2000-01-09', '2000-01-10', '2000-01-11', '2000-01-12', '2000-01-13', '2000-01-14', '2000-01-15', '2000-01-16', '2000-01-17', '2000-01-18', '2000-01-19', '2000-01-20', '2000-01-21', '2000-01-22', '2000-01-23', '2000-01-24', '2000-01-25', '2000-01-26', '2000-01-27', '2000-01-28', '2000-01-29', '2000-01-30', '2000-01-31'], + y: [4.3, 8.2, 4.1, 5.6, -3, -0.2, 0.3, 0.4, 4.1, 5, 4.6, -0.2, -8.5, -9.1, -2.7, -2.7, -17, -11.3, -5.5, -6.5, -16.9, -12, -6.1, -6.6, -7.9, -10.8, -14.8, -11, -4.4, -1.3, -1.1], + mode: 'lines', + type: 'scatter', + name: '2000' +}; + +var data = [ trace1 ]; + +var layout = { + xaxis: { + type: 'date', + title: { + text: 'January Weather' + } + }, + yaxis: { + title: { + text: 'Daily Mean Temperature' + } + }, + title: { + text: '2000 Toronto January Weather' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2016-03-05-axes-reversed-with-min-max.html b/content/plotly_js/fundamentals/axes/2016-03-05-axes-reversed-with-min-max.html new file mode 100644 index 00000000000..73601c47bf2 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2016-03-05-axes-reversed-with-min-max.html @@ -0,0 +1,25 @@ +--- +name: Reversed Axes with Range ( Min/Max ) Specified +language: plotly_js +suite: axes +order: 5 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + x: [0.0, 0.1, 0.2, 0.3, 0.4, 0.51, 0.61, 0.71, 0.81, 0.91, 1.01, 1.11, 1.21, 1.31, 1.41, 1.52, 1.62, 1.72, 1.82, 1.92, 2.02, 2.12, 2.22, 2.32, 2.42, 2.53, 2.63, 2.73, 2.83, 2.93, 3.03, 3.13, 3.23, 3.33, 3.43, 3.54, 3.64, 3.74, 3.84, 3.94, 4.04, 4.14, 4.24, 4.34, 4.44, 4.55, 4.65, 4.75, 4.85, 4.95, 5.05, 5.15, 5.25, 5.35, 5.45, 5.56, 5.66, 5.76, 5.86, 5.96, 6.06, 6.16, 6.26, 6.36, 6.46, 6.57, 6.67, 6.77, 6.87, 6.97, 7.07, 7.17, 7.27, 7.37, 7.47, 7.58, 7.68, 7.78, 7.88, 7.98, 8.08, 8.18, 8.28, 8.38, 8.48, 8.59, 8.69, 8.79, 8.89, 8.99, 9.09, 9.19, 9.29, 9.39, 9.49, 9.6, 9.7, 9.8, 9.9, 10.0], + y: [63, 65, 78, 92, 12, 50, 17, 31, 1, 25, 76, 66, 83, 38, 95, 23, 20, 88, 31, 26, 39, 74, 11, 84, 7, 13, 30, 85, 80, 47, 12, 89, 12, 35, 99, 78, 77, 56, 26, 13, 96, 55, 19, 88, 31, 1, 42, 39, 99, 62, 68, 61, 45, 44, 10, 25, 89, 82, 28, 2, 24, 1, 32, 16, 29, 40, 55, 75, 20, 41, 67, 33, 92, 14, 16, 22, 86, 55, 37, 42, 42, 85, 60, 11, 54, 3, 34, 29, 59, 28, 25, 67, 90, 10, 29, 16, 51, 17, 2, 34], + mode: "markers" + } +]; +var layout = { + title: { + text: "Reversed Axis with Min/Max" + }, + xaxis: { + range: [10, 0] + } +}; +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/axes/2016-05-05-enumerated-ticks-with-tickvals-and-ticktext.html b/content/plotly_js/fundamentals/axes/2016-05-05-enumerated-ticks-with-tickvals-and-ticktext.html new file mode 100644 index 00000000000..32020def0e2 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2016-05-05-enumerated-ticks-with-tickvals-and-ticktext.html @@ -0,0 +1,38 @@ +--- +name: Enumerated Ticks with Tickvals and Ticktext +language: plotly_js +suite: axes +order: 2 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/stockdata.csv', function(err, rows){ +function unpack(rows, key) { + return rows.map(function(row) + { return row[key]; });} + +var trace1 = { + x:unpack(rows, 'Date'), + y: unpack(rows, 'IBM'), + mode: 'markers', + marker: { + size: 7, + line: { + width: 0.5}, + opacity: 0.8}, + type: 'scatter' +}; + +var layout = { + title: { + text: 'IBM Stock Data: Jan 2007 - Mar 2016' + }, + xaxis: { + tickvals: ['2007-01-01', '2007-09-01', '2008-01-01', '2008-09-01', '2009-01-01', '2010-01-01', '2011-01-01', '2011-02-14', '2012-01-01', '2013-01-01', '2014-01-01', '2015-01-01', '2016-01-01'], + ticktext: ['2007', 'Financial Crisis Starts', '2008', 'Financial Crisis Ends', '2009', '2010', '2011', 'IBM wins Jeopardy!', '2012', '2013', '2014', '2015', '2016'] + } +}; + +var data = [trace1]; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/axes/2017-05-25-aspectratio.html b/content/plotly_js/fundamentals/axes/2017-05-25-aspectratio.html new file mode 100644 index 00000000000..72333aebd70 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2017-05-25-aspectratio.html @@ -0,0 +1,91 @@ +--- +name: Fixed-Ratio Axes +language: plotly_js +suite: axes +order: 9 +sitemap: false +arrangement: horizontal +--- + +var trace0 = { + x: [0,1,1,0,0,1,1,2,2,3,3,2,2,3], + y: [0,0,1,1,3,3,2,2,3,3,1,1,0,0] +} + +var trace1 = { + x: [0,1,2,3], + y: [1,2,4,8], + yaxis:"y2" +} + +var trace2 = { + x: [1,10,100,10,1], + y: [0,1,2,3,4], + xaxis: "x2", + yaxis:"y3", +} + +var trace3 = { + x: [1,100,30,80,1], + y: [1,1.5,2,2.5,3], + xaxis:"x2", + yaxis:"y4" +} + +var data = [trace0,trace1,trace2,trace3] + +var layout = { + width: 800, + height: 500, + title: { + text: "fixed-ratio axes" + }, + xaxis: { + nticks: 10, + domain: [0, 0.45], + title: { + text: "shared X axis" + } + }, + yaxis: { + scaleanchor: "x", + domain: [0, 0.45], + title: { + text: "1:1" + } + }, + yaxis2: { + scaleanchor: "x", + scaleratio: 0.2, + domain: [0.55, 1], + title: { + text: "1:5" + } + }, + xaxis2: { + type: "log", + domain: [0.55, 1], + anchor: "y3", + title: { + text: "unconstrained log X" + } + }, + yaxis3: { + domain: [0, 0.45], + anchor: "x2", + title: { + text: "Scale matches ->" + } + }, + yaxis4: { + scaleanchor: "y3", + domain: [0.55, 1], + anchor: "x2", + title: { + text: "Scale matches <-" + } + }, + showlegend: false +} + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/fundamentals/axes/2017-10-03-axes-multi-categories.html b/content/plotly_js/fundamentals/axes/2017-10-03-axes-multi-categories.html new file mode 100644 index 00000000000..d894d728219 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2017-10-03-axes-multi-categories.html @@ -0,0 +1,42 @@ +--- +name: Multi-Category Axes +language: plotly_js +suite: axes +order: 7.4 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [ + ['SF Zoo','SF Zoo','SF Zoo'], + ['giraffes', 'orangutans', 'monkeys'] + ], + y: [20, 14, 23], + name: 'SF Zoo', + type: 'bar' +}; + +var trace2 = { + x: [ + ['LA Zoo','LA Zoo','LA Zoo'], + ['giraffes', 'orangutans', 'monkeys'] + ], + y: [12, 18, 29], + name: 'LA Zoo', + type: 'bar' +}; + +var data = [trace1, trace2]; +var layout = { + showlegend: false, + xaxis: { + tickson: "boundaries", + ticklen: 15, + showdividers: true, + dividercolor: 'grey', + dividerwidth: 2 + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2019-11-04-title_standoff.html b/content/plotly_js/fundamentals/axes/2019-11-04-title_standoff.html new file mode 100644 index 00000000000..7670557034f --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2019-11-04-title_standoff.html @@ -0,0 +1,36 @@ +--- +name: Set Axis Title Position +language: plotly_js +suite: axes +order: 3.5 +sitemap: false +arrangement: horizontal +markdown_content: | + This example sets `standoff` attribute to cartesian axes to determine the distance between the tick labels and the axis title. + Note that the axis title position is always constrained within the margins, so the actual standoff distance is always less than the set or default value. + By setting standoff and turning [automargin](https://plotly.com/javascript/setting-graph-size/#automatically-adjust-margins) on, plotly.js will push the margins to fit the axis title at given standoff distance. +--- +var data = [{ + mode: "lines+markers", + x:["December", "January", "February"], + y:[4,1,3] + }] + + var layout = { + margin: {t:0,r:0,b:0,l:20}, + xaxis: { + automargin: true, + tickangle: 90, + title: { + text: "Month", + standoff: 20 + }}, + yaxis: { + automargin: true, + tickangle: 90, + title: { + text: "Temperature", + standoff: 40 + }}} + +Plotly.newPlot('myDiv', data, layout) \ No newline at end of file diff --git a/content/plotly_js/fundamentals/axes/2023-03-15-axes-label-aliases.html b/content/plotly_js/fundamentals/axes/2023-03-15-axes-label-aliases.html new file mode 100644 index 00000000000..1487550d7ee --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2023-03-15-axes-label-aliases.html @@ -0,0 +1,29 @@ +--- +name: Specifying Label Aliases +language: plotly_js +suite: axes +order: 10 +sitemap: false +arrangement: horizontal +markdown_content: | + This example uses `labelalias` to update the text displayed for the x-axis values. +--- +var trace1 = { + x: ['UK', 'US', 'Germany', 'France'], + y: [8, 3, 10, 3], + type: 'bar', +}; + +var data = [trace1]; + +var layout = { +xaxis: { + labelalias: { + UK: '🇬🇧 United Kingdom', + US: '🇺🇸 United States', + Germany: '🇩🇪 Germany', + France: '🇫🇷 France'} + }, +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/axes/2024-01-18-b64-arrays.html b/content/plotly_js/fundamentals/axes/2024-01-18-b64-arrays.html new file mode 100644 index 00000000000..2357720a2d1 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2024-01-18-b64-arrays.html @@ -0,0 +1,34 @@ +--- +name: Use Base64-Encoded Typed Arrays +language: plotly_js +suite: axes +order: 11 +sitemap: false +arrangement: horizontal +markdown_content: | + Plotly.js 2.28.0 and later supports using base64-encoded typed arrays. To use a base64-encoded typed array, pass an object with the keys `bdata` (a base64-encoded string or the ArrayBuffer of an integer or float typed array) and `dtype` (the data type of the array, where the supported types are `float64`, `float32`, `int32`, `uint32`, `int16`, `uint16`, `int8`, `uint8`, and `uint8c`). You can also specify `shape` for multidimensional arrays. For example, `'4,10'` would be a 2D array with 4 rows and 10 columns. +--- +var x = 'VVVVVVVV1b8AAAAAAAAAAFVVVVVVVdU/' +var y = 'q6qqPquqqr4=' +var z = 'AABkAMgALAGQAfQB' + +var trace1 = { + x: { + bdata: x, + dtype: 'f8' + }, + y: { + bdata: y, + dtype: 'f4' + }, + z: { + bdata: z, + dtype: 'u2', + shape: '2,3' + }, + type: 'surface' +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/axes/2025-06-29-zeroline.html b/content/plotly_js/fundamentals/axes/2025-06-29-zeroline.html new file mode 100644 index 00000000000..3c7d8a25072 --- /dev/null +++ b/content/plotly_js/fundamentals/axes/2025-06-29-zeroline.html @@ -0,0 +1,30 @@ +--- +name: Zero Line Layer +language: plotly_js +suite: axes +order: 12 +sitemap: false +arrangement: horizontal +markdown_content: | + *New in 3.1* + + By default, zero lines are displayed below traces. Set `zerolinelayer="above traces"` on an axis to display its zero line above traces. +--- +var trace1 = { + x: ['A', 'B', 'C', 'D', 'A'], + y: [2, 0, 4, -3, 2], + fill: 'toself', + mode: 'none', + fillcolor: 'lightpink', + type: 'scatter' +}; + +var data = [trace1]; + +var layout = { + yaxis: { + zerolinelayer: "above traces" // Change to "below traces" to see the difference + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Blackbody-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Blackbody-heatmap.html new file mode 100644 index 00000000000..793cf150233 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Blackbody-heatmap.html @@ -0,0 +1,22 @@ +--- +name: Blackbody Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Blackbody', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'Blackbody' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Bluered-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Bluered-heatmap.html new file mode 100644 index 00000000000..e754a1eca40 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Bluered-heatmap.html @@ -0,0 +1,16 @@ +--- +name: Bluered Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Bluered', + type: 'heatmap' +}]; +Plotly.newPlot('myDiv', data); + }); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Earth-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Earth-heatmap.html new file mode 100644 index 00000000000..424fd581878 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Earth-heatmap.html @@ -0,0 +1,17 @@ +--- +name: Earth Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- + +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Earth', + type: 'heatmap' +}]; +Plotly.newPlot('myDiv', data); + }); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Electric-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Electric-heatmap.html new file mode 100644 index 00000000000..5a316c6ae31 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Electric-heatmap.html @@ -0,0 +1,16 @@ +--- +name: Electric Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Electric', + type: 'heatmap' +}]; +Plotly.newPlot('myDiv', data); + }); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Greens-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Greens-heatmap.html new file mode 100644 index 00000000000..b5ff8f2f913 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Greens-heatmap.html @@ -0,0 +1,22 @@ +--- +name: Greens Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Greens', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'Greens' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Greys-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Greys-heatmap.html new file mode 100644 index 00000000000..4470c4bc2d6 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Greys-heatmap.html @@ -0,0 +1,22 @@ +--- +name: Greys Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Greys', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'Greys' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Hot-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Hot-heatmap.html new file mode 100644 index 00000000000..671a98ee711 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Hot-heatmap.html @@ -0,0 +1,17 @@ +--- +name: Hot Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- + +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Hot', + type: 'heatmap' +}]; +Plotly.newPlot('myDiv', data); + }); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Jet-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Jet-heatmap.html new file mode 100644 index 00000000000..f5cf906376a --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Jet-heatmap.html @@ -0,0 +1,23 @@ +--- +name: Jet Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- + +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Jet', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'Jet' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Picnic-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Picnic-heatmap.html new file mode 100644 index 00000000000..e4721eafc31 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Picnic-heatmap.html @@ -0,0 +1,22 @@ +--- +name: Picnic Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Picnic', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'Picnic' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-Portland-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-Portland-heatmap.html new file mode 100644 index 00000000000..f402d7a600a --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-Portland-heatmap.html @@ -0,0 +1,23 @@ +--- +name: Portland Heatmap +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- + +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'Portland', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'Portland' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-RdBu-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-RdBu-heatmap.html new file mode 100644 index 00000000000..6fd7583f0a2 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-RdBu-heatmap.html @@ -0,0 +1,23 @@ +--- +name: RdBu Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- + +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'RdBu', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'RdBu' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-YIGnBu-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-YIGnBu-heatmap.html new file mode 100644 index 00000000000..7f720e6e1ab --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-YIGnBu-heatmap.html @@ -0,0 +1,22 @@ +--- +name: YlGnBu Colorscale +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'YlGnBu', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'YlGnBu' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-YIOrRd-heatmap.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-YIOrRd-heatmap.html new file mode 100644 index 00000000000..ba580ee85c9 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-YIOrRd-heatmap.html @@ -0,0 +1,23 @@ +--- +name: YlOrRd Heatmap +language: plotly_js +suite: colorscales +order: 16 +sitemap: false +arrangement: horizontal +--- + +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: 'YlOrRd', + type: 'heatmap' + } +]; +var layout = { + title: { + text: 'YlOrRd' + } +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/fundamentals/colorscales/2015-04-09-custom-colorscale.html b/content/plotly_js/fundamentals/colorscales/2015-04-09-custom-colorscale.html new file mode 100644 index 00000000000..ef7920aa280 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-04-09-custom-colorscale.html @@ -0,0 +1,27 @@ +--- +name: Custom Colorscale +language: plotly_js +suite: colorscales +order: 3 +sitemap: false +arrangement: horizontal +--- +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/custom_heatmap_colorscale.json', function(figure) { +var data = [{ + z: figure.z, + colorscale: [ + ['0.0', 'rgb(165,0,38)'], + ['0.111111111111', 'rgb(215,48,39)'], + ['0.222222222222', 'rgb(244,109,67)'], + ['0.333333333333', 'rgb(253,174,97)'], + ['0.444444444444', 'rgb(254,224,144)'], + ['0.555555555556', 'rgb(224,243,248)'], + ['0.666666666667', 'rgb(171,217,233)'], + ['0.777777777778', 'rgb(116,173,209)'], + ['0.888888888889', 'rgb(69,117,180)'], + ['1.0', 'rgb(49,54,149)'] + ], + type: 'heatmap' +}]; +Plotly.newPlot('myDiv', data); + }); diff --git a/content/plotly_js/fundamentals/colorscales/2015-08-10-colorscale-for-contour-plot.html b/content/plotly_js/fundamentals/colorscales/2015-08-10-colorscale-for-contour-plot.html new file mode 100644 index 00000000000..7dce3955707 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-08-10-colorscale-for-contour-plot.html @@ -0,0 +1,27 @@ +--- +name: Colorscale for Contour Plot +language: plotly_js +suite: colorscales +order: 20 +sitemap: false +arrangement: horizontal +--- + +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorscale: 'Jet' +} +]; + +var layout = { + title: { + text: 'Colorscale for Contour Plot' + } +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/colorscales/2015-08-10-custom-colorscale-for-contour-plot.html b/content/plotly_js/fundamentals/colorscales/2015-08-10-custom-colorscale-for-contour-plot.html new file mode 100644 index 00000000000..ade05d99c7c --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-08-10-custom-colorscale-for-contour-plot.html @@ -0,0 +1,26 @@ +--- +name: Custom Colorscale for Contour Plot +language: plotly_js +suite: colorscales +order: 21 +sitemap: false +arrangement: horizontal +--- +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorscale: [[0, 'rgb(166,206,227)'], [0.25, 'rgb(31,120,180)'], [0.45, 'rgb(178,223,138)'], [0.65, 'rgb(51,160,44)'], [0.85, 'rgb(251,154,153)'], [1, 'rgb(227,26,28)']] +} +]; + +var layout = { + title: { + text: 'Custom Contour Plot Colorscale' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/colorscales/2015-08-10-discretized-heatmap-colorscale.html b/content/plotly_js/fundamentals/colorscales/2015-08-10-discretized-heatmap-colorscale.html new file mode 100644 index 00000000000..183fcfc4577 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2015-08-10-discretized-heatmap-colorscale.html @@ -0,0 +1,68 @@ +--- +name: Custom Discretized Heatmap Colorscale +language: plotly_js +suite: colorscales +order: 22 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + z: [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], + colorscale: [ + +// Let first 10% (0.1) of the values have color rgb(0, 0, 0) + + [0, 'rgb(0, 0, 0)'], + [0.1, 'rgb(0, 0, 0)'], + +// Let values between 10-20% of the min and max of z +// have color rgb(20, 20, 20) + + [0.1, 'rgb(20, 20, 20)'], + [0.2, 'rgb(20, 20, 20)'], + +// Values between 20-30% of the min and max of z +//have color rgb(40, 40, 40) + + [0.2, 'rgb(40, 40, 40)'], + [0.3, 'rgb(40, 40, 40)'], + + [0.3, 'rgb(60, 60, 60)'], + [0.4, 'rgb(60, 60, 60)'], + + [0.4, 'rgb(80, 80, 80)'], + [0.5, 'rgb(80, 80, 80)'], + + [0.5, 'rgb(100, 100, 100)'], + [0.6, 'rgb(100, 100, 100)'], + + [0.6, 'rgb(120, 120, 120)'], + [0.7, 'rgb(120, 120, 120)'], + + [0.7, 'rgb(140, 140, 140)'], + [0.8, 'rgb(140, 140, 140)'], + + [0.8, 'rgb(160, 160, 160)'], + [0.9, 'rgb(160, 160, 160)'], + + [0.9, 'rgb(180, 180, 180)'], + [1.0, 'rgb(180, 180, 180)'] + ], + type: 'heatmap', + colorbar:{ + tickmode: 'linear', + tick0: 0, + dtick: 1 + } + } +]; + +var layout = { + title: { + text: 'CUSTOM DISCRETIZED HEATMAP COLORSCALE' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html b/content/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html new file mode 100644 index 00000000000..8d026dfe310 --- /dev/null +++ b/content/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html @@ -0,0 +1,16 @@ +--- +description: How to set colorscales and heatmap colorscales in D3.js-based JavaScript + charts in Plotly.js. Divergent, sequential, and qualitative colorscales. +display_as: file_settings +language: plotly_js +layout: base +name: Colorscales +order: 6 +page_type: u-guide +permalink: javascript/colorscales/ +redirect_from: javascript-graphing-library/heatmap-and-contour-colorscales/ +thumbnail: thumbnail/heatmap_colorscale.jpg +--- + +{% assign examples = site.posts | where:'language','plotly_js' | where:'suite','colorscales' | sort: 'order' %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/colorway/2018-10-03-colorway.html b/content/plotly_js/fundamentals/colorway/2018-10-03-colorway.html new file mode 100644 index 00000000000..506f5b94e80 --- /dev/null +++ b/content/plotly_js/fundamentals/colorway/2018-10-03-colorway.html @@ -0,0 +1,34 @@ +--- +name: Set Default Trace Colors with colorway +language: plotly_js +suite: colorway +order: 1 +sitemap: false +arrangement: horizontal +--- +function linspace(a,b,n) { + return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);}); +} + +const parabolaGen = (a, b) => + x => x*x*a + b; + +var as = linspace(1, 3, 7); +var bs = linspace(2, 14, 7); +var x = linspace(-1, 3, 50); +var data = []; + +for (i=0; i< as.length; i++ ){ + data.push({ + type: "scatter", + mode: "lines", + x: x, + y: x.map(parabolaGen(as[i],bs[i])) + }) +} + +var layout = { + colorway : ['#f3cec9', '#e7a4b6', '#cd7eaf', '#a262a9', '#6f4d96', '#3d3b72', '#182844'] +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html b/content/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html new file mode 100644 index 00000000000..f2fe2bceffb --- /dev/null +++ b/content/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html @@ -0,0 +1,14 @@ +--- +description: How to use colorway to set default trace colors in JavaScript with Plotly. +display_as: file_settings +language: plotly_js +layout: base +name: Colorway +order: 7 +page_type: u-guide +permalink: javascript/colorway/ +thumbnail: thumbnail/colorway.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","colorway" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-locale.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-locale.html new file mode 100644 index 00000000000..d6eb1ace4dd --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-locale.html @@ -0,0 +1,40 @@ +--- +name: Change the Default Locale +language: plotly_js +suite: configuration +order: 7.5 +sitemap: false +arrangement: horizontal +markdown_content: | + Load and register a non-default locale by adding `` + to your HTML after the plotly.js tag and then reference the locale in the `config`. For Example, the codepen example below has + `` in its HTML. For more information and a list of available locales, see + [https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization](https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization) +--- +var trace1 = { + type: "scatter", + mode: "lines", + x: ['2018-01-01', '2018-08-31'], + y: [10, 5], + line: {color: '#17BECF'} +}; + +var trace2 = { + type: "scatter", + mode: "lines", + x: ['2018-01-01', '2018-08-31'], + y: [3,7], + line: {color: '#7F7F7F'} +}; + +var data = [trace1,trace2]; + +var layout = { + title: { + text: 'Custom Locale' + } +}; + +var config = {locale: 'fr'}; + +Plotly.newPlot('myDiv', data, layout, config); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-displaylogo.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-displaylogo.html new file mode 100644 index 00000000000..c725877df12 --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-displaylogo.html @@ -0,0 +1,25 @@ +--- +name: Hide the Plotly Logo on the Modebar +language: plotly_js +suite: configuration +order: 8 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x:['trees', 'flowers', 'hedges'], + y: [90, 130, 40], + type: 'bar' +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Hide the Plotly Logo on the Modebar' + }, + showlegend: false +}; + +Plotly.newPlot('myDiv', data, layout, {displaylogo: false}); diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-hide-modebar.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-hide-modebar.html new file mode 100644 index 00000000000..5fdc97667e2 --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-hide-modebar.html @@ -0,0 +1,36 @@ +--- +name: Never Display The Modebar +language: plotly_js +suite: configuration +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + When users hover over a figure generated with `plotly.js`, a `modebar` appears in the top-right of the figure. This presents users with several options for interacting with the figure. + + By default, the `modebar` is only visible while the user is hovering over the chart. If you would like the `modebar` to never be visible, then set the `displayModeBar` attribute in the `config` of your figure to `false`. +--- +var trace1 = { + x:['Zebras', 'Lions', 'Pelicans'], + y: [90, 40, 60], + type: 'bar', + name: 'New York Zoo' +}; + +var trace2 = { + x:['Zebras', 'Lions', 'Pelicans'], + y: [10, 80, 45], + type: 'bar', + name: 'San Francisco Zoo' +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Hide the Modebar' + }, + showlegend: true +}; + +Plotly.newPlot('myDiv', data, layout, {displayModeBar: false}); diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-link-text.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-link-text.html new file mode 100644 index 00000000000..e3f409e76c5 --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-link-text.html @@ -0,0 +1,27 @@ +--- +name: Customize The `Edit Chart` Link Text +language: plotly_js +suite: configuration +order: 7 +sitemap: false +arrangement: horizontal +--- +var data = [{ + z: [[0, 1, 2, 3, 4, 5, 6], + [1, 9, 4, 7, 5, 2, 4], + [2, 4, 2, 1, 6, 9, 3]], + type: 'heatmap'}] + +var layout = { + title: { + text: 'Customize The Edit Chart Link Text' + } +}; + +var config = { + showLink: true, + plotlyServerURL: "https://chart-studio.plotly.com", + linkText: 'This text is custom!' +}; + +Plotly.newPlot('myDiv', data, layout, config) diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-scrollzoom.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-scrollzoom.html new file mode 100644 index 00000000000..6833d22484a --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-scrollzoom.html @@ -0,0 +1,26 @@ +--- +name: Scroll and Zoom +language: plotly_js +suite: configuration +order: 1 +sitemap: false +arrangement: horizontal +--- +// mousewheel or two-finger scroll zooms the plot + +var trace1 = { + x:['2020-10-04', '2021-11-04', '2023-12-04'], + y: [90, 40, 60], + type: 'scatter' +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Scroll and Zoom' + }, + showlegend: false +}; + +Plotly.newPlot('myDiv', data, layout, {scrollZoom: true}); diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-showlink.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-showlink.html new file mode 100644 index 00000000000..b75ab5859c4 --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-showlink.html @@ -0,0 +1,32 @@ +--- +name: Display the `Edit Chart` Link +language: plotly_js +suite: configuration +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + Note: showLink now defaults to false. +--- + +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6], + y: [1, 9, 4, 7, 5, 2, 4], + mode: 'lines+markers', + type: 'scatter' +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Display the Edit Chart Link' + } +}; + +var config = { + showLink: true, + plotlyServerURL: "https://chart-studio.plotly.com" +}; + +Plotly.newPlot('myDiv', data, layout, config); diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-static-plot.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-static-plot.html new file mode 100644 index 00000000000..b47fe67fdab --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-static-plot.html @@ -0,0 +1,27 @@ +--- +name: Making a Static Chart +language: plotly_js +suite: configuration +order: 3 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6], + y: [1, 9, 4, 7, 5, 2, 4], + mode: 'markers', + marker: { + size: [20, 40, 25, 10, 60, 90, 30], + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Create a Static Chart' + }, + showlegend: false +}; + +Plotly.newPlot('myDiv', data, layout, {staticPlot: true}); diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-toImageButtonOptions.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-toImageButtonOptions.html new file mode 100644 index 00000000000..688279133e9 --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-opt-toImageButtonOptions.html @@ -0,0 +1,37 @@ +--- +name: Customize Download Plot Options +language: plotly_js +suite: configuration +order: 3.1 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6], + y: [1, 9, 4, 7, 5, 2, 4], + mode: 'markers', + marker: { + size: [20, 40, 25, 10, 60, 90, 30], + } +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Download Chart as SVG instead of PNG' + }, + showlegend: false +}; + +var config = { + toImageButtonOptions: { + format: 'svg', // one of png, svg, jpeg, webp + filename: 'custom_image', + height: 500, + width: 700, + scale: 1 // Multiply title/legend/axis/canvas sizes by this factor + } +}; + +Plotly.newPlot('myDiv', data, layout, config); diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config-showSendToCloud.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config-showSendToCloud.html new file mode 100644 index 00000000000..0a906c6263d --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config-showSendToCloud.html @@ -0,0 +1,26 @@ +--- +name: Display Edit in Chart Studio Modebar Button +language: plotly_js +suite: configuration +order: 7.1 +sitemap: false +arrangement: horizontal +--- +var data = [{ + values: [19, 26, 55], + labels: ['Residential', 'Non-Residential', 'Utility'], + type: 'pie' +}]; + +var layout = { + title: { + text: 'Show Edit in Chart Studio Modebar Button' + } +}; + +var config = { + showEditInChartStudio: true, + plotlyServerURL: "https://chart-studio.plotly.com" +}; + +Plotly.newPlot('myDiv', data, layout, config); diff --git a/content/plotly_js/fundamentals/config-options/2015-09-24-config_options_index.html b/content/plotly_js/fundamentals/config-options/2015-09-24-config_options_index.html new file mode 100644 index 00000000000..ecd0697852c --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2015-09-24-config_options_index.html @@ -0,0 +1,26 @@ +--- +description: How to set the configuration options for figures in JavaScript. +display_as: file_settings +language: plotly_js +layout: base +name: Configuration Options +order: 1 +page_type: example_index +permalink: javascript/configuration-options/ +thumbnail: thumbnail/modebar-icons.png +--- + + + +The plotly.js config argument sets properties like the mode bar buttons and the interactivity in the chart. +It's the last argument in Plotly.newPlot calls. +
+ +View the full list of configuration options in the + +plotly.js source code on GitHub +. +
+ +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","configuration" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/config-options/2017-03-01-edit_mode.html b/content/plotly_js/fundamentals/config-options/2017-03-01-edit_mode.html new file mode 100644 index 00000000000..c8d26d366ae --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2017-03-01-edit_mode.html @@ -0,0 +1,32 @@ +--- +name: Editable Mode +language: plotly_js +suite: configuration +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + In editable mode, users can edit the chart title, axis labels and trace names in the legend. +--- +var trace1 = { + x: [0, 1, 2, 3, 4], + y: [1, 5, 3, 7, 5], + mode: 'lines+markers', + type: 'scatter' +}; + +var trace2 = { + x: [1, 2, 3, 4, 5], + y: [4, 0, 4, 6, 8], + mode: 'lines+markers', + type: 'scatter' +}; + +var data = [trace1, trace2]; +var layout = { + title: { + text: 'Click Here
to Edit Chart Title' + } +}; + +Plotly.newPlot('myDiv', data, layout, {editable: true}); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/config-options/2018-09-12-config-opt-responsive.html b/content/plotly_js/fundamentals/config-options/2018-09-12-config-opt-responsive.html new file mode 100644 index 00000000000..a5df6f726ee --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2018-09-12-config-opt-responsive.html @@ -0,0 +1,30 @@ +--- +name: Making a Responsive Chart +language: plotly_js +suite: configuration +order: 10 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + type: 'bar', + x: [1, 2, 3, 4], + y: [5, 10, 2, 8], + marker: { + color: '#C8A2C8', + line: { + width: 2.5 + } + } +}; + +var data = [ trace1 ]; + +var layout = { + title: { + text: 'Responsive to window size!' + }, + font: {size: 18} +}; + +Plotly.newPlot('myDiv', data, layout, {responsive: true}); diff --git a/content/plotly_js/fundamentals/config-options/2019-10-24-double-click-delay.html b/content/plotly_js/fundamentals/config-options/2019-10-24-double-click-delay.html new file mode 100644 index 00000000000..29c457dae4c --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2019-10-24-double-click-delay.html @@ -0,0 +1,22 @@ +--- +name: Double Click Delay +language: plotly_js +suite: configuration +order: 11 +sitemap: false +arrangement: horizontal +markdown_content: | + Sets the maximum delay between two consecutive clicks to be interpreted as a double-click in ms. This is the time interval between first mousedown, and' second mouseup. The default timing is 300 ms (less than half a second). + This setting propagates to all on-subplot double clicks, (except for geo, map, and mapbox). +--- +var data = [{ + type: "bar", + y: [3, 5, 3, 2], + x: ["2019-09-02", "2019-10-10", "2019-11-12", "2019-12-22"] +}]; + +var layout = {xaxis: {type: 'date'}}; + +var config = {doubleClickDelay: 1000} + +Plotly.newPlot("myDiv", data, layout, config) diff --git a/content/plotly_js/fundamentals/config-options/2020-01-24-add-button-to-modebar.html b/content/plotly_js/fundamentals/config-options/2020-01-24-add-button-to-modebar.html new file mode 100644 index 00000000000..9edc5c1e449 --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2020-01-24-add-button-to-modebar.html @@ -0,0 +1,48 @@ +--- +name: Add Buttons to ModeBar +language: plotly_js +suite: configuration +order: 5.7 +sitemap: false +arrangement: horizontal +markdown_content: | + The following example shows how to add a button to your modebar, either by using one of the [Plotly icons](https://github.com/plotly/plotly.js/blob/master/src/fonts/ploticon.js) or an [arbitrary icon](https://fontawesome.com/icons?d=gallery&m=free) with a custom behaviour. +--- +var icon1 = { + 'width': 500, + 'height': 600, + 'path': 'M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z' +} + +var colors = ['green', 'red', 'blue'] +var data = [{ + mode: 'lines', + y: [2, 1, 2], + line: {color: colors[0], width: 3, shape: 'spline'} +}] + +var layout = { + title: { + text: 'add mode bar button with custom icon' + } +} + +var config = { + displayModeBar: true, + modeBarButtonsToAdd: [ + { + name: 'color toggler', + icon: icon1, + click: function(gd) { + var newColor = colors[Math.floor(3 * Math.random())] + Plotly.restyle(gd, 'line.color', newColor) + }}, + { + name: 'button1', + icon: Plotly.Icons.pencil, + direction: 'up', + click: function(gd) {alert('button1') + }}], + modeBarButtonsToRemove: ['pan2d','select2d','lasso2d','resetScale2d','zoomOut2d']} + +Plotly.newPlot('myDiv', data, layout, config) \ No newline at end of file diff --git a/content/plotly_js/fundamentals/config-options/2020-01-24-display-modebar.html b/content/plotly_js/fundamentals/config-options/2020-01-24-display-modebar.html new file mode 100644 index 00000000000..b4371353635 --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2020-01-24-display-modebar.html @@ -0,0 +1,26 @@ +--- +name: Force The Modebar to Always Be Visible +language: plotly_js +suite: configuration +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + When users hover over a figure generated with `plotly.js`, a `modebar` appears in the top-right of the figure. This presents users with several options for interacting with the figure. + + By default, the `modebar` is only visible while the user is hovering over the chart. If you would like the `modebar` to always be visible regardless of whether or not the user is currently hovering over the figure, set the `displayModeBar` attribute in the `config` of your figure to `true`. +--- +var data = [{ + y:['Marc', 'Henrietta', 'Jean', 'Claude', 'Jeffrey', 'Jonathan', 'Jennifer', 'Zacharias'], + x: [90, 40, 60, 80, 75, 92, 87, 73], + type: 'bar', + orientation: 'h'}] + +var layout = { + title: { + text: 'Always Display the Modebar' + }, + showlegend: false +} + +Plotly.newPlot('myDiv', data, layout, {displayModeBar: true}) diff --git a/content/plotly_js/fundamentals/config-options/2020-01-24-remove-modebarButtons.html b/content/plotly_js/fundamentals/config-options/2020-01-24-remove-modebarButtons.html new file mode 100644 index 00000000000..75190eedb0f --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2020-01-24-remove-modebarButtons.html @@ -0,0 +1,30 @@ +--- +name: Remove ModeBar Buttons +language: plotly_js +suite: configuration +order: 5.5 +sitemap: false +arrangement: horizontal +markdown_content: | + To delete buttons from the modebar, pass an array of strings containing the names of the buttons you want to remove to the `modeBarButtonsToRemove` attribute in the figure's configuration object. Note that different chart types have different default modebars. The following is a list of all the modebar buttons and the chart types they are associated with: + +--- +var data = [{ + x:['trees', 'flowers', 'hedges'], + y: [90, 130, 40], + type: 'bar'}] + +var layout = { + title: { + text: 'Remove Modebar Buttons' + }, + showlegend: false +} + +Plotly.newPlot('myDiv', data, layout, {modeBarButtonsToRemove: ['toImage']}) \ No newline at end of file diff --git a/content/plotly_js/fundamentals/config-options/2025-07-29-button-disable-axis.html b/content/plotly_js/fundamentals/config-options/2025-07-29-button-disable-axis.html new file mode 100644 index 00000000000..185c2fae7ab --- /dev/null +++ b/content/plotly_js/fundamentals/config-options/2025-07-29-button-disable-axis.html @@ -0,0 +1,34 @@ +--- +name: Disabling Buttons for Specific Axes +language: plotly_js +suite: configuration +order: 5.8 +sitemap: false +arrangement: horizontal +markdown_content: | + *New in 3.1* + + Disabling the zoom in, zoom out, and autoscale buttons for specific axes is supported on cartesian axes using the `modebardisable` attribute. In the following example, the zoom in and zoom out buttons are disabled on the `xaxis`, meaning these buttons only zoom in and out on the `yaxis`. Disable the autoscale button using `modebardisable='autoscale'`. You can also disable both autoscaling and zoom buttons using `modebardisable='zoominout+autoscale'`. +--- +var data = [{ + type: "scatter", + mode: "lines+markers", + x: ["2023-01-01", "2023-02-01", "2023-03-01", "2023-04-01", "2023-05-01", "2023-06-01"], + y: [150, 160, 155, 170, 165, 180], + name: "Google Stock Price" +}]; + +var layout = { + title: "Google Stock Price Over Time with Mode Bar Disabled", + xaxis: { + title: "Date", + type: "date", + // Try zooming in or out using the modebar buttons. These only apply to the yaxis in this example. + modebardisable: "zoominout" + }, + yaxis: { + title: "Stock Price (USD)" + } +}; + +Plotly.newPlot("myDiv", data, layout); diff --git a/content/plotly_js/fundamentals/eula/2015-07-11-eula.html b/content/plotly_js/fundamentals/eula/2015-07-11-eula.html new file mode 100644 index 00000000000..ba7def0d395 --- /dev/null +++ b/content/plotly_js/fundamentals/eula/2015-07-11-eula.html @@ -0,0 +1,45 @@ +--- +name: Plotly.js +permalink: javascript/eula/ +description: End User License Agreement for Plotly.js and other Plotly products +layout: langindex +language: plotly_js +sitemap: false +redirect_from: javascript-graphing-library/eula/ +--- +

Plotly EULA

+
+ +

+ Please read the full Plotly.js End User License Agreement before using, downloading, or purchasing the software. +

+ +
Free use of  "Basic Charts"
+
    +
  • The Plotly.js Basic Charts module is free for unlimited use if all links and references to Plotly remain visible and unmodified.
  • +
  • All Restricted and Permitted Uses below and the full EULA apply.
  • +
+ +
Permitted Uses
+
    +
  • Plotly.js can be used with an unlimited number of SaaS projects, web applications, intranets, and websites.
  • +
  • Each person who directly or indirectly creates an application or user interface containing Plotly.js is considered a developer.
  • +
  • Source editing is allowed
  • +
+ +
Restricted Uses
+
    +
  • Plotly.js distribution with your desktop software or hardware requires an OEM license. Please contact sales@plot.ly
  • +
  • Plotly.js use with IPython notebook, RStudio, MATLAB, or another desktop analytics IDE requires a Plotly Desktop license.
  • +
  • Plotly.js integration with Spotfire, Cognos, Qlikview, or Tableau products requires an additional support plan and license for viewers. Please contact sales@plot.ly
  • +
+
+ +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","Plotly.js" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} + + diff --git a/content/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html b/content/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html new file mode 100644 index 00000000000..f617762096a --- /dev/null +++ b/content/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to edit and style the font of D3.js-based graphs in javascript. +display_as: file_settings +layout: base +name: Text and Font Styling +order: 8 +page_type: u-guide +permalink: javascript/font/ +redirect_from: javascript-graphing-library/font/ +thumbnail: thumbnail/hover-text.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","font" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/font/2015-04-09-global-font.html b/content/plotly_js/fundamentals/font/2015-04-09-global-font.html new file mode 100644 index 00000000000..57233991e50 --- /dev/null +++ b/content/plotly_js/fundamentals/font/2015-04-09-global-font.html @@ -0,0 +1,26 @@ +--- +name: Global Font Properties +language: plotly_js +suite: font +order: 0 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' + } +]; +var layout = { + title: { + text: 'Global Font' + }, + font: { + family: 'Courier New, monospace', + size: 18, + color: '#7f7f7f' + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend.html b/content/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend.html new file mode 100644 index 00000000000..fa5a3deeeb2 --- /dev/null +++ b/content/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend.html @@ -0,0 +1,34 @@ +--- +name: Basic Example +arrangement: horizontal +language: plotly_js +suite: horizontal_legend +order: 1 +sitemap: false +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 3, 6, 4, 5, 2, 3, 5, 4], + type: 'scatter', + name:'Plot 1' + }; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 4, 7, 8, 3, 6, 3, 3, 4], + type: 'scatter', + name:'Plot 2' + }; +var trace3 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 5, 3, 10, 5.33, 2.24, 4.4, 5.1, 7.2], + type: 'scatter', + name:'Plot 3' + }; + +var data = [trace1, trace2, trace3]; +var layout = { + showlegend: true, + legend: {"orientation": "h"} + }; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html b/content/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html new file mode 100644 index 00000000000..3cfb8760c76 --- /dev/null +++ b/content/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make a D3.js-based horizontal legend plot in JavaScript. +display_as: file_settings +language: plotly_js +layout: base +name: Horizontal Legends +order: 16 +page_type: u-guide +permalink: javascript/horizontal-legend/ +redirect_from: javascript-graphing-library/horizontal-legends/ +thumbnail: thumbnail/images.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","horizontal_legend" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/hover/2015-04-09-hover-chart-basic.html b/content/plotly_js/fundamentals/hover/2015-04-09-hover-chart-basic.html new file mode 100644 index 00000000000..a54adfc7fc1 --- /dev/null +++ b/content/plotly_js/fundamentals/hover/2015-04-09-hover-chart-basic.html @@ -0,0 +1,24 @@ +--- +name: Adding Hover Text to Data in Line and Scatter Plots +language: plotly_js +suite: hover +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [0, .5, 1, 1.5, 2], + y: [1, 3, 2, 4, 2], + mode: 'markers', + marker: {size:16}, + text: ['Text A', 'Text B', 'Text C', 'Text D', 'Text E'], + type: 'scatter' + } +]; +var layout = { + title: { + text: 'Hover over the points to see the text' + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html b/content/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html new file mode 100644 index 00000000000..6cf94337c4d --- /dev/null +++ b/content/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to add hover text and format hover values in D3.js-based javascript + charts. +display_as: file_settings +language: plotly_js +layout: base +name: Hover Text and Formatting +order: 17 +page_type: u-guide +permalink: javascript/hover-text-and-formatting/ +redirect_from: javascript-graphing-library/hover-text-and-formatting/ +thumbnail: thumbnail/hover-text.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","hover" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/hover/2015-10-08-rounding-hover-values.html b/content/plotly_js/fundamentals/hover/2015-10-08-rounding-hover-values.html new file mode 100644 index 00000000000..a7509525598 --- /dev/null +++ b/content/plotly_js/fundamentals/hover/2015-10-08-rounding-hover-values.html @@ -0,0 +1,44 @@ +--- +name: Rounding X and Y Hover Values +language: plotly_js +suite: hover +order: 2 +sitemap: false +arrangement: horizontal +--- +// Round x and y hover values by setting hoverformat in layout.xaxis and/or layout.yaxis +// using D3 number formatting ( https://github.com/mbostock/d3/wiki/Formatting ) + +var N = 40, + x = d3.range(N).map( d3.random.normal() ), + y1 = d3.range(N).map( d3.random.normal() ), + y2 = d3.range(N).map( d3.random.normal() ), + data = [{ x:x, y:y1, type:'scatter', mode:'markers', + marker:{color:'rgba(200, 50, 100, .7)', size:16}, + hoverinfo:"x+y" + }, + { x:x, y:y2, type:'scatter', mode:'markers', + marker:{color:'rgba(10, 180, 180, .8)', size:16}, + hoverinfo:"x+y"}]; + layout = { + hovermode: 'closest', + title: { + text: 'Formatting X & Y Hover Values' + }, + xaxis: { + zeroline: false, + hoverformat: '.2f', + title: { + text: 'Rounded: 2 values after the decimal point on hover' + } + }, + yaxis: { + zeroline: false, + hoverformat: '.2r', + title: { + text: 'Rounded: 2 significant values on hover' + } + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/hover/2025-07-29-unified-hover-template.html b/content/plotly_js/fundamentals/hover/2025-07-29-unified-hover-template.html new file mode 100644 index 00000000000..5b032f5e1e8 --- /dev/null +++ b/content/plotly_js/fundamentals/hover/2025-07-29-unified-hover-template.html @@ -0,0 +1,47 @@ +--- +name: Custom Unified Hover Title +language: plotly_js +suite: hover +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + *New in 3.1* + + Customize the title shown in unified hovermode by specifying `unifiedhovertitle.text`. The unified hover title is a template string that supports using variables from the data. Numbers are formatted using d3-format's syntax `%{variable:d3-format}`, for example `"Price: %{y:$.2f}"`. Dates are formatted using d3-time-format's syntax `%{variable|d3-time-format}`, for example `"Day: %{x|%A}"`. +--- +var data = [ + { + x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'], + y: [150.25, 165.50, 142.75, 178.90], + mode: 'lines+markers', + name: 'Stock A', + type: 'scatter' + }, + { + x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'], + y: [85.30, 92.15, 88.45, 95.20], + mode: 'lines+markers', + name: 'Stock B', + type: 'scatter' + } +]; + +var layout = { + title: { + text: "Stock Prices with Custom Unified Hover Title" + }, + hovermode: 'x unified', + xaxis: { + title: 'Date', + unifiedhovertitle: { + text: '%{x|%A, %B %d, %Y}' + } + }, + yaxis: { + title: 'Price (USD)', + tickprefix: '$' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/hover/2025-07-29-unified-hover.html b/content/plotly_js/fundamentals/hover/2025-07-29-unified-hover.html new file mode 100644 index 00000000000..15d90721268 --- /dev/null +++ b/content/plotly_js/fundamentals/hover/2025-07-29-unified-hover.html @@ -0,0 +1,43 @@ +--- +name: Unified Hover Mode +language: plotly_js +suite: hover +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + If "x unified" (or "y unified"), a single hoverlabel will appear for multiple points at the closest x- (or y-) coordinate within the `hoverdistance` with the caveat that no more than one hoverlabel will appear per trace. +--- +var data = [ + { + x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'], + y: [10, 15, 12, 18], + mode: 'markers+lines', + name: 'Series A', + hovertemplate: null, + type: 'scatter' + }, + { + x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'], + y: [8, 12, 16, 14], + mode: 'markers+lines', + name: 'Series B', + hovertemplate: null, + type: 'scatter' + } +]; + +var layout = { + title: { + text: "layout.hovermode='x unified'" + }, + hovermode: 'x unified', + xaxis: { + title: 'Date' + }, + yaxis: { + title: 'Value' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html b/content/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html new file mode 100644 index 00000000000..b4338646f5b --- /dev/null +++ b/content/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to add images to charts as background images or logos. +display_as: file_settings +language: plotly_js +layout: base +name: Images +order: 9 +page_type: u-guide +permalink: javascript/images/ +redirect_from: javascript-graphing-library/images/ +thumbnail: thumbnail/images.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","images" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/images/2016-06-21-logo.html b/content/plotly_js/fundamentals/images/2016-06-21-logo.html new file mode 100644 index 00000000000..5bf0d8737ca --- /dev/null +++ b/content/plotly_js/fundamentals/images/2016-06-21-logo.html @@ -0,0 +1,88 @@ +--- +name: Add a Logo +language: plotly_js +suite: images +order: 1 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + x: ["-35.3", "-15.9", "-15.8", "-15.6", "-11.1", "-9.6", "-9.2", "-3.5", "-1.9", "-0.9", "1.0", "1.4", "1.7", "2.0", "2.8", "6.2", "8.1", "8.5", "8.5", "8.6", "11.4", "12.5", "13.3", "13.7", "14.4", "17.5", "17.7", "18.9", "25.1", "28.9", "41.4"], + y: ["Designers, musicians, artists, etc.", "Secretaries and administrative assistants", "Waiters and servers", "Archivists, curators, and librarians", "Sales and related", "Childcare workers, home car workers, etc.", "Food preparation occupations", "Janitors, maids, etc.", "Healthcare technicians, assistants. and aides", "Counselors, social and religious workers", "Physical, life and social scientists", "Construction", "Factory assembly workers", "Machinists, repairmen, etc.", "Media and communications workers", "Teachers", "Mechanics, repairmen, etc.", "Financial analysts and advisers", "Farming, fishing and forestry workers", "Truck drivers, heavy equipment operator, etc.", "Accountants and auditors", "Human resources, management analysts, etc.", "Managers", "Lawyers and judges", "Engineers, architects and surveyors", "Nurses", "Legal support workers", "Computer programmers and system admin.", "Police officers and firefighters", "Chief executives", "Doctors, dentists and surgeons"], + marker: { + color: "rgb(253, 240, 54)", + line: { + color: "rgb(0, 0, 0)", + width: 2 + } + }, + name: "y", + orientation: "h", + type: "bar", + } +]; +var layout = { + autosize: false, + bargap: 0.15, + bargroupgap: 0.1, + barmode: "stack", + height: 800, + hovermode: "x", + images: [ + { + x: 1, + y: 1.05, + sizex: 0.2, + sizey: 0.2, + source: "https://raw.githubusercontent.com/cldougl/plot_images/add_r_img/vox.png", + xanchor: "right", + xref: "paper", + yanchor: "bottom", + yref: "paper" + } + ], + margin: { + r: 20, + t: 125, + b: 75, + l: 300 + }, + title: { + text: "Moving Up, Moving Down
Percentile change in income between childhood and adulthood" + }, + width: 700, + xaxis: { + tickmode: "linear", + dtick: 10, + gridcolor: "rgba(102, 102, 102, 0.4)", + linecolor: "#000", + linewidth: 1, + mirror: true, + nticks: 0, + showticklabels: true, + tick0: 0, + tickwidth: 1, + title: { + text: "Change in percentile" + }, + }, + yaxis: { + anchor: "x", + tickmode: "linear", + gridcolor: "rgba(102, 102, 102, 0.4)", + gridwidth: 1, + linecolor: "#000", + linewidth: 1, + mirror: true, + showgrid: false, + showline: true, + showticklabels: true, + tick0: 0, + type: "category", + zeroline: false + } +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/images/2016-06-21-multiple_images_example.html b/content/plotly_js/fundamentals/images/2016-06-21-multiple_images_example.html new file mode 100644 index 00000000000..1b4ccfee5ad --- /dev/null +++ b/content/plotly_js/fundamentals/images/2016-06-21-multiple_images_example.html @@ -0,0 +1,62 @@ +--- +name: Add Multiple Images +language: plotly_js +suite: images +order: 2 +sitemap: false +arrangement: horizontal +--- + +Plotly.newPlot('myDiv', [{ + x: [1, 2, 3], + y: [1, 2, 3] +}], { + images: [ + { + "source": "https://images.plot.ly/language-icons/api-home/python-logo.png", + "xref": "paper", + "yref": "paper", + "x": 0, + "y": 1, + "sizex": 0.2, + "sizey": 0.2, + "xanchor": "right", + "yanchor": "bottom" + }, + { + "source": "https://images.plot.ly/language-icons/api-home/js-logo.png", + "xref": "x", + "yref": "y", + "x": 1.5, + "y": 2, + "sizex": 1, + "sizey": 1, + "xanchor": "right", + "yanchor": "bottom" + }, + { + "source": "https://images.plot.ly/language-icons/api-home/r-logo.png", + "xref": "x", + "yref": "y", + "x": 1, + "y": 3, + "sizex": 2, + "sizey": 2, + "sizing": "stretch", + "opacity": 0.4, + "layer": "below" + }, + { + "source": "https://images.plot.ly/language-icons/api-home/matlab-logo.png", + "xref": "x", + "yref": "paper", + "x": 3, + "y": 0, + "sizex": 0.5, + "sizey": 1, + "opacity": 1, + "xanchor": "right", + "yanchor": "middle" + }, + ] +}) \ No newline at end of file diff --git a/content/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html b/content/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html new file mode 100644 index 00000000000..3d15b1610db --- /dev/null +++ b/content/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to set the title, legend-entries, and axis-titles in javascript D3.js-based + charts. +display_as: file_settings +language: plotly_js +layout: base +name: Setting the Title, Legend Entries, and Axis Titles +order: 18 +page_type: u-guide +permalink: javascript/figure-labels/ +redirect_from: javascript-graphing-library/figure-labels/ +thumbnail: thumbnail/figure-labels.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","labels" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/labels/2015-04-09-styling-names.html b/content/plotly_js/fundamentals/labels/2015-04-09-styling-names.html new file mode 100644 index 00000000000..0085f3c7f52 --- /dev/null +++ b/content/plotly_js/fundamentals/labels/2015-04-09-styling-names.html @@ -0,0 +1,54 @@ +--- +name: Styling Names +language: plotly_js +suite: labels +order: 0 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + name: 'Name of Trace 1', + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [1, 0, 3, 2, 5, 4, 7, 6, 8], + name: 'Name of Trace 2', + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + title: { + text:'Plot Title', + font: { + family: 'Courier New, monospace', + size: 24 + }, + xref: 'paper', + x: 0.05, + }, + xaxis: { + title: { + text: 'x Axis', + font: { + family: 'Courier New, monospace', + size: 18, + color: '#7f7f7f' + } + }, + }, + yaxis: { + title: { + text: 'y Axis', + font: { + family: 'Courier New, monospace', + size: 18, + color: '#7f7f7f' + } + } + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/labels/2023-03-17-automargin.html b/content/plotly_js/fundamentals/labels/2023-03-17-automargin.html new file mode 100644 index 00000000000..5bb80188010 --- /dev/null +++ b/content/plotly_js/fundamentals/labels/2023-03-17-automargin.html @@ -0,0 +1,63 @@ +--- +name: Setting Title Automargin +language: plotly_js +suite: labels +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + Set `automargin` to `true` to allow the title to push the figure margins. + With `yref` set to `paper`, `automargin` expands the margins to make the title visible, + but doesn't push outside the container. With `yref` set to `container`, `automargin` + expands the margins, but doesn't overlap with the plot area, tick labels, and axis titles. +--- + +var trace1 = { + x: [1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, 2002, 2007], + y: [69.39, + 70.26, + 71.24, + 71.52, + 71.89, + 72.22, + 73.84, + 74.32, + 76.33, + 77.55, + 79.11, + 80.204 + ], + type: 'scatter' +}; +var trace2 = { + x: [1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, 2002, 2007], + y: [69.12, + 70.33, + 70.93, + 71.1, + 71.93, + 73.49, + 74.74, + 76.32, + 77.56, + 78.83, + 80.37, + 81.235 + ], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + title: { + text: 'Population', + font: { + family: 'Courier New, monospace', + size: 70 + }, + yref: 'paper', + automargin: true, + }, + showlegend: false +}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/latex/2015-04-09-latex.html b/content/plotly_js/fundamentals/latex/2015-04-09-latex.html new file mode 100644 index 00000000000..569c1754e4c --- /dev/null +++ b/content/plotly_js/fundamentals/latex/2015-04-09-latex.html @@ -0,0 +1,35 @@ +--- +name: LaTeX Typesetting +arrangement: horizontal +language: plotly_js +suite: latex +order: 0 +sitemap: false +--- +// remember to load MathJax.js?config=TeX-MML-AM_CHTML +var trace1 = { + x: [1, 2, 3, 4], + y: [1, 4, 9, 16], + name: '$\\alpha_{1c} = 352 \\pm 11 \\text{ km s}^{-1}$', + type: 'scatter' +}; +var trace2 = { + x: [1, 2, 3, 4], + y: [0.5, 2, 4.5, 8], + name: '$\\beta_{1c} = 25 \\pm 11 \\text{ km s}^{-1}$', + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + xaxis: { + title: { + text: '$\\sqrt{(n_\\text{c}(t|{T_\\text{early}}))}$' + } + }, + yaxis: { + title: { + text: '$d, r \\text{ (solar radius)}$' + } + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html b/content/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html new file mode 100644 index 00000000000..d4f33c035ef --- /dev/null +++ b/content/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to add LaTeX to javascript D3.js-based graphs. +display_as: file_settings +language: plotly_js +layout: base +name: LaTeX +order: 10 +page_type: u-guide +permalink: javascript/LaTeX/ +redirect_from: javascript-graphing-library/LaTeX/ +thumbnail: thumbnail/venn.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","latex" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/layout-template/2018-10-18-adding-named-items.html b/content/plotly_js/fundamentals/layout-template/2018-10-18-adding-named-items.html new file mode 100644 index 00000000000..cfb1e952b0d --- /dev/null +++ b/content/plotly_js/fundamentals/layout-template/2018-10-18-adding-named-items.html @@ -0,0 +1,66 @@ +--- +name: Add Named Container Array Items +language: plotly_js +suite: layout_template +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + Container array items in a template with a `name` attribute will be added to any plot using that template. + We can use this feature to create a template that adds watermarks to our chart by including named image items in `images`. + The example below also shows how to make one of these images invisible using the `templateitemname` attribute + if you don't want it to display for this specific chart. +--- +var baseLayout = { + title: { + text: 'Watermark Template' + }, + // items with a `name` attribute in template.images will be added to any + // plot using this template + images: [{ + name: 'watermark_1', + source: "https://raw.githubusercontent.com/michaelbabyn/plot_data/master/benzene.png", + xref: "paper", + yref: "paper", + x: 0.40, + y: 0.9, + sizex: 0.7, + sizey: 0.7, + opacity: 0.1, + layer: "below" + }, + { + name: 'watermark_2', + source: "https://raw.githubusercontent.com/michaelbabyn/plot_data/master/naphthalene.png", + xref: "paper", + yref: "paper", + x: .75, + y: 0.3, + sizex: 0.25, + sizey: 0.25, + sizing: "stretch", + opacity: 0.2, + layer: "below" + }], + showlegend: false +}; + +var template = {data: {}, layout: baseLayout}; + +var data = [{ + x: [0, 1, 2, 3, 4, 5], + y: [2, 4, 3, 0, 5, 6], +}]; + +var layoutUsingTemplate = { + template: template, + images: [ + { + // set the second watermark in the template to be invisible + templateitemname: 'watermark_2', + visible: false + } + ] +}; + +Plotly.newPlot("myDiv", data, layoutUsingTemplate); diff --git a/content/plotly_js/fundamentals/layout-template/2018-10-18-default-container.html b/content/plotly_js/fundamentals/layout-template/2018-10-18-default-container.html new file mode 100644 index 00000000000..4d031fc884d --- /dev/null +++ b/content/plotly_js/fundamentals/layout-template/2018-10-18-default-container.html @@ -0,0 +1,65 @@ +--- +name: Creating Default Item Values +language: plotly_js +suite: layout_template +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + Add an attribute called `annotationdefaults` to your template to set a default annotation object. Each + item in the plot using the template without a `templateitemname` attribute will have the default applied + to it. `annotationdefaults` can be manually added to a template or, if makeTemplate is used, the first un-named + item in annotations will be used as the default. + + Note, this behaviour works for all container array objects. E.g for `images`, you would create `imagedefaults` in + your layout containing the default image item. +--- +var x = [0, 1, 2, 3, 4, 5]; +var y = [2, 4, 3, 0, 5, 6]; + +var baseData = [{ + mode: 'lines', + error_y: {visible: true, width: 0}, + line: {color: 'teal'} +}]; + +var baseLayout = { + + // Plotly.makeTemplate will use the first annotation without a `name` attribute + // in the annotations array as the annotationdefaults for the template. + annotations: [ + { + text: 'DEFAULT ANNOTATION', + x: 0.1, + y: 1.1, + yref: 'paper', xref: 'paper', + showarrow: false, + font: {color:'teal', size: 14} + } + ], + showlegend: false +}; + +// use Plotly.makeTemplate to generate the template object +var template = Plotly.makeTemplate({data: baseData, layout: baseLayout}); + +var data = [{ + x: x, + y: y +}]; + +var annotations = [ + {}, // An empty annotation object will copy annotationdefaults + { + text: 'Third point', + x: x[2], + y: y[2], + showarrow: true, + yref: 'y', xref: 'x', + font: {size: 20} // since there is no font.color attribute for this object, + // it will use the annotationdefaults' color + } +]; +var layoutWithTemplate = {template: template, annotations: annotations}; + +Plotly.newPlot("myDiv", data, layoutWithTemplate); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html b/content/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html new file mode 100644 index 00000000000..21ec61837d7 --- /dev/null +++ b/content/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: Plotly's template attribute and how to use it with Container arrays. +display_as: file_settings +language: plotly_js +layout: base +name: Layout Template Examples +order: 19 +page_type: u-guide +permalink: javascript/layout-template/ +thumbnail: thumbnail/plotly-express.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","layout_template" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/layout-template/2018-10-18-matching-named-items.html b/content/plotly_js/fundamentals/layout-template/2018-10-18-matching-named-items.html new file mode 100644 index 00000000000..af04a1b0c8c --- /dev/null +++ b/content/plotly_js/fundamentals/layout-template/2018-10-18-matching-named-items.html @@ -0,0 +1,66 @@ +--- +name: Matching Named Template Container Items +language: plotly_js +suite: layout_template +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + A container item in your new plot with the attribute `templateitemname` matching one of the named + container items in the template will inherit attributes from item with the corresponding name. + If an item in the plot using the template has the `templateitemname` attribute but there is no + corresponding template container item by the same name, it will be marked as invisible in your new plot. +--- +var x = [0, 1, 2, 3, 4, 5]; +var y = [2, 4, 3, 0, 5, 6]; + +var baseData = [{ + mode: 'lines', + error_y: {visible: true, width: 0}, + line: {color: 'teal'} +}]; + +var baseLayout = { + title: { + text: 'Template Title' + }, + annotations: [{ + text: 'First point', + name:'first', + yref: 'y', xref: 'x', + ay: 40, ax: 30, + font: {size: 16} + }], + showlegend: false +}; + +// use Plotly.makeTemplate to generate the template object +var template = Plotly.makeTemplate({data: baseData, layout: baseLayout}); + +var data = [{ + x: x, + y: y, +}]; + +var annotations = [ + + // plotly will look for an annotation with `name` matching `templateitemname` + // and use insert that annotation into the new plot. + { + templateitemname:'first', + x: x[0], + y: y[0], + }, + { + templateitemname: 'fourth', //since there is no template item with this name, + //this annotation will be set to invisible. + text: 'Fourth point', + x: x[3], + y: y[3], + showarrow: true, + yref: 'y', xref: 'x', + } + ]; +var layoutWithTemplate = {template: template, annotations: annotations}; + +Plotly.newPlot("myDiv", data, layoutWithTemplate); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/layout-template/2018-10-18-template-attribute.html b/content/plotly_js/fundamentals/layout-template/2018-10-18-template-attribute.html new file mode 100644 index 00000000000..df5d51321eb --- /dev/null +++ b/content/plotly_js/fundamentals/layout-template/2018-10-18-template-attribute.html @@ -0,0 +1,16 @@ +--- +name: The Layout Template Attribute +language: plotly_js +suite: layout_template +order: 0 +sitemap: false +arrangement: horizontal +markdown_content: | + The `template` attribute of `layout` allows a Plotly chart to take it's style and formatting from a `template` + object. `template`s can be generated using [Plotly.makeTemplate](https://plotly.com/javascript/plotlyjs-function-reference/#plotlymaketemplate) + or manually. `annotaions`, `updatemenus`, `images`, `shapes` and other container array objects in the Plotly `layout` + are specially handled by the template machinery to provide more flexibility when using these container arrays + in plots derived from these templates. + + For more information see [https://plotly.com/javascript/reference/layout/#layout-template](https://plotly.com/javascript/reference/layout/#layout-template). +--- diff --git a/content/plotly_js/fundamentals/legends/2015-04-09-legend-inside.html b/content/plotly_js/fundamentals/legends/2015-04-09-legend-inside.html new file mode 100644 index 00000000000..962e4559627 --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2015-04-09-legend-inside.html @@ -0,0 +1,28 @@ +--- +name: Positioning the Legend Inside the Plot +language: plotly_js +suite: legends +order: 5 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 3, 6, 4, 5, 2, 3, 5, 4], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 4, 7, 8, 3, 6, 3, 3, 4], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + showlegend: true, + legend: { + x: 1, + xanchor: 'right', + y: 1 + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/legends/2015-04-09-legend-labels.html b/content/plotly_js/fundamentals/legends/2015-04-09-legend-labels.html new file mode 100644 index 00000000000..1fa4bbfa522 --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2015-04-09-legend-labels.html @@ -0,0 +1,22 @@ +--- +name: Legend Names +language: plotly_js +suite: legends +order: 4 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 3, 6, 4, 5, 2, 3, 5, 4], + name: 'Blue Trace', + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 4, 7, 8, 3, 6, 3, 3, 4], + name: 'Orange Trace', + type: 'scatter' +}; +var data = [trace1, trace2]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/fundamentals/legends/2015-04-09-legend-outside.html b/content/plotly_js/fundamentals/legends/2015-04-09-legend-outside.html new file mode 100644 index 00000000000..88f4259f1b4 --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2015-04-09-legend-outside.html @@ -0,0 +1,27 @@ +--- +name: Positioning the Legend Outside the Plot +language: plotly_js +suite: legends +order: 6 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 3, 6, 4, 5, 2, 3, 5, 4], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 4, 7, 8, 3, 6, 3, 3, 4], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = { + showlegend: true, + legend: { + x: 1, + y: 0.5 + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/legends/2015-04-09-legend-style.html b/content/plotly_js/fundamentals/legends/2015-04-09-legend-style.html new file mode 100644 index 00000000000..88d6fc6e2df --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2015-04-09-legend-style.html @@ -0,0 +1,33 @@ +--- +name: Styling and Coloring the Legend +language: plotly_js +suite: legends +order: 7 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 3, 6, 4, 5, 2, 3, 5, 4], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 4, 7, 8, 3, 6, 3, 3, 4], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = {legend: { + x: 0, + y: 1, + traceorder: 'normal', + font: { + family: 'sans-serif', + size: 12, + color: '#000' + }, + bgcolor: '#E2E2E2', + bordercolor: '#FFFFFF', + borderwidth: 2 + }}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/legends/2015-04-09-legend-visibility.html b/content/plotly_js/fundamentals/legends/2015-04-09-legend-visibility.html new file mode 100644 index 00000000000..4856f0f56ef --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2015-04-09-legend-visibility.html @@ -0,0 +1,21 @@ +--- +name: Hiding the Legend +language: plotly_js +suite: legends +order: 2 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 3, 6, 4, 5, 2, 3, 5, 4], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 4, 7, 8, 3, 6, 3, 3, 4], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = {showlegend: false}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html b/content/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html new file mode 100644 index 00000000000..e897633f1f9 --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to modify the legend in D3.js-based javascript graphs. Seven examples + of how to move, color, and hide the legend. +display_as: file_settings +language: plotly_js +layout: base +name: Legends +order: 20 +page_type: u-guide +permalink: javascript/legend/ +redirect_from: javascript-graphing-library/legend/ +thumbnail: thumbnail/legends.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","legends" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/legends/2015-04-09-show-legend.html b/content/plotly_js/fundamentals/legends/2015-04-09-show-legend.html new file mode 100644 index 00000000000..f008f7e4abe --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2015-04-09-show-legend.html @@ -0,0 +1,24 @@ +--- +name: Hiding Legend Entries +language: plotly_js +suite: legends +order: 9 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2], + y: [1, 2, 3], + name: 'First Trace', + showlegend: false, + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3], + y: [8, 4, 2, 0], + name: 'Second Trace', + showlegend: true, + type: 'scatter' +}; +var data = [trace1, trace2]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/fundamentals/legends/2016-05-31-legend-orientation.html b/content/plotly_js/fundamentals/legends/2016-05-31-legend-orientation.html new file mode 100644 index 00000000000..cf2889c896b --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2016-05-31-legend-orientation.html @@ -0,0 +1,23 @@ +--- +name: Changing the orientation of Legend +language: plotly_js +suite: legends +order: 8 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 3, 6, 4, 5, 2, 3, 5, 4], + type: 'scatter' +}; +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 4, 7, 8, 3, 6, 3, 3, 4], + type: 'scatter' +}; +var data = [trace1, trace2]; +var layout = {showlegend: true, + legend: {"orientation": "h"}}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/legends/2017-06-20-grouped-legend.html b/content/plotly_js/fundamentals/legends/2017-06-20-grouped-legend.html new file mode 100644 index 00000000000..2ba1e3562c3 --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2017-06-20-grouped-legend.html @@ -0,0 +1,52 @@ +--- +name: Grouped Legend +language: plotly_js +suite: legends +order: 10 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3], + y: [2, 1, 3], + legendgroup: 'group', + marker: {color: 'rgb(164, 194, 244)'}, + mode: 'markers', + name: 'first legend group', + type: 'scatter' +}; + +var trace2 = { + x: [1, 2, 3], + y: [2, 2, 2], + legendgroup: 'group', + line: {color: 'rgb(164, 194, 244)'}, + mode: 'lines', + name: 'first legend group - average', + type: 'scatter' +}; + +var trace3 = { + x: [1, 2, 3], + y: [4, 9, 2], + legendgroup: 'group2', + marker: {color: 'rgb(142, 124, 195)'}, + mode: 'markers', + name: 'second legend group', + type: 'scatter' +}; + +var trace4 = { + x: [1, 2, 3], + y: [5, 5, 5], + legendgroup: 'group2', + line: {color: 'rgb(142, 124, 195)'}, + mode: 'lines', + name: 'second legend group - average', + type: 'scatter' +}; + +data = [trace1, trace2, trace3, trace4]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/fundamentals/legends/2017-06-20-subplot-grouped-legend.html b/content/plotly_js/fundamentals/legends/2017-06-20-subplot-grouped-legend.html new file mode 100644 index 00000000000..70951d11189 --- /dev/null +++ b/content/plotly_js/fundamentals/legends/2017-06-20-subplot-grouped-legend.html @@ -0,0 +1,135 @@ +--- +name: Subplot Grouped Legend +language: plotly_js +suite: legends +order: 11 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: ['a'], + y: [2], + legendgroup: 'a', + marker: { + color: 'rgba(102,194,165,1)', + line: {color: 'transparent'} + }, + name: 'a', + type: 'bar', + xaxis: 'x', + yaxis: 'y' +}; + +var trace2 = { + x: ['b'], + y: [3], + legendgroup: 'b', + marker: { + color: 'rgba(252,141,98,1)', + line: {color: 'transparent'} + }, + name: 'b', + type: 'bar', + xaxis: 'x', + yaxis: 'y' +}; + +var trace3 = { + x: ['c'], + y: [2], + legendgroup: 'c', + marker: { + color: 'rgba(141,160,203,1)', + line: {color: 'transparent'} + }, + name: 'c', + type: 'bar', + xaxis: 'x', + yaxis: 'y' +}; + +var trace4 = { + x: ['a'], + y: [4], + legendgroup: 'a', + marker: { + color: 'rgba(102,194,165,1)', + line: {color: 'transparent'} + }, + name: 'a', + showlegend: false, + type: 'bar', + xaxis: 'x2', + yaxis: 'y2' +}; + +var trace5 = { + x: ['b'], + y: [2], + legendgroup: 'b', + marker: { + color: 'rgba(252,141,98,1)', + line: {color: 'transparent'} + }, + name: 'b', + showlegend: false, + type: 'bar', + xaxis: 'x2', + yaxis: 'y2' +}; + +var trace6 = { + x: ['c'], + y: [4], + legendgroup: 'c', + marker: { + color: 'rgba(141,160,203,1)', + line: {color: 'transparent'} + }, + name: 'c', + showlegend: false, + type: 'bar', + xaxis: 'x2', + yaxis: 'y2' +}; + +var data = [trace1, trace2, trace3, trace4, trace5, trace6]; + +var layout = { + hovermode: 'closest', + margin: { + r: 10, + t: 25, + b: 40, + l: 60 + }, + showlegend: true, + xaxis: { + anchor: 'y', + categoryorder: 'array', + domain: [0, 1], + type: 'category', + showgrid: false, + showticklabels: false + }, + xaxis2: { + anchor: 'y2', + categoryorder: 'array', + domain: [0, 1], + type: 'category', + showgrid: false + }, + yaxis: { + anchor: 'x', + domain: [0.52, 1], + showgrid: false + }, + yaxis2: { + anchor: 'x2', + domain: [0, 0.48], + showgrid: false + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/marker-style/2018-03-15-color-opacity.html b/content/plotly_js/fundamentals/marker-style/2018-03-15-color-opacity.html new file mode 100644 index 00000000000..c971ad39e06 --- /dev/null +++ b/content/plotly_js/fundamentals/marker-style/2018-03-15-color-opacity.html @@ -0,0 +1,45 @@ +--- +name: Color Opacity +language: plotly_js +suite: marker-style +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + To maximise visibility of each point, set the color opacity by using alpha: `marker:{color: 'rgba(0,0,0,0.5)'}`. Here, the marker line will remain opaque. +--- + +var x = Array.from({length: 500}, () => Math.random()*(6-3)+3); +var y = Array.from({length: 500}, () => Math.random()*(6-3)+3); + +var data = [{ + x: x, + y: y, + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgba(17, 157, 255,0.5)', + size: 20, + line: { + color: 'rgb(231, 99, 250)', + width: 2 + } + }, + showlegend: false + }, { + x: [2,2], + y: [4.25,4.75], + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgba(17, 157, 255,0.5)', + size: 60, + line: { + color: 'rgb(231, 99, 250)', + width: 6 + } + }, + showlegend: false +}] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-border.html b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-border.html new file mode 100644 index 00000000000..b20eff4e06c --- /dev/null +++ b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-border.html @@ -0,0 +1,45 @@ +--- +name: Add Marker Border +language: plotly_js +suite: marker-style +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + In order to make markers distinct, you can add a border to the markers. This can be achieved by adding the line dict to the marker dict. For example, `marker:{..., line: {...}}`. +--- + +var x = Array.from({length: 500}, () => Math.random()*(6-3)+3); +var y = Array.from({length: 500}, () => Math.random()*(6-3)+3); + +var data = [{ + x: x, + y: y, + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgb(17, 157, 255)', + size: 20, + line: { + color: 'rgb(231, 99, 250)', + width: 2 + } + }, + showlegend: false + }, { + x: [2], + y: [4.5], + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgb(17, 157, 255)', + size: 60, + line: { + color: 'rgb(231, 99, 250)', + width: 6 + } + }, + showlegend: false +}] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-opacity.html b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-opacity.html new file mode 100644 index 00000000000..5258ff4f61a --- /dev/null +++ b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-opacity.html @@ -0,0 +1,47 @@ +--- +name: Marker Opacity +language: plotly_js +suite: marker-style +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + To maximise visibility of density, it is recommended to set the opacity inside the marker `marker:{opacity:0.5}`. If multiple traces exist with high density, consider using marker opacity in conjunction with trace opacity. +--- + +var x = Array.from({length: 500}, () => Math.random()*(6-3)+3); +var y = Array.from({length: 500}, () => Math.random()*(6-3)+3); + +var data = [{ + x: x, + y: y, + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgb(17, 157, 255)', + opacity: 0.5, + size: 20, + line: { + color: 'rgb(231, 99, 250)', + width: 2 + } + }, + showlegend: false + }, { + x: [2,2], + y: [4.25,4.75], + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgb(17, 157, 255)', + opacity: 0.5, + size: 60, + line: { + color: 'rgb(231, 99, 250)', + width: 6 + } + }, + showlegend: false +}] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-opaque.html b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-opaque.html new file mode 100644 index 00000000000..261547bfb94 --- /dev/null +++ b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-opaque.html @@ -0,0 +1,45 @@ +--- +name: Fully Opaque +language: plotly_js +suite: marker-style +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + Fully opaque, the default setting, is useful for non-overlapping markers. When many points overlap it can be hard to observe density. +--- + +var x = Array.from({length: 500}, () => Math.random()*(6-3)+3); +var y = Array.from({length: 500}, () => Math.random()*(6-3)+3); + +var data = [{ + x: x, + y: y, + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgb(17, 157, 255)', + size: 20, + line: { + color: 'rgb(231, 99, 250)', + width: 2 + } + }, + showlegend: false + }, { + x: [2,2], + y: [4.25,4.75], + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgb(17, 157, 255)', + size: 60, + line: { + color: 'rgb(231, 99, 250)', + width: 6 + } + }, + showlegend: false +}] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html new file mode 100644 index 00000000000..beea5f99147 --- /dev/null +++ b/content/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html @@ -0,0 +1,14 @@ +--- +description: How to style markers in JavaScript. +display_as: file_settings +language: plotly_js +layout: base +name: Styling Markers +order: 11 +page_type: u-guide +permalink: javascript/marker-style/ +thumbnail: thumbnail/marker-style.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","marker-style" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/marker-style/2018-03-15-trace-opacity.html b/content/plotly_js/fundamentals/marker-style/2018-03-15-trace-opacity.html new file mode 100644 index 00000000000..6207d5e112c --- /dev/null +++ b/content/plotly_js/fundamentals/marker-style/2018-03-15-trace-opacity.html @@ -0,0 +1,63 @@ +--- +name: Trace Opacity +language: plotly_js +suite: marker-style +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + Setting opacity outside the marker will set the opacity of the trace. Thus, it will allow greater visbility of additional traces but like fully opaque it is hard to distinguish density. +--- + +var x = Array.from({length: 500}, () => Math.random()*(6-3)+3); +var y = Array.from({length: 500}, () => Math.random()*(4.5-3)+3); +var x2 = Array.from({length: 500}, () => Math.random()*(6-3)+3); +var y2 = Array.from({length: 500}, () => Math.random()*(6-4.5)+4.5); + +var data = [{ + x: x, + y: y, + type: 'scatter', + mode: 'markers', + opacity: 0.5, + marker: { + color: 'rgb(17, 157, 255)', + size: 20, + line: { + color: 'rgb(231, 99, 250)', + width: 2 + } + }, + name: 'Opacity 0.5' + }, { + x: x2, + y: y2, + type: 'scatter', + mode: 'markers', + marker: { + color: 'rgb(17, 157, 255)', + size: 20, + line: { + color: 'rgb(231, 99, 250)', + width: 2 + } + }, + name: 'Opacity 1.0' + }, { + x: [2,2], + y: [4.25,4.75], + type: 'scatter', + mode: 'markers', + opacity: 0.5, + marker: { + color: 'rgb(17, 157, 255)', + size: 60, + line: { + color: 'rgb(231, 99, 250)', + width: 6 + } + }, + showlegend: false +}] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md b/content/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md new file mode 100644 index 00000000000..7beac7958c9 --- /dev/null +++ b/content/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md @@ -0,0 +1,362 @@ +--- +description: Learn about the changes in Plotly.js version 3. +display_as: file_settings +language: plotly_js +layout: base +name: Version 3 Changes +order: 27 +page_type: u-guide +permalink: javascript/version-3-changes/ +redirect_from: javascript/pointcloud/ +sitemap: false +thumbnail: thumbnail/pointcloud.jpg +--- +This page outlines the changes in Plotly.js version 3 and cases where you may need to update your charts. + +## Removed Features + +Plotly.js 3 removes the following features that were deprecated in previous versions. + +### `annotation.ref` Attribute + +`annotation.ref` has been removed. Use `annotation.xref` and `annotation.yref` instead. + +Here's an example using `annotation.ref`, followed by teh same example rewritte to use `annotation.xref` and `annotation.yref`: + +```js +... +var layout = { + title: "Try panning or zooming!", + annotations: [{ + text: "Absolutely-positioned annotation", + ref: "paper", + x: 0.3, + y: 0.3, + showarrow: false + }] +}; +... +``` + +```js +... +var layout = { + title: "Try panning or zooming!", + annotations: [{ + text: "Absolutely-positioned annotation", + xref: "paper", + yref: "paper", + x: 0.3, + y: 0.3, + showarrow: false + }] +}; +... +``` + +### `autotick` Attribute + +The `autotick` attribute has been removed. Use `tickmode: 'auto'` instead of `autotick: true` and `tickmode: 'linear'` instead of `autotick: false`. + +### `bardir` Attribute on Bar Charts + +The `bardir` attribute for setting the bar direction on bar charts has been removed. Use `orientation` instead. + +Here's an example using `bardir` to make the bars horizontal, followed by the same example rewritten to use `orientation`: + +```js +var data = [{ + type: 'bar', + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + bardir: 'h', +}]; + +var layout = { + title: 'Bar Chart with Horizontal Bars', + xaxis: { + title: 'X Axis' + }, + yaxis: { + title: 'Y Axis' + } +}; + + +Plotly.newPlot('bar-chart', data, layout); +``` + +```js +var data = [{ + type: 'bar', + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + orientation: 'h', +}]; + +var layout = { + title: 'Bar Chart with Horizontal Bars', + xaxis: { + title: 'X Axis' + }, + yaxis: { + title: 'Y Axis' + } +}; + + +Plotly.newPlot('bar-chart', data, layout); +``` + +### `layout.scene.cameraposition` Attribute for 3D Plots + +The `layout.scene.cameraposition` attribute on 3D plots has been removed. Use `layout.scene.camera` instead. + +If you are using `cameraposition`, you'll need to update it for it work with the `camera` attribute. Here's an example of converting a `cameraposition` to `camera`. This example uses [gl-mat4](https://www.npmjs.com/package/gl-mat4#fromquatoutmat4-qquat4). + +```js +var m4FromQuat = require('gl-mat4/fromQuat'); + +// Original cameraposition +var cameraposition = ; + +var rotation = cameraposition[0]; +var center = cameraposition[1]; +var radius = cameraposition[2]; +var mat = m4FromQuat([], rotation); +var eye = []; + +for(j = 0; j < 3; ++j) { + eye[j] = center[j] + radius * mat[2 + 4 * j]; +} + +// New camera +var camera = { + eye: {x: eye[0], y: eye[1], z: eye[2]}, + center: {x: center[0], y: center[1], z: center[2]}, + up: {x: 0, y: 0, z: 1} +}; +``` + +### `heatmapgl` Trace + +`heatmapgl` has been removed. Use `heatmap` instead. + +``` +var data = [ + { + z: [[1, 20, 30], [20, 1, 60], [30, 60, 1]], + type: 'heatmapgl' + } +]; + +Plotly.newPlot('myDiv', data); +``` + +``` +var data = [ + { + z: [[1, 20, 30], [20, 1, 60], [30, 60, 1]], + type: 'heatmap' + } +]; + +Plotly.newPlot('myDiv', data); +``` + +### `opacity` Attribute on Error Bars + +The `opacity` attribute on error bars has been removed. Use the alpha channel of the `color` attribute instead. + +Here's an example that was previously in the Plotly.js docs, and which uses `opacity`, followed by the same example rewritten to use the alpha channel on a `rgba` color value. + +``` + error_y: { + type: 'constant', + value: 0.1, + color: '#85144B', + thickness: 1.5, + width: 3, + opacity: 0.5 + } + +``` + +``` + error_y: { + type: 'constant', + value: 0.1, + color: 'rgba(133, 20, 75, 0.5)', + thickness: 1.5, + width: 3, + } + +``` + +### jQuery Events + +Support for using jQuery events has been removed. Use [Plotly.js events](/javascript/plotlyjs-events/) instead. + +### `pointcloud` Trace + +`pointcloud` has been removed. Use `scattergl` instead. + +Here's an example that was previously in the Plotly.js docs and which uses `pointcloud`, followed by the same example rewritten to use `scattergl`: + +```js +var myPlot = document.getElementById('myDiv'); + +var xy = new Float32Array([1,2,3,4,5,6,0,4]); + + +data = [{ xy: xy, type: 'pointcloud' }]; + +layout = { }; + + +Plotly.newPlot('myDiv', data, layout); +``` + +```js +var myPlot = document.getElementById('myDiv'); + +var xy = new Float32Array([1,2,3,4,5,6,0,4]); + +var x = []; +var y = []; +for (var i = 0; i < xy.length; i += 2) { + x.push(xy[i]); + y.push(xy[i + 1]); +} + +var data = [{ + x: x, + y: y, + mode: 'markers', + type: 'scattergl', + marker: { + size: 10, + color: 'blue', + opacity: 0.8 + } +}]; +var layout = { + title: 'Point Cloud', + xaxis: { title: 'X Axis' }, + yaxis: { title: 'Y Axis' } +}; + +Plotly.newPlot('myDiv', data, layout); +``` + +### `plot3dPixelRatio` for WebGL Image Export + +The `plot3dPixelRatio` option on `config` for setting the pixel ration during WebGL image export has been removed. Use `plotGlPixelRatio` instead. + + +## `title` Attribute as a String + +The `title` attribute can no longer be set as a string. Use `title.text` instead. Here's an example of how to set the title using `title.text`: + +```js +var data = [ + { + x: [1, 2, 3, 4, 5], + y: [1, 2, 4, 8, 16] + } +]; + +var layout = { + title: { text: "My chart title" }, + xaxis: { + title: { + text: "x-axis title" + } + }, + yaxis: { title: { text: "y-axis title" } } +}; + +Plotly.newPlot("myDiv", data, layout); +``` + +### `titlefont`,`titleposition`, `titleside`, and `titleoffset` Attributes + +The `titlefont`,`titleposition`, `titleside`, and `titleoffset` attributes are removed. Replace them with `title.font`, `title.position`, `title.side`, and `title.offset`. + +Here's an example that uses `titlefont`, followed by the same example rewritten to use `title.font`: + +```js +var data = [{ + type: 'bar', + x: ['A', 'B', 'C', 'D'], + y: [10, 15, 13, 17] +}]; + +var layout = { + title: { + text: 'Chart Title', + }, + titlefont: { + size: 40 + } +}; + +Plotly.newPlot('chart', data, layout); +``` + +```js +var data = [{ + type: 'bar', + x: ['A', 'B', 'C', 'D'], + y: [10, 15, 13, 17] +}]; + +var layout = { + title: { + text: 'Chart Title', + font: { + size: 40 + } + }, +}; + +Plotly.newPlot('chart', data, layout); +``` + +### Transforms + +Transforms have been removed. + +### `zauto`, `zmin`, and `zmax` from Surface Trace + +The `zauto`, `zmin`, and `zmax` attributes have been removed on surface traces. Use `cauto`, `cmin`, and `cmax` instead. + +```JavaScript +var data = [{ + z: [ + [1, 20, 30, 50], + [20, 1, 60, 80], + [30, 60, 1, 100], + [50, 80, 100, 1] + ], + type: 'surface', + zauto: false, + zmin: 0, + zmax: 100 +}]; +``` + +```JavaScript +var data = [{ + z: [ + [1, 20, 30, 50], + [20, 1, 60, 80], + [30, 60, 1, 100], + [50, 80, 100, 1] + ], + type: 'surface', + cauto: false, + cmin: 0, + cmax: 100 +}]; +``` diff --git a/content/plotly_js/fundamentals/react/2018-01-16-advanced.html b/content/plotly_js/fundamentals/react/2018-01-16-advanced.html new file mode 100644 index 00000000000..14c417125a3 --- /dev/null +++ b/content/plotly_js/fundamentals/react/2018-01-16-advanced.html @@ -0,0 +1,11 @@ +--- +name: Advanced Usage +language: plotly_js +suite: react +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + For information on more advanced usage patterns such as [State Management](https://github.com/plotly/react-plotly.js#state-management) or [Customizing the plotly.js bundle](https://github.com/plotly/react-plotly.js#customizing-the-plotlyjs-bundle) please see the [ReadMe for react-plotly.js](https://github.com/plotly/react-plotly.js/blob/master/README.md). + +--- diff --git a/content/plotly_js/fundamentals/react/2018-01-16-api.html b/content/plotly_js/fundamentals/react/2018-01-16-api.html new file mode 100644 index 00000000000..b0af54f0fb1 --- /dev/null +++ b/content/plotly_js/fundamentals/react/2018-01-16-api.html @@ -0,0 +1,11 @@ +--- +name: Props and Events +language: plotly_js +suite: react +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + More information about [Props](https://github.com/plotly/react-plotly.js/#basic-props) and [Event Handlers](https://github.com/plotly/react-plotly.js/#event-handler-props) can be found in the [ReadMe for react-plotly.js](https://github.com/plotly/react-plotly.js/blob/master/README.md). + +--- diff --git a/content/plotly_js/fundamentals/react/2018-01-16-installation.html b/content/plotly_js/fundamentals/react/2018-01-16-installation.html new file mode 100644 index 00000000000..81fa7618173 --- /dev/null +++ b/content/plotly_js/fundamentals/react/2018-01-16-installation.html @@ -0,0 +1,10 @@ +--- +name: Installation +language: plotly_js +suite: react +order: 2 +sitemap: false +arrangement: horizontal +--- + +$ npm install react-plotly.js plotly.js diff --git a/content/plotly_js/fundamentals/react/2018-01-16-introduction.html b/content/plotly_js/fundamentals/react/2018-01-16-introduction.html new file mode 100644 index 00000000000..9a9c46852a3 --- /dev/null +++ b/content/plotly_js/fundamentals/react/2018-01-16-introduction.html @@ -0,0 +1,10 @@ +--- +name: Introduction +language: plotly_js +suite: react +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + Use [react-plotly.js](https://github.com/plotly/react-plotly.js) to embed D3 charts in your [React](https://reactjs.org/)-powered web application. This React component takes the chart type, data, and styling as [Plotly JSON](https://help.plot.ly/json-chart-schema/) in its data and layout props, then draws the chart using Plotly.js. See below about how to get started with react-plotly.js. +--- diff --git a/content/plotly_js/fundamentals/react/2018-01-16-plotly-js-chart-and-attributes.html b/content/plotly_js/fundamentals/react/2018-01-16-plotly-js-chart-and-attributes.html new file mode 100644 index 00000000000..6d2a144b3ca --- /dev/null +++ b/content/plotly_js/fundamentals/react/2018-01-16-plotly-js-chart-and-attributes.html @@ -0,0 +1,10 @@ +--- +name: Plotly.js Chart Types and Attributes +language: plotly_js +suite: react +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + Click here for more information about [Plotly Chart Types](https://plotly.com/javascript/) and [Attributes](https://plotly.com/javascript/reference/). +--- diff --git a/content/plotly_js/fundamentals/react/2018-01-16-quick_start.html b/content/plotly_js/fundamentals/react/2018-01-16-quick_start.html new file mode 100644 index 00000000000..37301c390d1 --- /dev/null +++ b/content/plotly_js/fundamentals/react/2018-01-16-quick_start.html @@ -0,0 +1,34 @@ +--- +name: Quick Start +language: plotly_js +suite: react +plot_url: https://codepen.io/rsreusser/embed/qPgwwJ?height=550&default-tab=result +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + The easiest way to use this component is to import and pass data to a plot component: +--- + +import React from 'react'; +import Plot from 'react-plotly.js'; + +class App extends React.Component { + render() { + return ( + + ); + } +} diff --git a/content/plotly_js/fundamentals/react/2018-01-16-react-plotlyjs-index.html b/content/plotly_js/fundamentals/react/2018-01-16-react-plotlyjs-index.html new file mode 100644 index 00000000000..4a091dd7b62 --- /dev/null +++ b/content/plotly_js/fundamentals/react/2018-01-16-react-plotlyjs-index.html @@ -0,0 +1,14 @@ +--- +description: How to use the Plotly.js React component. +display_as: file_settings +language: plotly_js +layout: base +name: React Plotly.js +order: 4 +page_type: example_index +permalink: javascript/react/ +thumbnail: thumbnail/react.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","react" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/responsive-fluid-layout/2015-10-20-responsive-fluid-layout_plotly_js_index.html b/content/plotly_js/fundamentals/responsive-fluid-layout/2015-10-20-responsive-fluid-layout_plotly_js_index.html new file mode 100644 index 00000000000..8e5bb95366b --- /dev/null +++ b/content/plotly_js/fundamentals/responsive-fluid-layout/2015-10-20-responsive-fluid-layout_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to create figures with responsive/fluid layouts in JavaScript. +display_as: file_settings +language: plotly_js +layout: base +name: Responsive / Fluid Layouts +order: 2 +page_type: example_index +permalink: javascript/responsive-fluid-layout/ +redirect_from: javascript-graphing-library/responsive-fluid-layout/ +thumbnail: thumbnail/fluid-layout.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","responsive-fluid-layout" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/responsive-fluid-layout/2018-09-12-responsive-charts.html b/content/plotly_js/fundamentals/responsive-fluid-layout/2018-09-12-responsive-charts.html new file mode 100644 index 00000000000..b6d53dd2712 --- /dev/null +++ b/content/plotly_js/fundamentals/responsive-fluid-layout/2018-09-12-responsive-charts.html @@ -0,0 +1,34 @@ +--- +name: Responsive Plots +language: plotly_js +suite: responsive-fluid-layout +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + If you set the `responsive` attribute equal to `true` (using the `config` object), then your figures will be automatically resized when the browser window size changes. This is an especially useful feature for charts which are going to viewed on mobile devices! +--- +var trace1 = { + type: 'bar', + x: [1, 2, 3, 4], + y: [5, 10, 2, 8], + marker: { + color: '#C8A2C8', + line: { + width: 2.5 + } + } +}; + +var data = [ trace1 ]; + +var layout = { + title: { + text: 'Responsive to window\'s size!' + }, + font: {size: 18} +}; + +var config = {responsive: true} + +Plotly.newPlot('myDiv', data, layout, config ); diff --git a/content/plotly_js/fundamentals/shapes/2015-06-17-shape-clusters.html b/content/plotly_js/fundamentals/shapes/2015-06-17-shape-clusters.html new file mode 100644 index 00000000000..d7a56512de3 --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-06-17-shape-clusters.html @@ -0,0 +1,118 @@ +--- +name: Highlighting Clusters of Scatter Points with Circle Shapes +language: plotly_js +suite: shape +order: 1 +sitemap: false +arrangement: horizontal +--- + +function normal_array( mean, stddev, size ){ + var arr = new Array(size), i; + // from http://bl.ocks.org/nrabinowitz/2034281 + var generator = (function() { + return d3.random.normal(mean, stddev); + }()); + + for( i=0; i< arr.length; i++ ){ + arr[i] = generator(); + } + return arr; +} + +var x0 = normal_array(2, 0.45, 300); +var y0 = normal_array(2, 0.45, 300); + +var x1 = normal_array(6, 0.4, 200); +var y1 = normal_array(6, 0.4, 200) + +var x2 = normal_array(4, 0.3, 200); +var y2 = normal_array(4, 0.3, 200); + +console.log(x0); + +var data = [ + { + x: x0, + y: y0, + mode: 'markers' + }, { + x: x1, + y: y1, + mode: 'markers' + }, { + x: x2, + y: y2, + mode: 'markers' + }, { + x: x1, + y: y0, + mode: 'markers' + } +]; + +var layout = { + shapes: [ + { + type: 'circle', + xref: 'x', + yref: 'y', + x0: d3.min(x0), + y0: d3.min(y0), + x1: d3.max(x0), + y1: d3.max(y0), + opacity: 0.2, + fillcolor: 'blue', + line: { + color: 'blue' + } + }, + { + type: 'circle', + xref: 'x', + yref: 'y', + x0: d3.min(x1), + y0: d3.min(y1), + x1: d3.max(x1), + y1: d3.max(y1), + opacity: 0.2, + fillcolor: 'orange', + line: { + color: 'orange' + } + }, + { + type: 'circle', + xref: 'x', + yref: 'y', + x0: d3.min(x2), + y0: d3.min(y2), + x1: d3.max(x2), + y1: d3.max(y2), + opacity: 0.2, + fillcolor: 'green', + line: { + color: 'green' + } + }, + { + type: 'circle', + xref: 'x', + yref: 'y', + x0: d3.min(x1), + y0: d3.min(y0), + x1: d3.max(x1), + y1: d3.max(y0), + opacity: 0.2, + fillcolor: 'red', + line: { + color: 'red' + } + } + ], + height: 400, + width: 480, + showlegend: false +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-06-17-shape-timestamp-highlight.html b/content/plotly_js/fundamentals/shapes/2015-06-17-shape-timestamp-highlight.html new file mode 100644 index 00000000000..803aa01745c --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-06-17-shape-timestamp-highlight.html @@ -0,0 +1,68 @@ +--- +name: Highlighting Time Series Regions with Rectangle Shapes +language: plotly_js +suite: shape +order: 0 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: ['2015-02-01', '2015-02-02', '2015-02-03', '2015-02-04', '2015-02-05', + '2015-02-06', '2015-02-07', '2015-02-08', '2015-02-09', '2015-02-10', + '2015-02-11', '2015-02-12', '2015-02-13', '2015-02-14', '2015-02-15', + '2015-02-16', '2015-02-17', '2015-02-18', '2015-02-19', '2015-02-20', + '2015-02-21', '2015-02-22', '2015-02-23', '2015-02-24', '2015-02-25', + '2015-02-26', '2015-02-27', '2015-02-28'], + y: [-14, -17, -8, -4, -7, -10, -12, -14, -12, -7, -11, -7, -18, -14, -14, + -16, -13, -7, -8, -14, -8, -3, -9, -9, -4, -13, -9, -6], + mode: 'line', + name: 'temperature' + } +]; + +var layout = { + + // to highlight the timestamp we use shapes and create a rectangular + + shapes: [ + // 1st highlight during Feb 4 - Feb 6 + { + type: 'rect', + // x-reference is assigned to the x-values + xref: 'x', + // y-reference is assigned to the plot paper [0,1] + yref: 'paper', + x0: '2015-02-04', + y0: 0, + x1: '2015-02-06', + y1: 1, + fillcolor: '#d3d3d3', + opacity: 0.2, + line: { + width: 0 + } + }, + + // 2nd highlight during Feb 20 - Feb 23 + + { + type: 'rect', + xref: 'x', + yref: 'paper', + x0: '2015-02-20', + y0: 0, + x1: '2015-02-22', + y1: 1, + fillcolor: '#d3d3d3', + opacity: 0.2, + line: { + width: 0 + } + } + ], + height: 500, + width: 500 +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html b/content/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html new file mode 100644 index 00000000000..1e6c63f476f --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html @@ -0,0 +1,16 @@ +--- +description: How to make arbitrary D3.js-based SVG shapes in JavaScript. Examples + of lines, circle, rectangle, and path. +display_as: file_settings +language: plotly_js +layout: base +name: Shapes +order: 23 +page_type: u-guide +permalink: javascript/shapes/ +redirect_from: javascript-graphing-library/shapes/ +thumbnail: thumbnail/shape.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","shape" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-basic-arbitrary-svg-paths.html b/content/plotly_js/fundamentals/shapes/2015-08-10-basic-arbitrary-svg-paths.html new file mode 100644 index 00000000000..8831569e697 --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-basic-arbitrary-svg-paths.html @@ -0,0 +1,79 @@ +--- +name: Basic Arbitrary SVG Paths +language: plotly_js +suite: shape +order: 7 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [2, 1, 8, 8], + y: [0.25, 9, 2, 6], + text: ['filled triangle', 'filled Polygon', 'Quadratic Bezier Curves', 'Cubic Bezier Curves'], + mode: 'text' +}; + +var layout = { + title: { + text: 'Basic Arbitrary SVG Paths' + }, + xaxis: { + range: [0, 9], + zeroline: false + }, + yaxis: { + range: [0, 11], + showgrid: false + }, + width: 500, + height: 500, + shapes: [ + + //Quadratic Bezier Curves + + { + type: 'path', + path: 'M 4,4 Q 6,0 8,4', + line: { + color: 'rgb(93, 164, 214)' + } + }, + + //Cubic Bezier Curves + + { + type: 'path', + path: 'M 1,4 C 2,8 6,4 8,8', + line: { + color: 'rgb(207, 114, 255)' + } + }, + + //Filled Triangle + + { + type: 'path', + path: 'M 1 1 L 1 3 L 4 1 Z', + fillcolor: 'rgba(44, 160, 101, 0.5)', + line: { + color: 'rgb(44, 160, 101)' + } + }, + + //Filled Polygon + + { + type: 'path', + path: ' M 3,7 L2,8 L2,9 L3,10, L4,10 L5,9 L5,8 L4,7 Z', + fillcolor: 'rgba(255, 140, 184, 0.5)', + line: { + color: 'rgb(255, 140, 184)' + } + } + ] +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-circle.html b/content/plotly_js/fundamentals/shapes/2015-08-10-circle.html new file mode 100644 index 00000000000..929abdbc92c --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-circle.html @@ -0,0 +1,67 @@ +--- +name: Circle +language: plotly_js +suite: shape +order: 4 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1.5, 3.5], + y: [0.75, 2.5], + text: ['Unfilled Circle', 'Filled Circle'], + mode: 'text' +}; + +var layout = { + title: { + text: 'Circles' + }, + xaxis: { + range: [0, 4.5], + zeroline: false + }, + yaxis: { + range: [0, 4.5] + }, + width: 500, + height: 500, + shapes: [ + + // Unfilled Circle + + { + type: 'circle', + xref: 'x', + yref: 'y', + x0: 1, + y0: 1, + x1: 3, + y1: 3, + line: { + color: 'rgba(50, 171, 96, 1)' + } + }, + + // Filled Circle + + { + type: 'circle', + xref: 'x', + yref: 'y', + fillcolor: 'rgba(50, 171, 96, 0.7)', + x0: 3, + y0: 3, + x1: 4, + y1: 4, + line: { + color: 'rgba(50, 171, 96, 1)' + } + } + ] +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-lines-positioned-realative-to-plot-and-to-axis.html b/content/plotly_js/fundamentals/shapes/2015-08-10-lines-positioned-realative-to-plot-and-to-axis.html new file mode 100644 index 00000000000..de3ed24d10a --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-lines-positioned-realative-to-plot-and-to-axis.html @@ -0,0 +1,67 @@ +--- +name: Lines Positioned Relative to the Plot and to the Axis +language: plotly_js +suite: shape +order: 6 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [2, 6], + y: [1, 1], + text: ['Line positioned relative to the plot', 'Line positioned relative to the axes'], + mode: 'text' +}; + +var layout = { + title: { + text: 'Lines Positioned Relative to the Plot & to the Axes' + }, + xaxis: { + range: [0, 8] + }, + yaxis: { + range: [0, 2] + }, + width: 500, + height: 500, + shapes: [ + + //Line reference to the axes + + { + type: 'line', + xref: 'x', + yref: 'y', + x0: 4, + y0: 0, + x1: 8, + y1: 1, + line: { + color: 'rgb(55, 128, 191)', + width: 3 + } + }, + + //Line reference to the plot + + { + type: 'line', + xref: 'paper', + yref: 'paper', + x0: 0, + y0: 0, + x1: 0.5, + y1: 0.5, + line: { + color: 'rgb(50, 171, 96)', + width: 3 + } + } + ] +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-lines-positioned-relative-to-axis.html b/content/plotly_js/fundamentals/shapes/2015-08-10-lines-positioned-relative-to-axis.html new file mode 100644 index 00000000000..5512270f352 --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-lines-positioned-relative-to-axis.html @@ -0,0 +1,79 @@ +--- +name: Vertical and Horizontal Lines Positioned Relative to the Axes +language: plotly_js +suite: shape +order: 3 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [2, 3.5, 6], + y: [1, 1.5, 1], + text: ['Vertical Line', 'Horizontal Dashed Line', 'Diagonal dotted Line'], + mode: 'text' +}; + +var layout = { + title: { + text: 'Vertical and Horizontal Lines Positioned Relative to the Axes' + }, + xaxis: { + range: [0, 7] + }, + yaxis: { + range: [0, 2.5] + }, + width: 500, + height: 500, + shapes: [ + + //line vertical + + { + type: 'line', + x0: 1, + y0: 0, + x1: 1, + y1: 2, + line: { + color: 'rgb(55, 128, 191)', + width: 3 + } + }, + + //Line Horizontal + + { + type: 'line', + x0: 2, + y0: 2, + x1: 5, + y1: 2, + line: { + color: 'rgb(50, 171, 96)', + width: 4, + dash: 'dashdot' + } + }, + + //Line Diagonal + + { + type: 'line', + x0: 4, + y0: 0, + x1: 6, + y1: 2, + line: { + color: 'rgb(128, 0, 128)', + width: 4, + dash: 'dot' + } + } + ] +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-rectangle-positioned-relative-to-axis.html b/content/plotly_js/fundamentals/shapes/2015-08-10-rectangle-positioned-relative-to-axis.html new file mode 100644 index 00000000000..ffd2be993c2 --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-rectangle-positioned-relative-to-axis.html @@ -0,0 +1,64 @@ +--- +name: Rectangle Positioned Relative to the Axes +language: plotly_js +suite: shape +order: 5 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1.5, 4.5], + y: [0.75, 0.75], + text: ['Unfilled Rectangle', 'Filled Rectangle'], + mode: 'text' +}; + +var layout = { + title: { + text: 'Rectangle Positioned Relative to the Axes' + }, + xaxis: { + range: [0, 7], + showgrid: false + }, + yaxis: { + range: [0, 3.5] + }, + width: 500, + height: 500, + shapes: [ + + //Unfilled Rectangle + + { + type: 'rect', + x0: 1, + y0: 1, + x1: 2, + y1: 3, + line: { + color: 'rgba(128, 0, 128, 1)' + } + }, + + //Filled Rectangle + + { + type: 'rect', + x0: 3, + y0: 1, + x1: 6, + y1: 2, + line: { + color: 'rgba(128, 0, 128, 1)', + width: 2 + }, + fillcolor: 'rgba(128, 0, 128, 0.7)' + } + ] +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-rectangles-positioned-relative-to-plot-and-axes.html b/content/plotly_js/fundamentals/shapes/2015-08-10-rectangles-positioned-relative-to-plot-and-axes.html new file mode 100644 index 00000000000..17d2593f3a5 --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-rectangles-positioned-relative-to-plot-and-axes.html @@ -0,0 +1,70 @@ +--- +name: Rectangle Positioned Relative to the Plot and to the Axes +language: plotly_js +suite: shape +order: 5 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1.5, 3], + y: [2.5, 2.5], + text: ['Rectangle reference to the plot', 'Rectangle reference to the axes'], + mode: 'text' +}; + +var layout = { + title: { + text: 'Rectangles Positioned Relative to the Plot and to the Axes' + }, + xaxis: { + range: [0, 4], + showgrid: false + }, + yaxis: { + range: [0, 4] + }, + width: 800, + height: 600, + shapes: [ + + //Rectangle reference to the axes + + { + type: 'rect', + xref: 'x', + yref: 'y', + x0: 2.5, + y0: 0, + x1: 3.5, + y1: 2, + line: { + color: 'rgb(55, 128, 191)', + width: 3 + }, + fillcolor: 'rgba(55, 128, 191, 0.6)' + }, + + //Rectangle reference to the Plot + + { + type: 'rect', + xref: 'paper', + yref: 'paper', + x0: 0.25, + y0: 0, + x1: 0.5, + y1: 0.5, + line: { + color: 'rgb(50, 171, 96)', + width: 3 + }, + fillcolor: 'rgba(50, 171, 96, 0.6)' + } + ] +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-tangent-lines-with-shapes.html b/content/plotly_js/fundamentals/shapes/2015-08-10-tangent-lines-with-shapes.html new file mode 100644 index 00000000000..83610a946b5 --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-tangent-lines-with-shapes.html @@ -0,0 +1,72 @@ +--- +name: Creating Tangent Lines with Shapes +language: plotly_js +suite: shape +order: 10 +sitemap: false +arrangement: horizontal +--- +function linspace(a,b,n) { + return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);}); +} + +var xValues = linspace(1, 3, 200); + +var yValues = []; + +for ( var i = 0 ; i < xValues.length ; i++ ) { + var result = xValues[i] * Math.sin(Math.pow(xValues[i], 2)) + 1; + yValues.push(result); +}; + +var trace1 = { + x: xValues, + y: yValues, + type: 'scatter' +}; + +var data = [trace1]; + +var layout = { + title: { + text: 'Rectangles Positioned Relative to the Plot and to the Axes' + }, + shapes: [{ + type: 'line', + x0: 1, + y0: 2.30756, + x1: 1.75, + y1: 2.30756, + opacity: 0.7, + line: { + color: 'red', + width: 2.5 + } + }, { + type: 'line', + x0: 2.5, + y0: 3.80796, + x1: 3.05, + y1: 3.80796, + opacity: 0.7, + line: { + color: 'red', + width: 2.5 + } + }, { + type: 'line', + x0: 1.90, + y0: -1.1827, + x1: 2.50, + y1: -1.1827, + opacity: 0.7, + line: { + color: 'red', + width: 2.5 + } + }], + height: 500, + width: 500 +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2015-08-10-venn-diagram-with-circle-shapes.html b/content/plotly_js/fundamentals/shapes/2015-08-10-venn-diagram-with-circle-shapes.html new file mode 100644 index 00000000000..6cbfa0670bf --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2015-08-10-venn-diagram-with-circle-shapes.html @@ -0,0 +1,77 @@ +--- +name: Venn Diagram with Circle Shapes +language: plotly_js +suite: shape +order: 9 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 1.75, 2.5], + y: [1, 1, 1], + type: 'scatter', + mode: 'text', + text: ['A', 'A+B', 'B'], + textfont: { + color: 'black', + size: 18, + family: 'Arial' + } +}; + +var layout = { + title: { + text: 'Venn Diagram with Circle Shapes' + }, + xaxis: { + showticklabels: false, + tickmode: 'linear', + showgrid: false, + zeroline: false + }, + yaxis: { + showticklabels: false, + tickmode: 'linear', + showgrid: false, + zeroline: false + }, + shapes: [{ + opacity: 0.3, + xref: 'x', + yref: 'y', + fillcolor: 'blue', + x0: 0, + y0: 0, + x1: 2, + y1: 2, + type: 'circle', + line: { + color: 'blue' + } + }, { + opacity: 0.3, + xref: 'x', + yref: 'y', + fillcolor: 'gray', + x0: 1.5, + y0: 0, + x1: 3.5, + y1: 2, + type: 'circle', + line: { + color: 'gray' + } + }], + margin: { + l: 20, + r: 20, + b: 100 + }, + height: 500, + width: 500 +}; + +var data = [trace1]; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/shapes/2023-03-15-labels-on-shapes.html b/content/plotly_js/fundamentals/shapes/2023-03-15-labels-on-shapes.html new file mode 100644 index 00000000000..7fa65086c34 --- /dev/null +++ b/content/plotly_js/fundamentals/shapes/2023-03-15-labels-on-shapes.html @@ -0,0 +1,91 @@ +--- +name: Adding Labels to Shapes +language: plotly_js +suite: shape +order: 11 +sitemap: false +arrangement: horizontal +markdown_content: | + This example adds a `label` to a rectangle and a line on the graph, + sets a `font` `size` and `color` on the rectangle, and positions its label + 'top center' using `textposition`. On the line, we specify a `yanchor` of "top" + to anchor the top of the label to its `textposition`. + You can also draw new shapes on the graph and each new shape automatically + gets a text label. +--- +var data = [ + { + x: [ + '2015-02-01', '2015-02-02', '2015-02-03', '2015-02-04', '2015-02-05', + '2015-02-06', '2015-02-07', '2015-02-08', '2015-02-09', '2015-02-10', + '2015-02-11', '2015-02-12', '2015-02-13', '2015-02-14', '2015-02-15', + '2015-02-16', '2015-02-17', '2015-02-18', '2015-02-19', '2015-02-20', + '2015-02-21', '2015-02-22', '2015-02-23', '2015-02-24', '2015-02-25', + '2015-02-26', '2015-02-27', '2015-02-28', + ], + y: [ + 14, 17, 8, 4, 7, 10, 12, 14, 12, 11, 10, 9, 18, 14, 14, 16, 13, 8, 8, + 7, 7, 3, 9, 9, 4, 13, 9, 6, + ], + mode: 'line', + }, +]; + +var layout = { + title: {text: 'Product price changes and revenue growth'}, + xaxis: { title: {text: 'Date' }}, + yaxis: { title: {text: 'Revenue Growth' }}, + dragmode: 'drawline', + + shapes: [ + { + type: 'rect', + xref: 'x', + yref: 'paper', + x0: '2015-02-02', + y0: 0, + x1: '2015-02-08', + y1: 1, + fillcolor: '#d3d3d3', + opacity: 0.2, + editable: true, + line: { + width: 0, + }, + label: { + text: 'Price drop', + font: { size: 10, color: 'green' }, + textposition: 'top center', + }, + }, + { + type: 'line', + x0: '2015-02-01', + y0: 8, + x1: '2015-02-28', + y1: 8, + fillcolor: '#d3d3d3', + opacity: 0.2, + editable: true, + label: { + text: 'January average', + yanchor: 'top', + }, + }, + ], + newshape: { label: { text: 'New shape text' } }, + height: 500, + width: 500, +}; + +var config = { 'modeBarButtonsToAdd': [ + 'drawline', + 'drawopenpath', + 'drawclosedpath', + 'drawcircle', + 'drawrect', + 'eraseshape' + ] +}; + +Plotly.newPlot('myDiv', data, layout, config); diff --git a/content/plotly_js/fundamentals/sizing/2015-04-09-size-margins.html b/content/plotly_js/fundamentals/sizing/2015-04-09-size-margins.html new file mode 100644 index 00000000000..a4fe3a92e19 --- /dev/null +++ b/content/plotly_js/fundamentals/sizing/2015-04-09-size-margins.html @@ -0,0 +1,30 @@ +--- +name: Adjusting Height, Width, and Margins +language: plotly_js +suite: sizing +order: 0 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' + } +]; +var layout = { + autosize: false, + width: 500, + height: 500, + margin: { + l: 50, + r: 50, + b: 100, + t: 100, + pad: 4 + }, + paper_bgcolor: '#7f7f7f', + plot_bgcolor: '#c7c7c7' +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html b/content/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html new file mode 100644 index 00000000000..08130cb59b5 --- /dev/null +++ b/content/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to change the size of D3.js-based graphs in javascript. +display_as: file_settings +language: plotly_js +layout: base +name: Setting Graph Size +order: 21 +page_type: u-guide +permalink: javascript/setting-graph-size/ +redirect_from: javascript-graphing-library/setting-graph-size/ +thumbnail: thumbnail/multiple-axes.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","sizing" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/sizing/2018-10-08-automargin.html b/content/plotly_js/fundamentals/sizing/2018-10-08-automargin.html new file mode 100644 index 00000000000..bdc997ece57 --- /dev/null +++ b/content/plotly_js/fundamentals/sizing/2018-10-08-automargin.html @@ -0,0 +1,35 @@ +--- +name: Automatically Adjust Margins +language: plotly_js +suite: sizing +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + Set `automargin=true` ([reference](https://plotly.com/python/reference/layout/xaxis/#layout-xaxis-automargin)) and Plotly will automatically increase the margin size to prevent ticklabels from being cut off or overlapping with axis titles. +--- +var data = [ + { + x: ['Apples', 'Oranges', 'Watermelon', 'Pears'], + y: [3, 2, 1, 4], + type: 'bar' + } +]; +var layout = { + autosize: false, + width: 500, + height: 500, + yaxis: { + title: { + text: 'Y-axis Title', + font: { size: 30 } + }, + ticktext: ['long label','Very long label','3','label'], + tickvals: [1, 2, 3, 4], + tickmode: 'array', + automargin: true, + }, + paper_bgcolor: '#7f7f7f', + plot_bgcolor: '#c7c7c7' +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md b/content/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md new file mode 100644 index 00000000000..94282aaadf8 --- /dev/null +++ b/content/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md @@ -0,0 +1,71 @@ +--- +description: How to export graphs as static images in JavaScript. The Plotly JavaScript + graphing library supports `.jpg`, `.png`, and `.svg` as formats for static image + export. +display_as: file_settings +language: plotly_js +layout: base +name: Static Image Export +order: 25 +page_type: u-guide +permalink: javascript/static-image-export/ +sitemap: false +thumbnail: thumbnail/png-export.png +--- + +You can save graphs created with `plotly.js` to static images and view them in your browser. Consider the following example: + + var img_jpg= d3.select('#jpg-export'); + + // Plotting the Graph + + var trace={x:[3,9,8,10,4,6,5],y:[5,7,6,7,8,9,8],type:"scatter"}; + var trace1={x:[3,4,1,6,8,9,5],y:[4,2,5,2,1,7,3],type:"scatter"}; + var data = [trace,trace1]; + var layout = {title : "Simple JavaScript Graph"}; + Plotly.newPlot( + 'plotly_div', + data, + layout) + + // static image in jpg format + + .then( + function(gd) + { + Plotly.toImage(gd,{height:300,width:300}) + .then( + function(url) + { + img_jpg.attr("src", url); + } + ) + }); +To view this image in your page include following HTML tag: + + + +Height and width of the image can be adjusted by specifying the same in `toImage` call: + + Plotly.toImage( + gd,{ + format:'jpeg', + height:desired_height, + width:desired_width, + }); + +You can also save the image using different formats. + +# Formats Supported + +The common image formats: 'PNG', 'JPG/JPEG' are supported. In addition, formats like 'EPS', 'SVG' and 'PDF' are also available for user with a Personal or Professional subscription. You can get more details on our [pricing page] (https://plotly.com/products/cloud/) + +**Note:** It is important to note that any figures containing WebGL traces (i.e. of type scattergl, heatmapgl, contourgl, scatter3d, surface, mesh3d, scatterpolargl, cone, streamtube, splom, or parcoords) that are exported in a vector format like SVG, EPS or PDF will include encapsulated rasters instead of vectors for some parts of the image. + +## Saving as PNG ## + img_png.attr("src", url); + Plotly.toImage(gd,{format:'png',height:400,width:400}); + +## Saving as SVG ## + img_svg.attr("src", url); + Plotly.toImage(gd,{format:'svg',height:800,width:800}); diff --git a/content/plotly_js/fundamentals/texttemplate/2019-10-21-add_text_template.html b/content/plotly_js/fundamentals/texttemplate/2019-10-21-add_text_template.html new file mode 100644 index 00000000000..867cda63d28 --- /dev/null +++ b/content/plotly_js/fundamentals/texttemplate/2019-10-21-add_text_template.html @@ -0,0 +1,19 @@ +--- +name: Add Text Template in Pie Chart +language: plotly_js +suite: texttemplate +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + To show an arbitrary text in your chart you can use [texttemplate](https://plotly.com/javascript/reference/pie/#pie-texttemplate), which is a template string used for rendering the information, and will override [textinfo](https://plotly.com/javascript/reference/treemap/#treemap-textinfo). +--- +var data = [{ + type: "pie", + values: [2, 5, 3, 2.5], + labels: ["R", "Python", "Java Script", "Matlab"], + texttemplate: "%{label}: %{value} (%{percent})", + textposition: "inside" +}]; + +Plotly.newPlot("myDiv", data) diff --git a/content/plotly_js/fundamentals/texttemplate/2019-10-21-customize_text_template.html b/content/plotly_js/fundamentals/texttemplate/2019-10-21-customize_text_template.html new file mode 100644 index 00000000000..a085ac6b1a3 --- /dev/null +++ b/content/plotly_js/fundamentals/texttemplate/2019-10-21-customize_text_template.html @@ -0,0 +1,23 @@ +--- +name: Customize Text Template +language: plotly_js +suite: texttemplate +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + The following example uses [textfont](https://plotly.com/javascript/reference/scatterternary/#scatterternary-textfont) to customize the added text. +--- +var data = [{ + type: "scatterternary", + a: [3, 2, 5], + b: [2, 5, 2], + c: [5, 2, 2], + mode: "markers+text", + text: ["A", "B", "C"], + texttemplate: "%{text}
(%{a:.2f}, %{b:.2f}, %{c:.2f})", + textposition: "bottom center", + textfont:{'family': "Times", 'size': [18, 21, 20], 'color': ["IndianRed", "MediumPurple", "DarkOrange"]} +}]; + +Plotly.newPlot("myDiv", data) diff --git a/content/plotly_js/fundamentals/texttemplate/2019-10-21-date-in-text-template.html b/content/plotly_js/fundamentals/texttemplate/2019-10-21-date-in-text-template.html new file mode 100644 index 00000000000..da531782f3a --- /dev/null +++ b/content/plotly_js/fundamentals/texttemplate/2019-10-21-date-in-text-template.html @@ -0,0 +1,31 @@ +--- +name: Set Date in Text Template +language: plotly_js +suite: texttemplate +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + + The following example displays how to show date by setting [axis.type](https://plotly.com/javascript/reference/layout/yaxis/#layout-yaxis-type) in [funnel charts](https://plotly.com/javascript/funnel-charts/). +--- +var data = [{ + type: 'funnel', + name: 'Montreal', + orientation: "h", + y: ["2018-01-01", "2018-07-01", "2019-01-01", "2020-01-01"], + x: [100, 60, 40, 20], + textposition: "inside", + texttemplate: "%{label}" +},{ + type: "funnel", + name: 'Vancouver', + orientation: "h", + y: ["2018-01-01", "2018-07-01", "2019-01-01", "2020-01-01"], + x: [90, 70, 50, 10], + textposition: "inside", + textinfo: "label"}] + +var layout = {yaxis: {type: 'date'}} + +Plotly.newPlot("myDiv", data, layout) diff --git a/content/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html b/content/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html new file mode 100644 index 00000000000..9b16a1b2580 --- /dev/null +++ b/content/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to use D3.js-based text template in Plotly.js. +display_as: file_settings +has_thumbnail: true +language: plotly_js +layout: base +name: Text Template +order: 24 +page_type: u-guide +permalink: javascript/texttemplate/ +thumbnail: thumbnail/texttemplate.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","texttemplate" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-array-tickmode.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-array-tickmode.html new file mode 100644 index 00000000000..2f5211293be --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-array-tickmode.html @@ -0,0 +1,25 @@ +--- +name: Tickmode - Array +language: plotly_js +suite: tick-formatting +order: 1.5 +sitemap: false +arrangement: horizontal +--- + +var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; +var y = [28.8, 28.5, 37, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9]; +var data = [{ + x: x, + y: y, + type: 'scatter' +}]; +var layout = { + xaxis: { + tickmode: "array", // If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. + tickvals: [1, 3, 5, 7, 9, 11], + ticktext: ['One', 'Three', 'Five', 'Seven', 'Nine', 'Eleven'] + } +} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format-layout.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format-layout.html new file mode 100644 index 00000000000..4c4254926bb --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format-layout.html @@ -0,0 +1,58 @@ +--- +name: Layout Attributes with respect to Formatting Ticks +language: plotly_js +suite: tick-formatting +sitemap: false +arrangement: horizontal +order: 0 +--- + + + +{ + xaxis: { + /* show/hide tick labels (defaults to true) */ + showticklabels: boolean, + /* Set the tick mode for the axis "auto" or "linear" or "array" */ + tickmode: 'auto', + + /* Set the placement of the first tick*/ + tick0: '', + /* Set the step in-between ticks*/ + dtick: '', + /* Specifies the maximum number of ticks */ + nticks: 0, + + /* Set the values at which ticks on this axis appear */ + tickvals: [ /* */ ], + /* Set the text displayed at the ticks position via tickvals */ + ticktext: [ /* */ ], + /* Set the source reference for tickvals */ + tickvalssrc: '', + /* Set the source reference for ticktext */ + tickvtextsrc: '', + + /* Set the tick label formatting rule using d3 formatting mini-languages */ + tickformat: '', + /* Set the tickformat per zoom level */ + tickformatstops: { + enabled: true, + /* Set the range of the dtick values which describe the zoom level, it is possible to omit "min" or "max" value by passing "null" */ + dtickrange: ["min", "max"], + /* dtickformat for described zoom level, the same as "tickformat" */ + value: string, + }, + + /* Set the ticks to display with a prefix: "all" or "first" or "last" or "none" */ + showtickprefix: 'all', + tickprefix: string, + + /* Set the ticks to display with a suffix: "all" or "first" or "last" or "none" */ + showticksuffix: 'all', + ticksuffix: string, + + /* Determines a formatting rule for the tick exponents: "none" or "e" or "E" or "power" or "SI" or "B" */ + exponentformat: 'B', + } + /* similarly for yaxis */ +} diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html new file mode 100644 index 00000000000..2b43f4a7be0 --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html @@ -0,0 +1,15 @@ +--- +arrangement: horizontal +description: How to format axes ticks in D3.js-based JavaScript charts. +display_as: file_settings +language: plotly_js +layout: base +name: Formatting Ticks +order: 22 +page_type: u-guide +permalink: javascript/tick-formatting/ +thumbnail: thumbnail/hover.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","tick-formatting" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-include-fr-locale.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-include-fr-locale.html new file mode 100644 index 00000000000..e4f770e8b49 --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-include-fr-locale.html @@ -0,0 +1,25 @@ +--- +name: Include Locale Config +language: plotly_js +suite: tick-formatting +order: 4.0 +sitemap: false +arrangement: horizontal +--- + +var x = ['2013-02-04', '2013-04-05', '2013-06-06', '2013-08-07', '2013-10-02']; +var y = [1, 4, 3, 6, 2]; +var data = [{ + x: x, + y: y, + type: 'scatter' +}]; +var layout = { + xaxis: { + tickformat: '%a %e %b \n %Y' + } +} + +Plotly.newPlot('myDiv', data, layout, { + locale: 'fr' // For more info, see: https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization and https://github.com/plotly/plotly.js/tree/master/dist +}); diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-linear(date)-tickmode.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-linear(date)-tickmode.html new file mode 100644 index 00000000000..fbc527bbe2f --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-linear(date)-tickmode.html @@ -0,0 +1,25 @@ +--- +name: Tickmode - Linear (Date) +language: plotly_js +suite: tick-formatting +order: 1 +sitemap: false +arrangement: horizontal +--- + +var x = ['2000-01', '2000-02', '2000-03', '2000-04', '2000-05', '2000-06', '2000-07', '2000-08', '2000-09', '2000-10', '2000-11', '2000-12', '2001-01']; +var y = [-36.5, -26.6, -43.6, -52.3, -71.5, -81.4, -80.5, -82.2, -76, -67.3, -46.1, -35, -40]; +var data = [{ + x: x, + y: y, + type: 'scatter' +}]; +var layout = { + xaxis: { + tickmode: "linear", // If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` + tick0: '1999-12-15', + dtick: 30 * 24 * 60 * 60 * 1000 // milliseconds + } +} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-linear-tickmode.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-linear-tickmode.html new file mode 100644 index 00000000000..2d06b7f8a0f --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-linear-tickmode.html @@ -0,0 +1,25 @@ +--- +name: Tickmode - Linear +language: plotly_js +suite: tick-formatting +order: 0.5 +sitemap: false +arrangement: horizontal +--- + +var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; +var y = [28.8, 28.5, 37, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9]; +var data = [{ + x: x, + y: y, + type: 'scatter' +}]; +var layout = { + xaxis: { + tickmode: "linear", // If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` + tick0: 0.5, + dtick: 0.75 + } +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-tickformatstops.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-tickformatstops.html new file mode 100644 index 00000000000..834967f68cd --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-tickformatstops.html @@ -0,0 +1,57 @@ +--- +name: Tickformatstops to customize for different zoom levels +language: plotly_js +suite: tick-formatting +order: 2.75 +sitemap: false +arrangement: horizontal +--- + +var gd = document.getElementById('myDiv'); +var x = ["2005-01", "2005-02", "2005-03", "2005-04", "2005-05", "2005-06", "2005-07"]; +var y = [-20, 10, -5, 0, 5, -10, 20]; +var data = [{ + x: x, + y: y, + type: 'scatter' +}]; +var layout = { + xaxis: { + tickformatstops: [{ + "dtickrange": [null, 1000], + "value": "%H:%M:%S.%L ms" + }, + { + "dtickrange": [1000, 60000], + "value": "%H:%M:%S s" + }, + { + "dtickrange": [60000, 3600000], + "value": "%H:%M m" + }, + { + "dtickrange": [3600000, 86400000], + "value": "%H:%M h" + }, + { + "dtickrange": [86400000, 604800000], + "value": "%e. %b d" + }, + { + "dtickrange": [604800000, "M1"], + "value": "%e. %b w" + }, + { + "dtickrange": ["M1", "M12"], + "value": "%b '%y M" + }, + { + "dtickrange": ["M12", null], + "value": "%Y Y" + } + ] + } +}; + +Plotly.newPlot("myDiv", data, layout); + diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-using-exponentformat.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-using-exponentformat.html new file mode 100644 index 00000000000..da475cbf87f --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-using-exponentformat.html @@ -0,0 +1,24 @@ +--- +name: Using Exponentformat +language: plotly_js +suite: tick-formatting +order: 3.0 +sitemap: false +arrangement: horizontal +--- + +var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; +var y = [68000, 52000, 60000, 20000, 95000, 40000, 60000, 79000, 74000, 42000, 20000, 90000]; +var data = [{ + x: x, + y: y, + type: 'scatter' +}]; +var layout = { + yaxis: { + showexponent: 'all', + exponentformat: 'e' + } +} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-using-tickformat(date).html b/content/plotly_js/fundamentals/tick-format/2018-12-17-using-tickformat(date).html new file mode 100644 index 00000000000..f726a4e9fce --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-using-tickformat(date).html @@ -0,0 +1,53 @@ +--- +name: Using Tickformat (Date) +language: plotly_js +suite: tick-formatting +order: 2.5 +sitemap: false +arrangement: horizontal +--- + + + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function (err, rows) { + + function unpack(rows, key) { + return rows.map(function (row) { + return row[key]; + }); + } + + + var trace1 = { + type: "scatter", + mode: "lines", + name: 'AAPL High', + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.High'), + line: { + color: '#17BECF' + } + } + + var trace2 = { + type: "scatter", + mode: "lines", + name: 'AAPL Low', + x: unpack(rows, 'Date'), + y: unpack(rows, 'AAPL.Low'), + line: { + color: '#7F7F7F' + } + } + + var data = [trace1, trace2]; + + var layout = { + title: {text: 'Time series with custom tickformat'}, + xaxis: { + tickformat: '%d %B (%a)\n %Y' // For more time formatting types, see: https://github.com/d3/d3-time-format/blob/master/README.md + } + }; + + Plotly.newPlot('myDiv', data, layout); +}) diff --git a/content/plotly_js/fundamentals/tick-format/2018-12-17-using-tickformat.html b/content/plotly_js/fundamentals/tick-format/2018-12-17-using-tickformat.html new file mode 100644 index 00000000000..bc65b70cff2 --- /dev/null +++ b/content/plotly_js/fundamentals/tick-format/2018-12-17-using-tickformat.html @@ -0,0 +1,23 @@ +--- +name: Using Tickformat +language: plotly_js +suite: tick-formatting +order: 2.0 +sitemap: false +arrangement: horizontal +--- + +var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; +var y = [0.18, 0.38, 0.56, 0.46, 0.59, 0.4, 0.78, 0.77, 0.74, 0.42, 0.45, 0.39]; +var data = [{ + x: x, + y: y, + type: 'scatter' +}]; +var layout = { + yaxis: { + tickformat: '%' // For more formatting types, see: https://github.com/d3/d3-format/blob/master/README.md#locale_format + } +} + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-index.html b/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-index.html new file mode 100644 index 00000000000..ae70e4898c3 --- /dev/null +++ b/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-index.html @@ -0,0 +1,14 @@ +--- +description: Persist user interactions using uirevision with Plotly.react or Dash. +display_as: file_settings +language: plotly_js +layout: base +name: uirevision in Plotly.react +order: 3 +page_type: example_index +permalink: javascript/uirevision/ +thumbnail: thumbnail/uirevision.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","uirevision" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-persist.html b/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-persist.html new file mode 100644 index 00000000000..12bd05db9e7 --- /dev/null +++ b/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-persist.html @@ -0,0 +1,53 @@ +--- +arrangement: horizontal +language: plotly_js +markdown_content: 'Adding a `uirevision` attribute and then keeping it the same during + the next call to Plotly.react ensures that user + + interactions persist. + + ' +name: Persist User Changes +order: 1 +plot_url: https://codepen.io/plotly/embed/ebMJEW/?height=550&theme-id=15263&default-tab=result +sitemap: false +suite: uirevision +--- + +const rand = () => Math.random(); +var x = [1, 2, 3, 4, 5]; +const new_data = (trace) => Object.assign(trace, {y: x.map(rand)}); + +// add random data to three line traces +var data = [ + {mode:'lines', line: {color: "#b55400"}}, + {mode: 'lines', line: {color: "#393e46"}}, + {mode: 'lines', line: {color: "#222831"}} +].map(new_data); + +var layout = { + title: {text: 'User Zoom Persists
When uirevision Unchanged'}, + uirevision:'true', + xaxis: {autorange: true}, + yaxis: {autorange: true} +}; + +Plotly.react('myDiv', data, layout); + +var myPlot = document.getElementById('myDiv'); + +var cnt = 0; +var interval = setInterval(function() { + data = data.map(new_data); + + // user interaction will mutate layout and set autorange to false + // so we need to reset it to true + layout.xaxis.autorange = true; + layout.yaxis.autorange = true; + + // not changing uirevision will ensure that user interactions are unchanged + // layout.uirevision = rand(); + + Plotly.react('myDiv', data, layout); + if(cnt === 100) clearInterval(interval); +}, 2500); diff --git a/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-reset.html b/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-reset.html new file mode 100644 index 00000000000..eddee1a31e3 --- /dev/null +++ b/content/plotly_js/fundamentals/uirevision/2019-01-04-uirevision-reset.html @@ -0,0 +1,52 @@ +--- +arrangement: horizontal +language: plotly_js +markdown_content: 'Changing the `uirevision` attribute during a Plotly.react call + will reset previous user interactions in the updated plot. + + ' +name: Reset User Changes +order: 2 +plot_url: https://codepen.io/plotly/embed/REMrgv/?height=550&theme-id=15263&default-tab=result +sitemap: false +suite: uirevision +--- + +const rand = () => Math.random(); +var x = [1, 2, 3, 4, 5]; +const new_data = (trace) => Object.assign(trace, {y: x.map(rand)}); + +// add random data to three line traces +var data = [ + {mode:'lines', line: {color: "#b55400"}}, + {mode: 'lines', line: {color: "#393e46"}}, + {mode: 'lines', line: {color: "#222831"}} +].map(new_data); + +var layout = { + title: {text: 'User Zoom Resets
When uirevision Changes'}, + uirevision:'true', + xaxis: {autorange: true}, + yaxis: {autorange: true} +}; + +Plotly.react('myDiv', data, layout); + +var myPlot = document.getElementById('myDiv'); + +var cnt = 0; +var interval = setInterval(function() { + data = data.map(new_data); + + // user interaction will mutate layout and set autorange to false + // so we need to reset it to true + layout.xaxis.autorange = true; + layout.yaxis.autorange = true; + + // a new random number should ensure that uirevision will be different + // and so the graph will autorange after the Plotly.react + layout.uirevision = rand(); + + Plotly.react('myDiv', data, layout); + if(cnt === 100) clearInterval(interval); +}, 2500); \ No newline at end of file diff --git a/content/plotly_js/maps/2019-08-12-plotly_js-map-index.html b/content/plotly_js/maps/2019-08-12-plotly_js-map-index.html new file mode 100644 index 00000000000..377ee3ea7aa --- /dev/null +++ b/content/plotly_js/maps/2019-08-12-plotly_js-map-index.html @@ -0,0 +1,27 @@ +--- +permalink: javascript/maps/ +description: Plotly.js makes interactive, publication-quality graphs online. Examples of how to make maps. +name: Maps +layout: langindex +language: plotly_js +display_as: maps +thumbnail: thumbnail/mixed.jpg +--- + + +
+
+ +
+ +
+

Plotly.js Maps

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","maps" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/maps/bubble-maps/2015-07-11-bubble-map.html b/content/plotly_js/maps/bubble-maps/2015-07-11-bubble-map.html new file mode 100644 index 00000000000..42144cbe1ab --- /dev/null +++ b/content/plotly_js/maps/bubble-maps/2015-07-11-bubble-map.html @@ -0,0 +1,39 @@ +--- +name: Europe Bubble Map +language: plotly_js +suite: bubble-maps +order: 1 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: 'scattergeo', + mode: 'markers', + locations: ['FRA', 'DEU', 'RUS', 'ESP'], + marker: { + size: [20, 30, 15, 10], + color: [10, 20, 40, 50], + cmin: 0, + cmax: 50, + colorscale: 'Greens', + colorbar: { + title: {text: 'Some rate'}, + ticksuffix: '%', + showticksuffix: 'last' + }, + line: { + color: 'black' + } + }, + name: 'europe data' +}]; + +var layout = { + 'geo': { + 'scope': 'europe', + 'resolution': 50 + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/maps/bubble-maps/2015-07-11-bubble_maps_plotlyjs_index.html b/content/plotly_js/maps/bubble-maps/2015-07-11-bubble_maps_plotlyjs_index.html new file mode 100644 index 00000000000..2effd407915 --- /dev/null +++ b/content/plotly_js/maps/bubble-maps/2015-07-11-bubble_maps_plotlyjs_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based bubble map in JavaScript. A bubble map overlays + a bubble chart on a map. +display_as: maps +language: plotly_js +layout: base +name: Bubble Maps +order: 6 +page_type: example_index +permalink: javascript/bubble-maps/ +redirect_from: javascript-graphing-library/bubble-maps/ +thumbnail: thumbnail/bubble-map.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","bubble-maps" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/bubble-maps/2015-08-12-USA-bubble-map.html b/content/plotly_js/maps/bubble-maps/2015-08-12-USA-bubble-map.html new file mode 100644 index 00000000000..3ee9eae6601 --- /dev/null +++ b/content/plotly_js/maps/bubble-maps/2015-08-12-USA-bubble-map.html @@ -0,0 +1,66 @@ +--- +name: USA Bubble Map +language: plotly_js +suite: bubble-maps +order: 2 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_us_cities.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var cityName = unpack(rows, 'name'), + cityPop = unpack(rows, 'pop'), + cityLat = unpack(rows, 'lat'), + cityLon = unpack(rows, 'lon'), + color = [,"rgb(255,65,54)","rgb(133,20,75)","rgb(255,133,27)","lightgrey"], + citySize = [], + hoverText = [], + scale = 50000; + + for ( var i = 0 ; i < cityPop.length; i++) { + var currentSize = cityPop[i] / scale; + var currentText = cityName[i] + " pop: " + cityPop[i]; + citySize.push(currentSize); + hoverText.push(currentText); + } + + var data = [{ + type: 'scattergeo', + locationmode: 'USA-states', + lat: cityLat, + lon: cityLon, + hoverinfo: 'text', + text: hoverText, + marker: { + size: citySize, + line: { + color: 'black', + width: 2 + }, + } + }]; + + var layout = { + title: {text: '2014 US City Populations'}, + showlegend: false, + geo: { + scope: 'usa', + projection: { + type: 'albers usa' + }, + showland: true, + landcolor: 'rgb(217, 217, 217)', + subunitwidth: 1, + countrywidth: 1, + subunitcolor: 'rgb(255,255,255)', + countrycolor: 'rgb(255,255,255)' + }, + }; + + Plotly.newPlot("myDiv", data, layout, {showLink: false}); + +}); diff --git a/content/plotly_js/maps/choropleth-mapbox/2019-08-16-US_states.html b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-US_states.html new file mode 100644 index 00000000000..b87485c7ab3 --- /dev/null +++ b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-US_states.html @@ -0,0 +1,20 @@ +--- +name: Dark tile +language: plotly_js +suite: tile-county-choropleth +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + This example uses [zmin and zmax](https://plotly.com/javascript/reference/choroplethmap/#choroplethmap-zmin) to define the lower bound and upper bound of the color domain. If these attributes are not set, Plotly [determines the color domain](https://plotly.com/javascript/reference/heatmap/#heatmap-zauto) based on the input data. +--- + +var data = [{ + type: "choroplethmap", name: "US states", geojson: "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json", locations: [ "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY" ], +z: [ 141, 140, 155, 147, 132, 146, 151, 137, 146, 136, 145, 141, 149, 151, 138, 158, 164, 141, 146, 145, 142, 150, 155, 160, 156, 161, 147, 164, 150, 152, 155, 167, 145, 146, 151, 154, 161, 145, 155, 150, 151, 162, 172, 169, 170, 151, 152, 173, 160, 176 ], +zmin: 25, zmax: 280, colorbar: {y: 0, yanchor: "bottom", title: {text: "US states", side: "right"}}} + ]; + +var layout = {map: {style: "dark", center: {lon: -110, lat: 50}, zoom: 0.8}, width: 600, height: 400, margin: {t: 0, b: 0}}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/maps/choropleth-mapbox/2019-08-16-basic-choropleth1.html b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-basic-choropleth1.html new file mode 100644 index 00000000000..4dd495c25f1 --- /dev/null +++ b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-basic-choropleth1.html @@ -0,0 +1,21 @@ +--- +name: Basic Tile +language: plotly_js +suite: tile-county-choropleth +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + + This tutorial uses [Maplibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) to make a map of US states using [vector tiles](https://plotly.com/javascript/map-layers/). +--- + +var data = [{ + type: "choroplethmap", locations: ["NY", "MA", "VT"], z: [-50, -10, -20], + geojson: "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json" +}]; + +var layout = {map: {center: {lon: -74, lat: 43}, zoom: 3.5}, + width: 600, height:400}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/maps/choropleth-mapbox/2019-08-16-choropleth-geojson-object.html b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-choropleth-geojson-object.html new file mode 100644 index 00000000000..b95fc9463a3 --- /dev/null +++ b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-choropleth-geojson-object.html @@ -0,0 +1,26 @@ +--- +name: Streets Tile +language: plotly_js +suite: tile-county-choropleth +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + + The following example sets `geojson object` of type `feature` and geometries of type 'Polygon'. For more information see [geojson attribute](https://plotly.com/javascript/reference/choroplethmap/#choroplethmap-geojson) in the reference page. + As you see, the scattermap trace is above the Choropleth map trace. To set the Choropleth map trace above all the other traces you should set [below attribute](https://plotly.com/javascript/reference/choroplethmap/#choroplethmap-below). +--- +var data = [ + {type: "scattermap", lon: [-86], lat: [34], marker: {size: 20, color: 'purple'}}, + { + type: "choroplethmap",locations: ["AL"], z: [10], coloraxis: "coloraxis", geojson: {type: "Feature", id: "AL", geometry: {type: "Polygon", coordinates: [[ + [-86, 35], [-85, 34], [-85, 32], [-85, 32], [-85, 32], [-85, 32], [-85, 31], + [-86, 31], [-87, 31], [-87, 31], [-88, 30], [-88, 30], [-88, 30], [-88, 30], + [-88, 34], [-88, 35]]] + }}}]; + +var layout = {width: 600, height: 400, map: {style: 'streets', + center: {lon: -86, lat: 33}, zoom: 5}, marker: {line: {color: "blue"}}, + coloraxis: {showscale: false, colorscale: "Viridis"}}; + +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/maps/choropleth-mapbox/2019-08-16-choropleth_plotly_js_index.html b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-choropleth_plotly_js_index.html new file mode 100644 index 00000000000..e759a0652c3 --- /dev/null +++ b/content/plotly_js/maps/choropleth-mapbox/2019-08-16-choropleth_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make a tile-based choropleth map in JavaScript. A Choropleth map shades geographic regions by value. +display_as: maps +language: plotly_js +layout: base +name: Choropleth Tile Map +order: 4 +page_type: example_index +permalink: javascript/tile-county-choropleth/ +redirect_from: javascript/mapbox-county-choropleth/ +thumbnail: thumbnail/mapbox-choropleth.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","tile-county-choropleth" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/choropleth-mapbox/2024-06-29-basic-mapbox.html b/content/plotly_js/maps/choropleth-mapbox/2024-06-29-basic-mapbox.html new file mode 100644 index 00000000000..0df34d16597 --- /dev/null +++ b/content/plotly_js/maps/choropleth-mapbox/2024-06-29-basic-mapbox.html @@ -0,0 +1,27 @@ +--- +name: Basic Tile using Mapbox +language: plotly_js +suite: tile-county-choropleth +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + + > Mapbox traces are deprecated and may be removed in a future version of Plotly.js. + + Earlier examples use traces that render with [Maplibre GL JS](https://maplibre.org/maplibre-gl-js/docs/). + These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, + which are now deprecated. Here's one of the earlier examples using the Mapbox-based `choroplethmapbox` trace +--- + +var data = [{ + type: "choroplethmapbox", locations: ["NY", "MA", "VT"], z: [-50, -10, -20], + geojson: "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json" +}]; + +var layout = {mapbox: {center: {lon: -74, lat: 43}, zoom: 3.5}, + width: 600, height:400}; + +var config = {mapboxAccessToken: "your access token"}; + +Plotly.newPlot('myDiv', data, layout, config); \ No newline at end of file diff --git a/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth-north-america.html b/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth-north-america.html new file mode 100644 index 00000000000..c776d3660f4 --- /dev/null +++ b/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth-north-america.html @@ -0,0 +1,51 @@ +--- +name: USA Choropleth Map +language: plotly_js +suite: choropleth-maps +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_us_ag_exports.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var data = [{ + type: 'choropleth', + locationmode: 'USA-states', + locations: unpack(rows, 'code'), + z: unpack(rows, 'total exports'), + text: unpack(rows, 'state'), + zmin: 0, + zmax: 17000, + colorscale: [ + [0, 'rgb(242,240,247)'], [0.2, 'rgb(218,218,235)'], + [0.4, 'rgb(188,189,220)'], [0.6, 'rgb(158,154,200)'], + [0.8, 'rgb(117,107,177)'], [1, 'rgb(84,39,143)'] + ], + colorbar: { + title: {text: 'Millions USD'}, + thickness: 0.2 + }, + marker: { + line:{ + color: 'rgb(255,255,255)', + width: 2 + } + } + }]; + + + var layout = { + title: {text: '2011 US Agriculture Exports by State'}, + geo:{ + scope: 'usa', + showlakes: true, + lakecolor: 'rgb(255,255,255)' + } + }; + + Plotly.newPlot("myDiv", data, layout, {showLink: false}); +}); diff --git a/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth-world-robinson.html b/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth-world-robinson.html new file mode 100644 index 00000000000..1035bb8550a --- /dev/null +++ b/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth-world-robinson.html @@ -0,0 +1,35 @@ +--- +name: World Choropleth Map (Robinson Projection) +language: plotly_js +suite: choropleth-maps +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2010_alcohol_consumption_by_country.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var data = [{ + type: 'choropleth', + locationmode: 'country names', + locations: unpack(rows, 'location'), + z: unpack(rows, 'alcohol'), + text: unpack(rows, 'location'), + autocolorscale: true + }]; + + var layout = { + title: {text: 'Pure alcohol consumption
among adults (age 15+) in 2010'}, + geo: { + projection: { + type: 'robinson' + } + } + }; + + Plotly.newPlot("myDiv", data, layout, {showLink: false}); + +}); diff --git a/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth_plotly_js_index.html b/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth_plotly_js_index.html new file mode 100644 index 00000000000..60cce827f14 --- /dev/null +++ b/content/plotly_js/maps/choropleth-maps/2015-07-11-choropleth_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make a D3.js-based choropleth map in JavaScript. A choropleth + map shades geographic regions by value. +display_as: maps +language: plotly_js +layout: base +name: Choropleth Maps +order: 9 +permalink: javascript/choropleth-maps/ +redirect_from: javascript-graphing-library/choropleth-maps/ +thumbnail: thumbnail/choropleth.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","choropleth-maps" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/choropleth-maps/2015-08-10-countrygdp-choropleth-map.html b/content/plotly_js/maps/choropleth-maps/2015-08-10-countrygdp-choropleth-map.html new file mode 100644 index 00000000000..a27603f18b8 --- /dev/null +++ b/content/plotly_js/maps/choropleth-maps/2015-08-10-countrygdp-choropleth-map.html @@ -0,0 +1,53 @@ +--- +name: Country GDP Choropleth Map +language: plotly_js +suite: choropleth-maps +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_world_gdp_with_codes.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var data = [{ + type: 'choropleth', + locations: unpack(rows, 'CODE'), + z: unpack(rows, 'GDP (BILLIONS)'), + text: unpack(rows, 'COUNTRY'), + colorscale: [ + [0,'rgb(5, 10, 172)'],[0.35,'rgb(40, 60, 190)'], + [0.5,'rgb(70, 100, 245)'], [0.6,'rgb(90, 120, 245)'], + [0.7,'rgb(106, 137, 247)'],[1,'rgb(220, 220, 220)']], + autocolorscale: false, + reversescale: true, + marker: { + line: { + color: 'rgb(180,180,180)', + width: 0.5 + } + }, + tick0: 0, + zmin: 0, + dtick: 1000, + colorbar: { + autotic: false, + tickprefix: '$', + title: {text: 'GDP
Billions US$'} + } + }]; + + var layout = { + title: {text: '2014 Global GDP
Source: CIA World Factbook'}, + geo:{ + showframe: false, + showcoastlines: false, + projection:{ + type: 'mercator' + } + } + }; + Plotly.newPlot("myDiv", data, layout, {showLink: false}); +}); diff --git a/content/plotly_js/maps/choropleth-maps/2015-08-11-US-pop-by-state-choropleth.html b/content/plotly_js/maps/choropleth-maps/2015-08-11-US-pop-by-state-choropleth.html new file mode 100644 index 00000000000..dc4755bcf4b --- /dev/null +++ b/content/plotly_js/maps/choropleth-maps/2015-08-11-US-pop-by-state-choropleth.html @@ -0,0 +1,38 @@ +--- +name: Choropleth Map of 2014 US Population by State +language: plotly_js +suite: choropleth-maps +order: 5 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv', function(err, rows){ + function unpack(rows, key) { +return rows.map(function(row) { return row[key]; }); +} +var data = [{ + type: 'choropleth', + locationmode: 'USA-states', + locations: unpack(rows, 'Postal'), + z: unpack(rows, 'Population'), + text: unpack(rows, 'State'), + autocolorscale: true +}]; + +var layout = { +title: {text: '2014 US Popultaion by State'}, + geo:{ + scope: 'usa', + countrycolor: 'rgb(255, 255, 255)', + showland: true, + landcolor: 'rgb(217, 217, 217)', + showlakes: true, + lakecolor: 'rgb(255, 255, 255)', + subunitcolor: 'rgb(255, 255, 255)', + lonaxis: {}, + lataxis: {} + } +}; +Plotly.newPlot("myDiv", data, layout, {showLink: false}); +}); diff --git a/content/plotly_js/maps/choropleth-maps/2016-08-04-florida-counties.html b/content/plotly_js/maps/choropleth-maps/2016-08-04-florida-counties.html new file mode 100644 index 00000000000..9ea84a72715 --- /dev/null +++ b/content/plotly_js/maps/choropleth-maps/2016-08-04-florida-counties.html @@ -0,0 +1,49 @@ +--- +name: Choropleth Map of Florida Counties Colored by Political Party +language: plotly_js +suite: choropleth-maps +order: 6 +sitemap: false +arrangement: horizontal +--- + +d3.json('https://raw.githubusercontent.com/plotly/datasets/master/florida-red-data.json', function(redjson) { + + d3.json('https://raw.githubusercontent.com/plotly/datasets/master/florida-blue-data.json', function(bluejson) { + + Plotly.newPlot('myDiv', [{ + type: 'scattermap', + lat: [46], + lon: [-74] + }], { + title: {text: "Florida Counties"}, + height: 600, + width: 600, + map: { + center: { + lat: 28, + lon: -84 + }, + style: 'light', + zoom: 4.8, + layers: [ + { + sourcetype: 'geojson', + source: redjson, + type: 'fill', + color: 'rgba(163,22,19,0.8)' + }, + { + sourcetype: 'geojson', + source: bluejson, + type: 'fill', + color: 'rgba(40,0,113,0.8)' + }, + ] + } + }); + + +}); + +}); diff --git a/content/plotly_js/maps/density-mapbox/2019-08-16-basic_density_mapbox.html b/content/plotly_js/maps/density-mapbox/2019-08-16-basic_density_mapbox.html new file mode 100644 index 00000000000..6c168a37133 --- /dev/null +++ b/content/plotly_js/maps/density-mapbox/2019-08-16-basic_density_mapbox.html @@ -0,0 +1,17 @@ +--- +name: Stamen Terrain Tile +language: plotly_js +suite: tile-density-heatmaps +order: 5 +sitemap: false +layout: base +arrangement: horizontal +markdown_content: | + + +--- +var data = [{type: 'densitymapbox', lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2]}]; + +var layout = {width: 600, height: 400, mapbox: {style: 'https://tiles.stadiamaps.com/styles/stamen_watercolor.json?api_key=YOUR-API-KEY'}}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/maps/density-mapbox/2019-08-16-density_plotly_js_index.html b/content/plotly_js/maps/density-mapbox/2019-08-16-density_plotly_js_index.html new file mode 100644 index 00000000000..7bc025f8819 --- /dev/null +++ b/content/plotly_js/maps/density-mapbox/2019-08-16-density_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a tile-based density heatmap in JavaScript. A density heatmap + uses a variable binding expression to display population density. +display_as: maps +language: plotly_js +layout: base +name: Tile Density Heatmap +order: 3 +page_type: example_index +permalink: javascript/tile-density-heatmaps/ +redirect_from: javascript/mapbox-density-heatmaps/ +thumbnail: thumbnail/mapbox-density.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","tile-density-heatmaps" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/density-mapbox/2019-08-16-earthquack_density.html b/content/plotly_js/maps/density-mapbox/2019-08-16-earthquack_density.html new file mode 100644 index 00000000000..f5aae9ac2b0 --- /dev/null +++ b/content/plotly_js/maps/density-mapbox/2019-08-16-earthquack_density.html @@ -0,0 +1,26 @@ +--- +name: Outdoors Tile +language: plotly_js +layout: base +suite: tile-density-heatmaps +order: 3 +sitemap: false +arrangement: horizontal + +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/earthquakes-23k.csv', + function(err, rows){function unpack(rows, key) {return rows.map(function(row){ return row[key]; +})}; + +var data = [{ + lon: unpack(rows, 'Longitude'), lat: unpack(rows, 'Latitude'), radius:10, + z: unpack(rows, 'Magnitude'), type: "densitymap", coloraxis: 'coloraxis', + hoverinfo: 'skip'}]; + +var layout = { + map: {center: {lon: 60, lat: 30}, style: "outdoors", zoom: 2}, + coloraxis: {colorscale: "Viridis"}, title: {text: "Earthquake Magnitude"}, + width: 600, height: 400, margin: {t: 30, b: 0}}; + +Plotly.newPlot('myDiv', data, layout); +}) diff --git a/content/plotly_js/maps/density-mapbox/2019-08-16-light-tile-mapbox.html b/content/plotly_js/maps/density-mapbox/2019-08-16-light-tile-mapbox.html new file mode 100644 index 00000000000..ed0cd357636 --- /dev/null +++ b/content/plotly_js/maps/density-mapbox/2019-08-16-light-tile-mapbox.html @@ -0,0 +1,27 @@ +--- +name: Light Tile (Mapbox) - Requires Token +language: plotly_js +layout: base +suite: tile-density-heatmaps +order: 7 +sitemap: false +arrangement: horizontal +markdown_content: | + **Mapbox traces are deprecated and may be removed in a future version of Plotly.js.** + + Earlier examples use traces that render with [Maplibre GL JS](https://maplibre.org/maplibre-gl-js/docs/). + These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, + which are now deprecated. Here's one of the earlier examples written using the Mapbox-based `densitymapbox` trace. +--- +var data = [ + {type: "densitymapbox", lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2], + radius: 50, colorbar: {y: 1, yanchor: 'top', len: 0.45}}, + {type: 'densitymapbox', lon: [-10, -20, -30], lat: [15, 25, 35], + radius: [50, 100, 10], colorbar: {y: 0, yanchor: 'bottom', len: 0.45} + }]; + +var layout = {mapbox: {style: 'light', center: {lat: 20}}, width: 600, height: 400}; + +var config = {mapboxAccessToken: "your access token"}; + +Plotly.newPlot('myDiv', data, layout, config); diff --git a/content/plotly_js/maps/density-mapbox/2019-08-16-multi_density-mapbox.html b/content/plotly_js/maps/density-mapbox/2019-08-16-multi_density-mapbox.html new file mode 100644 index 00000000000..31023bc4249 --- /dev/null +++ b/content/plotly_js/maps/density-mapbox/2019-08-16-multi_density-mapbox.html @@ -0,0 +1,20 @@ +--- +name: Light Tile +language: plotly_js +layout: base +suite: tile-density-heatmaps +order: 2 +sitemap: false +arrangement: horizontal + +--- +var data = [ + {type: "densitymap", lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2], + radius: 50, colorbar: {y: 1, yanchor: 'top', len: 0.45}}, + {type: 'densitymap', lon: [-10, -20, -30], lat: [15, 25, 35], + radius: [50, 100, 10], colorbar: {y: 0, yanchor: 'bottom', len: 0.45} + }]; + +var layout = {map: {style: 'light', center: {lat: 20}}, width: 600, height: 400}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-access-token.html b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-access-token.html new file mode 100644 index 00000000000..dd3da713df2 --- /dev/null +++ b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-access-token.html @@ -0,0 +1,39 @@ +--- +name: Overview +language: plotly_js +suite: filled-area-on-map +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + There are three different ways to show a filled area in a tile-based map. +
    +
  1. Use a [scattermap](https://plotly.com/javascript/reference/scattermap/) trace and set `fill` attribute to 'toself'
  2. +
  3. Use a map layout (i.e. by minimally using an empty Scattermap trace) and add a GeoJSON layer
  4. +
  5. Use the [Choroplethmap](https://plotly.com/javascript/map-county-choropleth/) trace type
  6. +
+
Filled `Scattermap` Trace
+ The following example uses `Scattermap` and sets `fill = 'toself'`. +--- +var data = [ + { + type: "scattermap", + fill: "toself", + lon: [-74, -70, -70, -74], + lat: [47, 47, 45, 45], + marker: { size: 10, color: "orange" } + } +]; + +var layout = { + map: { + style: "stamen-terrain", + center: { lon: -73, lat: 46 }, + zoom: 5 + }, + showlegend: false, + height: 450, + width: 600 +}; + +Plotly.newPlot("myDiv", data, layout); diff --git a/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-fill-area_plotly_js_index.html b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-fill-area_plotly_js_index.html new file mode 100644 index 00000000000..2f563f4bf50 --- /dev/null +++ b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-fill-area_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make an area on Map using a D3.js-based scattermap. +display_as: maps +has_thumbnail: true +language: plotly_js +layout: base +name: Filled Area on Tile Maps +order: 10 +page_type: u-guide +permalink: javascript/filled-area-on-map/ +redirect_from: javascript/filled-area-on-mapbox/ +thumbnail: thumbnail/area.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","filled-area-on-map" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-geojson_layers.html b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-geojson_layers.html new file mode 100644 index 00000000000..c29ed77db76 --- /dev/null +++ b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-geojson_layers.html @@ -0,0 +1,57 @@ +--- +name: GeoJSON Layers +language: plotly_js +suite: filled-area-on-map +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + + This example shows an area below [water layer](https://plotly.com/javascript/reference/choroplethmap/#choroplethmap-below), and sets geojson object of type feature and geometries of type [MultiPolygon](https://plotly.com/javascript/reference/choroplethmap/#choroplethmap-geojson). +--- +var data = [{ + type: "scattermap", mode: "markers", + lon: [-73.605], lat: [45.51], + marker: { size: 20, color: ["cyan"] } + }]; + +var layout = { + map: { + style: "dark", + center: { lon: -73.6, lat: 45.515}, + zoom: 12, layers: [{ + source: { + type: "FeatureCollection", + features: [{ + type: "Feature", + geometry: { + type: "MultiPolygon", + coordinates: [[[ + [-73.606352888, 45.507489991], [-73.606133883, 45.50687600], + [-73.605905904, 45.506773980], [-73.603533905, 45.505698946], + [-73.602475870, 45.506856969], [-73.600031904, 45.505696003], + [-73.599379992, 45.505389066], [-73.599119902, 45.505632008], + [-73.598896977, 45.505514039], [-73.598783894, 45.505617001], + [-73.591308727, 45.516246185], [-73.591380782, 45.516280145], + [-73.596778656, 45.518690062], [-73.602796770, 45.521348046], + [-73.612239983, 45.525564037], [-73.612422919, 45.525642061], + [-73.617229085, 45.527751983], [-73.617279234, 45.527774160], + [-73.617304713, 45.527741334], [-73.617492052, 45.527498362], + [-73.617533258, 45.527512253], [-73.618074188, 45.526759105], + [-73.618271651, 45.526500673], [-73.618446320, 45.526287943], + [-73.618968507, 45.525698560], [-73.619388002, 45.525216750], + [-73.619532966, 45.525064183], [-73.619686662, 45.524889290], + [-73.619787038, 45.524770086], [-73.619925742, 45.524584939], + [-73.619954486, 45.524557690], [-73.620122362, 45.524377961], + [-73.620201713, 45.524298907], [-73.620775593, 45.523650879] + ]]] + } + }] + }, + type: "fill", below: "water", color: "teal" + }] + }, + height: 450, width: 700 +}; + +Plotly.newPlot("myDiv", data, layout); diff --git a/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-multi-filled-area.html b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-multi-filled-area.html new file mode 100644 index 00000000000..600fa264ee2 --- /dev/null +++ b/content/plotly_js/maps/fill-area-on-mapbox/2019-09-02-multi-filled-area.html @@ -0,0 +1,25 @@ +--- +name: Multiple Filled Areas with a Scattermap trace +language: plotly_js +suite: filled-area-on-map +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + + The following example shows how to use `null` in your data to draw multiple filled areas. Such gaps in trace data are unconnected by default, but this can be controlled via the [connectgaps](https://plotly.com/javascript/reference/scattermap/#scattermap-connectgaps) attribute. +--- +var data = [{ + type: "scattermap", + mode: "lines", + fill: "toself", + lon: [-10, -10, 8, 8, -10, null, 30, 30, 50, 50, 30, null, 100, 100, 80, 80, 100], + lat: [30, 6, 6, 30, 30, null, 20, 30, 30, 20, 20, null, 40, 50, 50, 40, 40] + }] + +var layout = { + map: {style: "stamen-terrain", center: {lon: 40, lat: 20}, 'zoom': 1.5}, + showlegend: false, + width:700, height: 700} + +Plotly.newPlot("myDiv", data, layout) diff --git a/content/plotly_js/maps/lines-on-maps/2015-07-11-lines_on_maps_plotly_js_index.html b/content/plotly_js/maps/lines-on-maps/2015-07-11-lines_on_maps_plotly_js_index.html new file mode 100644 index 00000000000..b22ea5adaa4 --- /dev/null +++ b/content/plotly_js/maps/lines-on-maps/2015-07-11-lines_on_maps_plotly_js_index.html @@ -0,0 +1,17 @@ +--- +description: How to draw D3.js-based lines, great circles, and contours on maps in + JavaScript. Lines on maps can show distance between geographic points or be contour + lines (isolines, isopleths, or isarithms). +display_as: maps +language: plotly_js +layout: base +name: Lines on Maps +order: 5 +page_type: example_index +permalink: javascript/lines-on-maps/ +redirect_from: javascript-graphing-library/lines-on-maps/ +thumbnail: thumbnail/flight-paths.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","lines-on-maps" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/lines-on-maps/2015-08-12-flightpath-london-to-nyc.html b/content/plotly_js/maps/lines-on-maps/2015-08-12-flightpath-london-to-nyc.html new file mode 100644 index 00000000000..7c831309570 --- /dev/null +++ b/content/plotly_js/maps/lines-on-maps/2015-08-12-flightpath-london-to-nyc.html @@ -0,0 +1,50 @@ +--- +name: London to NYC Great Circle +language: plotly_js +suite: lines-on-maps +order: 2 +sitemap: false +arrangement: horizontal +--- +var data = [{ + type: 'scattergeo', + lat: [ 40.7127, 51.5072 ], + lon: [ -74.0059, 0.1275 ], + mode: 'lines', + line:{ + width: 2, + color: 'blue' + } + }]; + +var layout = { + title: {text: 'London to NYC Great Circle'}, + showlegend: false, + geo: { + resolution: 50, + showland: true, + showlakes: true, + landcolor: 'rgb(204, 204, 204)', + countrycolor: 'rgb(204, 204, 204)', + lakecolor: 'rgb(255, 255, 255)', + projection: { + type: 'equirectangular' + }, + coastlinewidth: 2, + lataxis: { + range: [ 20, 60 ], + showgrid: true, + tickmode: 'linear', + dtick: 10 + }, + lonaxis:{ + range: [-100, 20], + showgrid: true, + tickmode: 'linear', + dtick: 20 + } + } +}; + +Plotly.newPlot('myDiv', data, layout); + diff --git a/content/plotly_js/maps/lines-on-maps/2015-08-12-us-flight-paths-map.html b/content/plotly_js/maps/lines-on-maps/2015-08-12-us-flight-paths-map.html new file mode 100644 index 00000000000..153c32d5cd2 --- /dev/null +++ b/content/plotly_js/maps/lines-on-maps/2015-08-12-us-flight-paths-map.html @@ -0,0 +1,59 @@ +--- +name: US Flight Paths Map +language: plotly_js +suite: lines-on-maps +order: 3 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/c34aaa0b1b3cddad335173cb7bc0181897201ee6/2011_february_aa_flight_paths.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; });} + + function getMaxOfArray(numArray) { + return Math.max.apply(null, numArray); + } + + var data = []; + var count = unpack(rows, 'cnt'); + var startLongitude = unpack(rows, 'start_lon'); + var endLongitude = unpack(rows, 'end_lon'); + var startLat = unpack(rows, 'start_lat'); + var endLat = unpack(rows, 'end_lat'); + + for ( var i = 0 ; i < count.length; i++ ) { + var opacityValue = count[i]/getMaxOfArray(count); + + var result = { + type: 'scattergeo', + locationmode: 'USA-states', + lon: [ startLongitude[i] , endLongitude[i] ], + lat: [ startLat[i] , endLat[i] ], + mode: 'lines', + line: { + width: 1, + color: 'red' + }, + opacity: opacityValue + }; + + data.push(result); + }; + + var layout = { + title: {text: 'Feb. 2011 American Airline flight paths'}, + showlegend: false, + geo:{ + scope: 'north america', + projection: { + type: 'azimuthal equal area' + }, + showland: true, + landcolor: 'rgb(243,243,243)', + countrycolor: 'rgb(204,204,204)' + } + }; + + Plotly.newPlot("myDiv", data, layout, {showLink: false}); + +}); diff --git a/content/plotly_js/maps/lines-on-maps/2015-11-07-lines-on-orthographic.html b/content/plotly_js/maps/lines-on-maps/2015-11-07-lines-on-orthographic.html new file mode 100644 index 00000000000..53767f2a271 --- /dev/null +++ b/content/plotly_js/maps/lines-on-maps/2015-11-07-lines-on-orthographic.html @@ -0,0 +1,72 @@ +--- +name: Lines on an Orthographic Map +language: plotly_js +suite: lines-on-maps +order: 1 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/globe_contours.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var data = []; + var scl =['rgb(213,62,79)','rgb(244,109,67)','rgb(253,174,97)','rgb(254,224,139)','rgb(255,255,191)','rgb(230,245,152)','rgb(171,221,164)','rgb(102,194,165)','rgb(50,136,189)']; + var allLats = []; + var allLons = []; + + for ( var i = 0 ; i < scl.length; i++){ + var latHead = 'lat-'+i; + var lonHead = 'lon-'+i; + var lat = unpack(rows, latHead); + var lon = unpack(rows, lonHead); + allLats.push(lat); + allLons.push(lon); + } + + for ( var i = 0 ; i < scl.length; i++) { + var current = { + type:'scattergeo', + lon: allLons[i], + lat: allLats[i], + mode: 'lines', + line: { + width: 2, + color: scl[i] + } + } + data.push(current); + }; + + + var layout = { + geo: { + projection: { + type: 'orthographic', + rotation: { + lon: -100, + lat: 40 + }, + }, + showocean: true, + oceancolor: 'rgb(0, 255, 255)', + showland: true, + landcolor: 'rgb(230, 145, 56)', + showlakes: true, + lakecolor: 'rgb(0, 255, 255)', + showcountries: true, + lonaxis: { + showgrid: true, + gridcolor: 'rgb(102, 102, 102)' + }, + lataxis: { + showgrid: true, + gridcolor: 'rgb(102, 102, 102)' + } + } + }; + + Plotly.newPlot("myDiv", data, layout, {showLink: false}); +}); diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-16-Open-street-map.html b/content/plotly_js/maps/mapbox-layers/2019-08-16-Open-street-map.html new file mode 100644 index 00000000000..30569ab159e --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-16-Open-street-map.html @@ -0,0 +1,39 @@ +--- +name: OpenStreetMap tiles +language: plotly_js +suite: map-layers +order: 3 +sitemap: false +arrangement: horizontal +markdown_content: | + + Here is a simple map rendered with "open-street-map" tiles. +--- +d3.csv( + "https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv", + function(err, rows) { + function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); + } + + var data = [ + { + type: "scattermap", + text: unpack(rows, "Globvalue"), + lon: unpack(rows, "Lon"), + lat: unpack(rows, "Lat"), + marker: { color: "fuchsia", size: 4 } + } + ]; + + var layout = { + dragmode: "zoom", + map: { style: "open-street-map", center: { lat: 38, lon: -90 }, zoom: 3 }, + margin: { r: 0, t: 0, b: 0, l: 0 } + }; + + Plotly.newPlot("myDiv", data, layout); + } +); diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-16-access-token.html b/content/plotly_js/maps/mapbox-layers/2019-08-16-access-token.html new file mode 100644 index 00000000000..aa232bf04fe --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-16-access-token.html @@ -0,0 +1,29 @@ +--- +name: Mapbox Maps and Access Tokens +language: plotly_js +suite: map-layers +order: 10 +sitemap: false +arrangement: horizontal +markdown_content: | + + > Mapbox traces are deprecated and may be removed in a future version of Plotly.js. + + The word "mapbox" in the trace names and `layout.mapbox` refers to the Mapbox GL JS open-source library. + If your basemap in `layout.mapbox.style` uses data from the Mapbox *service*, + then you will need to register for a free account at https://mapbox.com/ and obtain a Mapbox Access token. + If your basemap uses data from the [Stadia Maps service](https://www.stadiamaps.com) (see below for details), you'll need to register for a Stadia Maps account and token. + + To use a token, provide it as `mapboxAccessToken` in the `setPlotConfig` function, or as a variable that would be passed as an argument of `newPlot`. + If your `layout.mapbox.style` does not use data from the Mapbox service, you do *not* need to register for a Mapbox account. +
Base Maps in `layout.mapbox.style`
+ The accepted values for `layout.mapbox.style` are one of the following tiles. +
    +
  1. `"white-bg"` yields an empty white canvas which results in no external HTTP requests
  2. +
  3. `"open-street-map"`, `"carto-positron"`, or `"carto-darkmatter"` yield maps composed of *raster* tiles from various public tile servers which do not require signups or access tokens
  4. +
  5. `"stamen-terrain"`, `"stamen-toner"` or `"stamen-watercolor"` yield maps composed of *raster* tiles from the [Stadia Maps service](https://stadiamaps.com/) and require a Stadia Maps account and token.
  6. +
  7. `"basic"`, `"streets"`, `"outdoors"`, `"light"`, `"dark"`, `"satellite"`, or `"satellite-streets"` yield maps composed of *vector* tiles from the Mapbox service, and *do* require a Mapbox Access Token or an on-premise Mapbox installation.
  8. +
  9. A Mapbox service style URL, which requires a Mapbox Access Token or an on-premise Mapbox installation.
  10. +
  11. A Mapbox Style object as defined at https://docs.mapbox.com/mapbox-gl-js/style-spec/
  12. +
+--- diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-16-dark-tile.html b/content/plotly_js/maps/mapbox-layers/2019-08-16-dark-tile.html new file mode 100644 index 00000000000..8c9fc5d2505 --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-16-dark-tile.html @@ -0,0 +1,26 @@ +--- +name: Dark tiles +language: plotly_js +suite: map-layers +order: 7 +sitemap: false +arrangement: horizontal +--- +var url = "https://maplibre.org/maplibre-gl-js/docs/assets/significant-earthquakes-2015.geojson"; + +d3.json(url, (err, raw) => { + var lon = raw.features.map(f => f.geometry.coordinates[0]); + var lat = raw.features.map(f => f.geometry.coordinates[1]); + var z = raw.features.map(f => f.properties.mag); + + var data = [ + { type: "scattermap", lon: lon, lat: lat, z: z, hoverinfo: "y" } + ]; + + var layout = { + map: { style: "dark", zoom: 2, center: { lon: -150, lat: 60 } }, + margin: { t: 0, b: 0 } + }; + + Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-16-environment_canada.html b/content/plotly_js/maps/mapbox-layers/2019-08-16-environment_canada.html new file mode 100644 index 00000000000..9d2086ec376 --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-16-environment_canada.html @@ -0,0 +1,44 @@ +--- +name: Base Tiles from the USGS, radar overlay from Environment Canada +language: plotly_js +suite: map-layers +order: 6 +sitemap: false +arrangement: horizontal +markdown_content: | + + Here is the same example, with in addition, a WMS layer from Environment Canada which displays near-real-time radar imagery in partly-transparent raster tiles, rendered above the go.Scattermap trace, as is the default. +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var data = [{ + type: 'scattermap', text: unpack(rows, 'Globvalue'), + lon: unpack(rows, 'Lon'), lat: unpack(rows, 'Lat'), + marker: {color: 'fuchsia', size: 4} + }]; + +var layout = { + dragmode: 'zoom', + map: { + style: 'white-bg', + layers: [ + { + "below": 'traces', + "sourcetype": "raster", + "source": [ + "https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}" + ] + }, + { + sourcetype: "raster", + source: ["https://geo.weather.gc.ca/geomet/?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX={bbox-epsg-3857}&CRS=EPSG:3857&WIDTH=1000&HEIGHT=1000&LAYERS=RADAR_1KM_RDBR&TILED=true&FORMAT=image/png"]}], + below: 'traces', + center: {lat: 38, lon: -90}, zoom: 4}, + margin: {r: 0, t: 0, b: 0, l: 0}, + showlegend: false}; + +Plotly.newPlot('myDiv', data, layout); + }); diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-16-how-layers-work.html b/content/plotly_js/maps/mapbox-layers/2019-08-16-how-layers-work.html new file mode 100644 index 00000000000..4c533908be2 --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-16-how-layers-work.html @@ -0,0 +1,17 @@ +--- +name: How Layers work in Tile-based Maps +language: plotly_js +suite: map-layers +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + + If your figure contains one or more traces of type `Scattermap`, `Choroplethmap` or `Densitymap`, the `layout` object in your figure contains configuration information for the map itself. The map is composed of various layers, of three different types. +
    +
  1. `layout.map.style` defines the lowest layers, also known as your "base map"
  2. +
  3. The various traces in `data` are by default rendered above the base map (although this can be controlled via the `below` attribute).
  4. +
  5. `layout.map.layers` is an array that defines more layers that are by default rendered above the traces in `data` (although this can also be controlled via the `below` attribute).
  6. +
+ +--- diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-16-specify-a-base-map.html b/content/plotly_js/maps/mapbox-layers/2019-08-16-specify-a-base-map.html new file mode 100644 index 00000000000..229dfabcc58 --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-16-specify-a-base-map.html @@ -0,0 +1,12 @@ +--- +name: Using "layout.map.layers" to Specify a Base Map +language: plotly_js +suite: map-layers +order: 4 +sitemap: false +arrangement: horizontal +markdown_content: | + + If you have access to your own private tile servers, or wish to use a tile server not included in the list above, the recommended approach is to set layout.map.style to "white-bg" and to use layout.map.layers with below to specify a custom base map. + If you omit the below attribute when using this approach, your data will likely be hidden by fully-opaque raster tiles! +--- diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-16-white-bg.html b/content/plotly_js/maps/mapbox-layers/2019-08-16-white-bg.html new file mode 100644 index 00000000000..425781cf1a8 --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-16-white-bg.html @@ -0,0 +1,50 @@ +--- +name: Base Tiles from the USGS +language: plotly_js +suite: map-layers +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + + Here is an example of a map which uses a public USGS imagery map, specified in layout.map.layers, and which is rendered below the data layer. +--- +d3.csv( + "https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv", + function(err, rows) { + function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); + } + +var data = [ + { + type: "scattermap", + text: unpack(rows, "Globvalue"), + lon: unpack(rows, "Lon"), + lat: unpack(rows, "Lat"), + marker: { color: "fuchsia", size: 4 } + } +]; + +var layout = { + dragmode: "zoom", + map: { + style: "white-bg", + layers: [ + { + sourcetype: "raster", + source: ["https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}"], + below: "traces" + } + ], + center: { lat: 38, lon: -90 }, + zoom: 3 + }, + margin: { r: 0, t: 0, b: 0, l: 0 } +}; + +Plotly.newPlot("myDiv", data, layout); + } +); diff --git a/content/plotly_js/maps/mapbox-layers/2019-08-20-mapbox-layers_plotly_js_index.html b/content/plotly_js/maps/mapbox-layers/2019-08-20-mapbox-layers_plotly_js_index.html new file mode 100644 index 00000000000..3e36160d217 --- /dev/null +++ b/content/plotly_js/maps/mapbox-layers/2019-08-20-mapbox-layers_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make a tile-based maps in JavaScript with various base layers. +display_as: maps +language: plotly_js +layout: base +name: Tile Map Layers +order: 2 +page_type: example_index +permalink: javascript/tile-map-layers/ +redirect_from: javascript/mapbox-layers/ +thumbnail: thumbnail/mapbox-layers.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","map-layers" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/maplibre-migration/2024-08-29-migrate-to-maplibre_plotly_js_index.html b/content/plotly_js/maps/maplibre-migration/2024-08-29-migrate-to-maplibre_plotly_js_index.html new file mode 100644 index 00000000000..8105293a31d --- /dev/null +++ b/content/plotly_js/maps/maplibre-migration/2024-08-29-migrate-to-maplibre_plotly_js_index.html @@ -0,0 +1,56 @@ +--- +description: How to migrate from Mapbox traces to Maplibre traces. +display_as: maps +language: plotly_js +layout: base +name: Migrate to Maplibre +order: 1 +page_type: example_index +permalink: javascript/maplibre-migration/ +thumbnail: thumbnail/area.jpg +--- + +

With the release of Plotly.js v2.35.0, we are introducing a new set of trace types for maps with tile underlays:

+ +
    +
  • Choroplethmap
  • +
  • Scattermap
  • +
  • Densitymap
  • +
+ +

These traces replace the existing Mapbox traces, Choroplethmapbox, Scattermapbox, + Densitymapbox, but use MapLibre as the map renderer rather than + Mapbox. +

+ +

When switching to the new traces, keep an eye out for improved rendering performance, WebGL2 support, and over time, + improved features in the Plotly map traces inherited from the MapLibre renderer, including projection support, globe + views, terrain support, and support for modern mapping standards.

+ +

You can learn more about the motivations for this change in our announcement + post.

+ +

As a result of removing Mapbox as the rendering engine, we're also removing the Mapbox branding from these trace + names. + This means that migrating from Mapbox traces to MapLibre traces will require some code changes in your projects.

+ +
    +
  1. Change trace names from *mapbox to *map. For any existing trace name ending in + *mapbox, + ensure you've removed the "box" suffix. +
  2. +
  3. If in use, update layout.mapbox argument in your layout configuration to layout.map. + The nested properties are identical in the new map traces, so no other changes should be required.
  4. +
  5. If in use, update mapbox_style to map_style.
  6. +
  7. Verify your map_style settings. With mapbox traces, we bundle basic, + streets, + outdoors, light, dark, satellite, and + satellite-streets styles, + using Mapbox styling. These style names are still available, but they now reference slightly different styles + provided by other tools. +
  8. +
+ +

Note that Mapbox API keys are no longer required for Plotly-provided styles, but using external styles in your Plotly + maps remains supported with the existing API.

\ No newline at end of file diff --git a/content/plotly_js/maps/scatter-plot-on-maps/2015-07-11-canadian-cities.html b/content/plotly_js/maps/scatter-plot-on-maps/2015-07-11-canadian-cities.html new file mode 100644 index 00000000000..40535e0c07a --- /dev/null +++ b/content/plotly_js/maps/scatter-plot-on-maps/2015-07-11-canadian-cities.html @@ -0,0 +1,71 @@ +--- +name: Canadian Cities Map +language: plotly_js +suite: scatter-plots-on-maps +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [{ + type: 'scattergeo', + mode: 'markers+text', + text: [ + 'Montreal', 'Toronto', 'Vancouver', 'Calgary', 'Edmonton', + 'Ottawa', 'Halifax', 'Victoria', 'Winnepeg', 'Regina' + ], + lon: [ + -73.57, -79.24, -123.06, -114.1, -113.28, + -75.43, -63.57, -123.21, -97.13, -104.6 + ], + lat: [ + 45.5, 43.4, 49.13, 51.1, 53.34, 45.24, + 44.64, 48.25, 49.89, 50.45 + ], + marker: { + size: 7, + color: [ + '#bebada', '#fdb462', '#fb8072', '#d9d9d9', '#bc80bd', + '#b3de69', '#8dd3c7', '#80b1d3', '#fccde5', '#ffffb3' + ], + line: { + width: 1 + } + }, + name: 'Canadian cities', + textposition: [ + 'top right', 'top left', 'top center', 'bottom right', 'top right', + 'top left', 'bottom right', 'bottom left', 'top right', 'top right' + ], +}]; + +var layout = { + title: { + text: 'Canadian cities', + font: { + family: 'Droid Serif, serif', + size: 16 + } + }, + geo: { + scope: 'north america', + resolution: 50, + lonaxis: { + 'range': [-130, -55] + }, + lataxis: { + 'range': [40, 70] + }, + showrivers: true, + rivercolor: '#fff', + showlakes: true, + lakecolor: '#fff', + showland: true, + landcolor: '#EAEAAE', + countrycolor: '#d3d3d3', + countrywidth: 1.5, + subunitcolor: '#d3d3d3' + } +}; + +Plotly.newPlot('myDiv', data, layout); + diff --git a/content/plotly_js/maps/scatter-plot-on-maps/2015-07-11-scatter_maps_plotly_js_index.html b/content/plotly_js/maps/scatter-plot-on-maps/2015-07-11-scatter_maps_plotly_js_index.html new file mode 100644 index 00000000000..a155923345b --- /dev/null +++ b/content/plotly_js/maps/scatter-plot-on-maps/2015-07-11-scatter_maps_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make D3.js-based scatter plots on maps in JavaScript. Scatter + plots on maps highlight geographic areas and can be colored by value. +display_as: maps +language: plotly_js +layout: base +name: Scatter Plots on Maps +order: 7 +permalink: javascript/scatter-plots-on-maps/ +redirect_from: javascript-graphing-library/scatter-plots-on-maps/ +thumbnail: thumbnail/scatter-plot-on-maps.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","scatter-plots-on-maps" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/scatter-plot-on-maps/2015-08-12-US-airport-map.html b/content/plotly_js/maps/scatter-plot-on-maps/2015-08-12-US-airport-map.html new file mode 100644 index 00000000000..8eca7fd36be --- /dev/null +++ b/content/plotly_js/maps/scatter-plot-on-maps/2015-08-12-US-airport-map.html @@ -0,0 +1,64 @@ +--- +name: US Airports Map +language: plotly_js +suite: scatter-plots-on-maps +order: 2 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_february_us_airport_traffic.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var scl = [[0,'rgb(5, 10, 172)'],[0.35,'rgb(40, 60, 190)'],[0.5,'rgb(70, 100, 245)'], [0.6,'rgb(90, 120, 245)'],[0.7,'rgb(106, 137, 247)'],[1,'rgb(220, 220, 220)']]; + + var data = [{ + type:'scattergeo', + locationmode: 'USA-states', + lon: unpack(rows, 'long'), + lat: unpack(rows, 'lat'), + hoverinfor: unpack(rows, 'airport'), + text: unpack(rows, 'airport'), + mode: 'markers', + marker: { + size: 8, + opacity: 0.8, + reversescale: true, + autocolorscale: false, + symbol: 'square', + line: { + width: 1, + color: 'rgb(102,102,102)' + }, + colorscale: scl, + cmin: 0, + color: unpack(rows, 'cnt'), + colorbar: { + title: {text: 'Incoming Flights February 2011'} + } + } + }]; + + + var layout = { + title: {text: 'Most Trafficked US airports'}, + colorbar: true, + geo: { + scope: 'usa', + projection: { + type: 'albers usa' + }, + showland: true, + landcolor: 'rgb(250,250,250)', + subunitcolor: 'rgb(217,217,217)', + countrycolor: 'rgb(217,217,217)', + countrywidth: 0.5, + subunitwidth: 0.5 + } + }; + + Plotly.newPlot("myDiv", data, layout, {showLink: false}); + +}); diff --git a/content/plotly_js/maps/scatter-plot-on-maps/2015-08-15-north-america-percipitation-map.html b/content/plotly_js/maps/scatter-plot-on-maps/2015-08-15-north-america-percipitation-map.html new file mode 100644 index 00000000000..72305d52738 --- /dev/null +++ b/content/plotly_js/maps/scatter-plot-on-maps/2015-08-15-north-america-percipitation-map.html @@ -0,0 +1,83 @@ +--- +name: North America Precipitation Map +language: plotly_js +suite: scatter-plots-on-maps +order: 3 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + scl = [[0, 'rgb(150,0,90)'],[0.125, 'rgb(0, 0, 200)'],[0.25,'rgb(0, 25, 255)'],[0.375,'rgb(0, 152, 255)'],[0.5,'rgb(44, 255, 150)'],[0.625,'rgb(151, 255, 0)'],[0.75,'rgb(255, 234, 0)'],[0.875,'rgb(255, 111, 0)'],[1,'rgb(255, 0, 0)']]; + + var data = [{ + type: 'scattergeo', + mode: 'markers', + text: unpack(rows, 'Globvalue'), + lon: unpack(rows, 'Lon'), + lat: unpack(rows, 'Lat'), + marker: { + color: unpack(rows, 'Globvalue'), + colorscale: scl, + cmin: 0, + cmax: 1.4, + reversescale: true, + opacity: 0.2, + size: 2, + colorbar:{ + thickness: 10, + title: {side: + 'right' + }, + outlinecolor: 'rgba(68,68,68,0)', + ticks: 'outside', + ticklen: 3, + shoticksuffix: 'last', + ticksuffix: 'inches', + dtick: 0.1 + } + }, + name: 'NA Precipitation' + }]; + + var layout = { + geo:{ + scope: 'north america', + showland: true, + landcolor: 'rgb(212,212,212)', + subunitcolor: 'rgb(255,255,255)', + countrycolor: 'rgb(255,255,255)', + showlakes: true, + lakecolor: 'rgb(255,255,255)', + showsubunits: true, + showcountries: true, + resolution: 50, + projection: { + type: 'conic conformal', + rotation: { + long: -100 + } + }, + }, + longaxis: { + showgrid: true, + gridwidth: 0.5, + range: [ -140.0, -55.0 ], + dtick: 5 + }, + lataxis: { + showgrid: true, + gridwidth: 0.5, + range: [ 20.0, 60.0 ], + dtick: 5 + }, + title: {text: 'North America Precipitation'}, + width: 600, + height: 600 + }; + + Plotly.newPlot('myDiv', data, layout); + }); diff --git a/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_basic-mapbox.html b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_basic-mapbox.html new file mode 100644 index 00000000000..b8c3d7243d9 --- /dev/null +++ b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_basic-mapbox.html @@ -0,0 +1,46 @@ +--- +name: Basic Example (Mapbox) +language: plotly_js +suite: scatter-tile-maps +order: 10 +sitemap: false +arrangement: horizontal +markdown_content: | + + > Mapbox traces are deprecated and may be removed in a future version of Plotly.js. + + Earlier examples use traces that render with [Maplibre GL JS](https://maplibre.org/maplibre-gl-js/docs/). + These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, + which are now deprecated. Here's one of the earlier examples using the Mapbox-based `choroplethmapbox` trace +--- + +var data = [{ + type:'scattermapbox', + lat:['45.5017'], + lon:['-73.5673'], + mode:'markers', + marker: { + size:14 + }, + text:['Montreal'] +}] + +var layout = { + autosize: true, + hovermode:'closest', + mapbox: { + bearing:0, + center: { + lat:45, + lon:-73 + }, + pitch:0, + zoom:5 + }, +} + +Plotly.setPlotConfig({ + mapboxAccessToken: "your access token" +}) + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_basic.html b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_basic.html new file mode 100644 index 00000000000..1e49a08baab --- /dev/null +++ b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_basic.html @@ -0,0 +1,35 @@ +--- +name: Basic Example +language: plotly_js +suite: scatter-tile-maps +order: 1 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type:'scattermap', + lat:['45.5017'], + lon:['-73.5673'], + mode:'markers', + marker: { + size:14 + }, + text:['Montreal'] +}] + +var layout = { + autosize: true, + hovermode:'closest', + map: { + bearing:0, + center: { + lat:45, + lon:-73 + }, + pitch:0, + zoom:5 + }, +} + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_colorscale.html b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_colorscale.html new file mode 100644 index 00000000000..9696a6a3464 --- /dev/null +++ b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_colorscale.html @@ -0,0 +1,72 @@ +--- +name: Adding Colorscale to Maps +language: plotly_js +suite: scatter-tile-maps +order: 3 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + scl = [[0, 'rgb(150,0,90)'],[0.125, 'rgb(0, 0, 200)'],[0.25,'rgb(0, 25, 255)'],[0.375,'rgb(0, 152, 255)'],[0.5,'rgb(44, 255, 150)'],[0.625,'rgb(151, 255, 0)'],[0.75,'rgb(255, 234, 0)'],[0.875,'rgb(255, 111, 0)'],[1,'rgb(255, 0, 0)']]; + + var data = [{ + type: 'scattermap', + mode: 'markers', + text: unpack(rows, 'Globvalue'), + lon: unpack(rows, 'Lon'), + lat: unpack(rows, 'Lat'), + marker: { + color: unpack(rows, 'Globvalue'), + colorscale: scl, + cmin: 0, + cmax: 1.4, + reversescale: true, + opacity: 0.5, + size: 3, + colorbar:{ + thickness: 10, + title: {side: + 'right' + }, + outlinecolor: 'rgba(68,68,68,0)', + ticks: 'outside', + ticklen: 3, + shoticksuffix: 'last', + ticksuffix: 'inches', + dtick: 0.1 + } + }, + name: 'NA Precipitation' + }]; + + layout = { + dragmode: 'zoom', + map: { + center: { + lat: 38.03697222, + lon: -90.70916722 + }, + domain: { + x: [0, 1], + y: [0, 1] + }, + style: 'light', + zoom: 3 + }, + margin: { + r: 0, + t: 0, + b: 0, + l: 0, + pad: 0 + }, + showlegend: false + }; + + Plotly.newPlot('myDiv', data, layout); + }); diff --git a/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_lines.html b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_lines.html new file mode 100644 index 00000000000..8b4f827d9b6 --- /dev/null +++ b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_lines.html @@ -0,0 +1,71 @@ +--- +name: Adding Lines to Maps +language: plotly_js +suite: scatter-tile-maps +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/c34aaa0b1b3cddad335173cb7bc0181897201ee6/2011_february_aa_flight_paths.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; });} + + function getMaxOfArray(numArray) { + return Math.max.apply(null, numArray); + } + + var data = []; + var count = unpack(rows, 'cnt'); + var startLongitude = unpack(rows, 'start_lon'); + var endLongitude = unpack(rows, 'end_lon'); + var startLat = unpack(rows, 'start_lat'); + var endLat = unpack(rows, 'end_lat'); + + for ( var i = 0 ; i < count.length; i++ ) { + var opacityValue = count[i]/getMaxOfArray(count); + + var result = { + type: 'scattermap', + lon: [ startLongitude[i] , endLongitude[i] ], + lat: [ startLat[i] , endLat[i] ], + mode: 'lines', + line: { + width: 1, + color: 'red' + }, + opacity: opacityValue + }; + + data.push(result); + }; + + layout = { + dragmode: 'zoom', + map: { + center: { + lat: 38.03697222, + lon: -90.70916722 + }, + domain: { + x: [0, 1], + y: [0, 1] + }, + style: 'dark', + zoom: 2 + }, + margin: { + r: 0, + t: 0, + b: 0, + l: 0, + pad: 0 + }, + paper_bgcolor: '#191A1A', + plot_bgcolor: '#191A1A', + showlegend: false + }; + + Plotly.newPlot("myDiv", data, layout, {showLink: false}); + +}); diff --git a/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_multiple.html b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_multiple.html new file mode 100644 index 00000000000..5205be9370e --- /dev/null +++ b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_multiple.html @@ -0,0 +1,70 @@ +--- +name: Multiple Markers +language: plotly_js +suite: scatter-tile-maps +order: 2 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/meteorites_subset.csv', function(err, rows){ + + var classArray = unpack(rows, 'class'); + var classes = [...new Set(classArray)]; + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + var data = classes.map(function(classes) { + var rowsFiltered = rows.filter(function(row) { + return (row.class === classes); + }); + return { + type: 'scattermap', + name: classes, + lat: unpack(rowsFiltered, 'reclat'), + lon: unpack(rowsFiltered, 'reclong') + }; + }); + + var layout = { + title: {text: 'Meteorite Landing Locations'}, + font: { + color: 'white' + }, + dragmode: 'zoom', + map: { + center: { + lat: 38.03697222, + lon: -90.70916722 + }, + domain: { + x: [0, 1], + y: [0, 1] + }, + style: 'dark', + zoom: 1 + }, + margin: { + r: 20, + t: 40, + b: 20, + l: 20, + pad: 0 + }, + paper_bgcolor: '#191A1A', + plot_bgcolor: '#191A1A', + showlegend: true, + annotations: [{ + x: 0, + y: 0, + xref: 'paper', + yref: 'paper', + text: 'Source: NASA', + showarrow: false + }] + }; + + Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_plotly_js_index.html b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_plotly_js_index.html new file mode 100644 index 00000000000..efef2c95699 --- /dev/null +++ b/content/plotly_js/maps/scattermapbox/2017-08-01-scattermapbox_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make scatter plots on tile maps in Plotly.JS +display_as: maps +language: plotly_js +layout: base +name: Scatter Plots on Tile Maps +order: 8 +permalink: javascript/scatter-tile-maps/ +redirect_from: javascript/scattermapbox/ +thumbnail: thumbnail/scatter-mapbox.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","scatter-tile-maps" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/maps/scattermapbox/2019-09-02-symbols.html b/content/plotly_js/maps/scattermapbox/2019-09-02-symbols.html new file mode 100644 index 00000000000..a66df21a855 --- /dev/null +++ b/content/plotly_js/maps/scattermapbox/2019-09-02-symbols.html @@ -0,0 +1,28 @@ +--- +name: Set Marker Symbols +language: plotly_js +suite: scatter-tile-maps +order: 5 +sitemap: false +arrangement: horizontal +markdown_content: | + This example uses [symbol attribute](https://plotly.com/javascript/reference/scattermap/#scattermap-marker-symbol) to set the marker symbol. +--- +var data = [ + { + type: "scattermap", + mode: "markers+text+lines", + lon: [-75, -80, -50], + lat: [45, 20, -20], + marker: { size: 20, symbol: ["bus", "harbor", "airport"] }, + text: ["Bus", "Harbor", "Airport"], + textposition: "bottom right" + } +]; + +var layout = { + map: { style: "outdoors", zoom: 0.7 }, + showlegend: false, height: 500, width: 700 +}; + +Plotly.newPlot("myDiv", data, layout); diff --git a/content/plotly_js/scientific/2017-02-24-plotly_js-scientific-index.html b/content/plotly_js/scientific/2017-02-24-plotly_js-scientific-index.html new file mode 100644 index 00000000000..f4d7c6eff2b --- /dev/null +++ b/content/plotly_js/scientific/2017-02-24-plotly_js-scientific-index.html @@ -0,0 +1,27 @@ +--- +permalink: javascript/scientific-charts/ +description: Plotly.js makes interactive, publication-quality graphs online. Examples of how to make scientific graphs such as heatmaps and contour plots. +name: Scientific Charts +layout: langindex +language: plotly_js +display_as: scientific +thumbnail: thumbnail/mixed.jpg +--- + + +
+
+ +
+ +
+

Plotly.js Scientific Charts

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","scientific" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/scientific/carpet-contour/2017-05-16-add_contours.html b/content/plotly_js/scientific/carpet-contour/2017-05-16-add_contours.html new file mode 100644 index 00000000000..03876167bcb --- /dev/null +++ b/content/plotly_js/scientific/carpet-contour/2017-05-16-add_contours.html @@ -0,0 +1,69 @@ +--- +name: Add Contours +language: plotly_js +suite: contourcarpet +order: 2 +sitemap: false +arrangement: horizontal +description: +--- + +var trace1 = { + type: 'contourcarpet', + a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], + b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6], + z: [1, 1.96, 2.56, 3.0625, 4, 5.0625, 1, 7.5625, 9, 12.25, 15.21, 14.0625], + autocontour: false, + contours: { + start: 1, + end: 14, + size: 1 + }, + line: { + width: 2, + smoothing: 0 + }, + colorbar: { + len: 0.4, + y: 0.25 + } +} + +var trace2 = { + type: 'carpet', + a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], + b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6], + x: [2, 3, 4, 5, 2.2, 3.1, 4.1, 5.1, 1.5, 2.5, 3.5, 4.5], + y: [1, 1.4, 1.6, 1.75, 2, 2.5, 2.7, 2.75, 3, 3.5, 3.7, 3.75], + aaxis: { + tickprefix: "a = ", + smoothing: 0, + minorgridcount: 9, + type: 'linear' +}, + baxis: { + tickprefix: "b = ", + smoothing: 0, + minorgridcount: 9, + type: 'linear' + } +} + +var layout = { + title: { + text: "Cheater plot with 1d input" + }, + margin: { + t: 40, r: 30, b: 30, l: 30 + }, + yaxis: { + range: [0.388,4.361] + }, + xaxis: { + range: [0.667,5.932] + } +} + +var data = [trace1,trace2] + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/scientific/carpet-contour/2017-05-16-basic_contourcarpet.html b/content/plotly_js/scientific/carpet-contour/2017-05-16-basic_contourcarpet.html new file mode 100644 index 00000000000..1fac3e8c30f --- /dev/null +++ b/content/plotly_js/scientific/carpet-contour/2017-05-16-basic_contourcarpet.html @@ -0,0 +1,48 @@ +--- +name: Basic Carpet Plot +language: plotly_js +suite: contourcarpet +order: 1 +sitemap: false +arrangement: horizontal +description: +--- + +var trace1 = { + type: 'carpet', + a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], + b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6], + x: [2, 3, 4, 5, 2.2, 3.1, 4.1, 5.1, 1.5, 2.5, 3.5, 4.5], + y: [1, 1.4, 1.6, 1.75, 2, 2.5, 2.7, 2.75, 3, 3.5, 3.7, 3.75], + aaxis: { + tickprefix: "a = ", + smoothing: 0, + minorgridcount: 9, + type: 'linear' +}, + baxis: { + tickprefix: "b = ", + smoothing: 0, + minorgridcount: 9, + type: 'linear' + } +} + +var layout = { + title: { + text: "Cheater plot with 1d input" + }, + margin: { + t: 40, r: 30, b: 30, l: 30 + }, + yaxis: { + range: [0.388,4.361] + }, + xaxis: { + range: [0.667,5.932] + } +} + +var data = [trace1] + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/scientific/carpet-contour/2017-05-16-contourcarpet_index.html b/content/plotly_js/scientific/carpet-contour/2017-05-16-contourcarpet_index.html new file mode 100644 index 00000000000..25d2904f137 --- /dev/null +++ b/content/plotly_js/scientific/carpet-contour/2017-05-16-contourcarpet_index.html @@ -0,0 +1,13 @@ +--- +description: How to make D3.js-based carpet contour plots in Plotly.js. +display_as: scientific +language: plotly_js +layout: base +name: Carpet Contour Plot +order: 11 +permalink: javascript/carpet-contour/ +thumbnail: thumbnail/contourcarpet.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","contourcarpet" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/carpet-contour/2017-05-16-mulitple_contourcarpet.html b/content/plotly_js/scientific/carpet-contour/2017-05-16-mulitple_contourcarpet.html new file mode 100644 index 00000000000..d8c00502812 --- /dev/null +++ b/content/plotly_js/scientific/carpet-contour/2017-05-16-mulitple_contourcarpet.html @@ -0,0 +1,189 @@ +--- +name: Add Multiple Traces +language: plotly_js +suite: contourcarpet +order: 3 +sitemap: false +arrangement: horizontal +description: +--- +function Get(url){ + var Httpreq = new XMLHttpRequest(); + Httpreq.open("GET",url,false); + Httpreq.send(null); + return Httpreq.responseText; +} + +var json_obj = JSON.parse(Get("https://raw.githubusercontent.com/bcdunbar/datasets/master/airfoil_data.json")); + +var trace1 = { + a: json_obj[0].a, + b: json_obj[0].b, + baxis: { + startline: false, + endline: false, + showticklabels: "none", + smoothing: 0, + showgrid: false + }, + x: json_obj[0].x, + y: json_obj[0].y, + type: "carpet", + aaxis:{ + startlinewidth: 2, + startline: true, + showticklabels: "none", + endline: true, + showgrid: false, + endlinewidth: 2, + smoothing: 0 + } + } + + var trace2 = { + autocolorscale: false, + zmax: 1, + name: "Pressure", + colorscale: "Viridis", + zmin: -8, + colorbar: { + y: 0, + yanchor: "bottom", + title: {side: + 'right' + }, + len: 0.75, + title: { + text: "Pressure coefficient, cp" + }, + }, + contours: { + start: -1, + size: 0.025, + end: 1.000, + showlines: false + }, + line: { + smoothing: 0 + }, + z: json_obj[1].z, + type: "contourcarpet", + autocontour: false, + zauto: false + } + + var trace3 = { + opacity: 0.300, + showlegend: true, + name: "Streamlines", + autocontour: true, + ncontours: 50, + contours: { + coloring: "none" + }, + line: { + color: "white", + width: 1 + }, + z: json_obj[2].z, + type: "contourcarpet" + } + + var trace4 = { + showlegend: true, + name: "Pressure
contours", + autocontour: false, + z: json_obj[3].z, + type: "contourcarpet", + line: { + color: "rgba(0, 0, 0, 0.5)", + smoothing: 1 + }, + contours: { + size: 0.250, + start: -4, + coloring: "none", + end: 1.000, + showlines: true + } + } + + var trace5 = { + legendgroup: "g1", + name: "Surface
pressure", + mode: "lines", + hoverinfo: "skip", + x: json_obj[4].x, + y: json_obj[4].y, + line: { + color: "rgba(255, 0, 0, 0.5)", + width: 1, + shape: "spline", + smoothing: 1 + }, + fill: "toself", + type: "scatter", + fillcolor: "rgba(255, 0, 0, 0.2)" + } + + var trace6 = { + showlegend: false, + legendgroup: "g1", + mode: "lines", + hoverinfo: "skip", + x: json_obj[5].x, + y: json_obj[5].y, + line: { + color: "rgba(255, 0, 0, 0.3)", + width: 1 + }, + type: "scatter" + } + + var trace7 = { + showlegend: false, + legendgroup: "g1", + name: "cp", + text: json_obj[6].text, + mode: "lines", + hoverinfo: "text", + x: json_obj[6].x, + y: json_obj[6].y, + line: { + color: "rgba(255, 0, 0, 0.2)", + width: 0 + }, + type: "scatter" + } + +data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7] + +var layout = { + yaxis: { + zeroline: false, + range: [-1.800,1.800], + showgrid: false + }, + dragmode: "pan", + height: 700, + xaxis: { + zeroline: false, + scaleratio: 1, + scaleanchor: "y", + range: [-3.800,3.800], + showgrid: false + }, + title: { + text: "Flow over a Karman-Trefftz airfoil" + }, + hovermode: "closest", + margin: { + r: 60, + b: 40, + l: 40, + t: 80 + }, + width: 900 + } + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/carpet-scatter/2017-05-16-add-scattercarpet-trace.html b/content/plotly_js/scientific/carpet-scatter/2017-05-16-add-scattercarpet-trace.html new file mode 100644 index 00000000000..fe745769e2f --- /dev/null +++ b/content/plotly_js/scientific/carpet-scatter/2017-05-16-add-scattercarpet-trace.html @@ -0,0 +1,39 @@ +--- +name: Add Carpet Scatter Trace +language: plotly_js +suite: scattercarpet +order: 2 +sitemap: false +arrangement: horizontal +description: +--- + +var trace1 = { + type: 'carpet', + a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6), + b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6), + y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10], + aaxis: { + tickprefix: 'a = ', + ticksuffix: 'm', + smoothing: 1, + minorgridcount: 9, + }, + baxis: { + tickprefix: 'b = ', + ticksuffix: 'Pa', + smoothing: 1, + minorgridcount: 9, + } +} + +var trace2 = { + type: 'scattercarpet', + a: [4, 4.5, 5, 6].map(a => a * 1e-6), + b: [1.5, 2.5, 1.5, 2.5].map(b => b * 1e6), + line: {shape: 'spline', smoothing: 1} +} + +var data = [trace1,trace2] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/scientific/carpet-scatter/2017-05-16-basic-scattercarpet.html b/content/plotly_js/scientific/carpet-scatter/2017-05-16-basic-scattercarpet.html new file mode 100644 index 00000000000..436c9a0ff5e --- /dev/null +++ b/content/plotly_js/scientific/carpet-scatter/2017-05-16-basic-scattercarpet.html @@ -0,0 +1,32 @@ +--- +name: Basic Carpet Plot +language: plotly_js +suite: scattercarpet +order: 1 +sitemap: false +arrangement: horizontal +description: +--- + +var trace1 = { + type: 'carpet', + a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6), + b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6), + y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10], + aaxis: { + tickprefix: 'a = ', + ticksuffix: 'm', + smoothing: 1, + minorgridcount: 9, + }, + baxis: { + tickprefix: 'b = ', + ticksuffix: 'Pa', + smoothing: 1, + minorgridcount: 9, + } +} + +var data = [trace1] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/scientific/carpet-scatter/2017-05-16-multiple_scattercarpet.html b/content/plotly_js/scientific/carpet-scatter/2017-05-16-multiple_scattercarpet.html new file mode 100644 index 00000000000..5d02f5b58ad --- /dev/null +++ b/content/plotly_js/scientific/carpet-scatter/2017-05-16-multiple_scattercarpet.html @@ -0,0 +1,106 @@ +--- +name: Add Multiple Carpet Scatter Traces +language: plotly_js +suite: scattercarpet +order: 3 +sitemap: false +arrangement: horizontal +description: +--- + +var trace1 = { + type: "carpet", + a: [0.1, 0.2, 0.3], + b: [1, 2, 3], + y: [ + [1, 2.2, 3], + [1.5, 2.7, 3.5], + [1.7, 2.9, 3.7] + ], + cheaterslope: 1, + aaxis: { + title: { + text: "a" + }, + tickmode: "linear", + dtick: 0.05, + minorgridcount: 9 + }, + baxis: { + title: { + text: "b" + }, + tickmode: "linear", + dtick: 0.5, + minorgridcount: 9 + } +} + +var trace2 = { + type: "scattercarpet", + name: "b = 1.5", + a: [0.05, 0.15, 0.25, 0.35], + b: [1.5, 1.5, 1.5, 1.5] +} + +var trace3 = { + type: "scattercarpet", + name: "b = 2", + a: [0.05, 0.15, 0.25, 0.35], + b: [2, 2, 2, 2] +} + +var trace4 = { + type: "scattercarpet", + name: "b = 2.5", + a: [0.05, 0.15, 0.25, 0.35], + b: [2.5, 2.5, 2.5, 2.5] +} + +var trace5 = { + type: "scattercarpet", + name: "a = 0.15", + a: [0.15, 0.15, 0.15, 0.15], + b: [0.5, 1.5, 2.5, 3.5], + line: { + smoothing: 1, + shape: "spline" + } +} + +var trace6 = { + type: "scattercarpet", + name: "a = 0.2", + a: [0.2, 0.2, 0.2, 0.2], + b: [0.5, 1.5, 2.5, 3.5], + line: { + smoothing: 1, + shape: "spline" + }, + marker: { + size: [10, 20, 30, 40], + color: ["#000", "#f00", "#ff0", "#fff"] + } +} + +var trace7 = { + type: "scattercarpet", + name: "a = 0.25", + a: [0.25, 0.25, 0.25, 0.25], + b: [0.5, 1.5, 2.5, 3.5], + line: { + smoothing: 1, + shape: "spline" + } +} + +var data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7] + +var layout = { + title: { + text: "scattercarpet extrapolation, clipping, and smoothing" + }, + hovermode: "closest" +} + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/scientific/carpet-scatter/2017-05-16-scattercarpet_index.html b/content/plotly_js/scientific/carpet-scatter/2017-05-16-scattercarpet_index.html new file mode 100644 index 00000000000..bb32bd1b223 --- /dev/null +++ b/content/plotly_js/scientific/carpet-scatter/2017-05-16-scattercarpet_index.html @@ -0,0 +1,13 @@ +--- +description: How to make D3.js-based carpet scatter plots in Plotly.js. +display_as: scientific +language: plotly_js +layout: base +name: Carpet Scatter Plot +order: 10 +permalink: javascript/carpet-scatter/ +thumbnail: thumbnail/scattercarpet.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","scattercarpet" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/carpet/2017-05-16-add_axis_carpet.html b/content/plotly_js/scientific/carpet/2017-05-16-add_axis_carpet.html new file mode 100644 index 00000000000..908c19bad00 --- /dev/null +++ b/content/plotly_js/scientific/carpet/2017-05-16-add_axis_carpet.html @@ -0,0 +1,32 @@ +--- +name: Add A and B axis +language: plotly_js +suite: carpet +order: 3 +sitemap: false +arrangement: horizontal +description: +--- + +var data = { + type: 'carpet', + a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6], + b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], + y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10], + aaxis: { + tickprefix: 'a = ', + ticksuffix: 'm', + smoothing: 1, + minorgridcount: 9 + }, + baxis: { + tickprefix: 'b = ', + ticksuffix: 'Pa', + smoothing: 1, + minorgridcount: 9 + } +} + +var data = [data] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/scientific/carpet/2017-05-16-add_parameter_values.html b/content/plotly_js/scientific/carpet/2017-05-16-add_parameter_values.html new file mode 100644 index 00000000000..9f5a265d207 --- /dev/null +++ b/content/plotly_js/scientific/carpet/2017-05-16-add_parameter_values.html @@ -0,0 +1,20 @@ +--- +name: Add Parameter Values +language: plotly_js +suite: carpet +order: 2 +sitemap: false +arrangement: horizontal +description: +--- + +var data = { + type: 'carpet', + a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6], + b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], + y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10] +} + +var data = [data] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/scientific/carpet/2017-05-16-carpet_index.html b/content/plotly_js/scientific/carpet/2017-05-16-carpet_index.html new file mode 100644 index 00000000000..5f11c12b807 --- /dev/null +++ b/content/plotly_js/scientific/carpet/2017-05-16-carpet_index.html @@ -0,0 +1,14 @@ +--- +description: How to make D3.js-based carpet plots in Plotly.js. +display_as: scientific +language: plotly_js +layout: base +name: Carpet Plot +order: 9 +permalink: javascript/carpet-plot/ +redirect_from: javascript/carpet-plots/ +thumbnail: thumbnail/carpet.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","carpet" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/carpet/2017-05-16-points-and-contours.html b/content/plotly_js/scientific/carpet/2017-05-16-points-and-contours.html new file mode 100644 index 00000000000..b01c45d64a5 --- /dev/null +++ b/content/plotly_js/scientific/carpet/2017-05-16-points-and-contours.html @@ -0,0 +1,9 @@ +--- +name: Add Points and Contours +language: plotly_js +suite: carpet +order: 5 +sitemap: false +arrangement: horizontal +description: To add points and lines see Carpet Scatter Plots or to add contours see Carpet Contour Plots +--- diff --git a/content/plotly_js/scientific/carpet/2017-05-16-set_coordinates.html b/content/plotly_js/scientific/carpet/2017-05-16-set_coordinates.html new file mode 100644 index 00000000000..65de33a62f9 --- /dev/null +++ b/content/plotly_js/scientific/carpet/2017-05-16-set_coordinates.html @@ -0,0 +1,17 @@ +--- +name: Set X and Y Coordinates +language: plotly_js +suite: carpet +order: 1 +sitemap: false +arrangement: horizontal +description: +--- +var data = { + type: 'carpet', + y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10] +} + +var data = [data] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/scientific/carpet/2017-05-16-styled_carpet.html b/content/plotly_js/scientific/carpet/2017-05-16-styled_carpet.html new file mode 100644 index 00000000000..3f5469d0791 --- /dev/null +++ b/content/plotly_js/scientific/carpet/2017-05-16-styled_carpet.html @@ -0,0 +1,41 @@ +--- +name: Style A and B axis +language: plotly_js +suite: carpet +order: 4 +sitemap: false +arrangement: horizontal +description: +--- + +var trace1 = { + type: "carpet", + a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6], + b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], + y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10], + aaxis: { + tickprefix: 'a = ', + ticksuffix: 'm', + smoothing: 1, + minorgridcount: 9, + minorgridcolor: 'white', + gridcolor: 'white', + color: 'white' + }, + baxis: { + tickprefix: 'b = ', + ticksuffix: 'pa', + smoothing: 1, + minorgridcount: 9, + minorgridcolor: 'white', + gridcolor: 'white', + color: 'white' + } +} + +var layout = { + plot_bgcolor: 'black', + paper_bgcolor: 'black' +} + +Plotly.newPlot('myDiv', [trace1], layout) diff --git a/content/plotly_js/scientific/contour/2015-04-09-contour_plotly_js_index.html b/content/plotly_js/scientific/contour/2015-04-09-contour_plotly_js_index.html new file mode 100644 index 00000000000..8eb71c59c82 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-04-09-contour_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based contour plot in javascript. Examples of contour + plots of matrices with subplots, custom color-scales, and smoothing. +display_as: scientific +language: plotly_js +layout: base +name: Contour Plots +order: 1 +page_type: example_index +permalink: javascript/contour-plots/ +redirect_from: javascript-graphing-library/contour-plots/ +thumbnail: thumbnail/contour.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","contour" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/contour/2015-04-09-simple-contour.html b/content/plotly_js/scientific/contour/2015-04-09-simple-contour.html new file mode 100644 index 00000000000..848434a750d --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-04-09-simple-contour.html @@ -0,0 +1,31 @@ +--- +name: Simple Contour Plot +language: plotly_js +suite: contour +order: 1 +sitemap: false +arrangement: horizontal +--- +var size = 100, x = new Array(size), y = new Array(size), z = new Array(size), i, j; + +for(var i = 0; i < size; i++) { + x[i] = y[i] = -2 * Math.PI + 4 * Math.PI * i / size; + z[i] = new Array(size); +} + +for(var i = 0; i < size; i++) { + for(j = 0; j < size; j++) { + var r2 = x[i]*x[i] + y[j]*y[j]; + z[i][j] = Math.sin(x[i]) * Math.cos(y[j]) * Math.sin(r2) / Math.log(r2+1); + } +} + +var data = [ { + z: z, + x: x, + y: y, + type: 'contour' + } +]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/scientific/contour/2015-08-10-basic-contour.html b/content/plotly_js/scientific/contour/2015-08-10-basic-contour.html new file mode 100644 index 00000000000..06ac1a5e057 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-10-basic-contour.html @@ -0,0 +1,26 @@ +--- +name: Basic Contour Plot +language: plotly_js +suite: contour +order: 2 +sitemap: false +arrangement: horizontal +--- + +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5.0, 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour' + } +]; + +var layout = { + title: { + text: 'Basic Contour Plot' + } +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-color-bar-size-for-contour-plots.html b/content/plotly_js/scientific/contour/2015-08-12-color-bar-size-for-contour-plots.html new file mode 100644 index 00000000000..0bc303da534 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-color-bar-size-for-contour-plots.html @@ -0,0 +1,32 @@ +--- +name: Color Bar Size +language: plotly_js +suite: contour +order: 12 +sitemap: false +arrangement: horizontal +--- + +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorbar:{ + thickness: 75, + thicknessmode: 'pixels', + len: 0.9, + lenmode: 'fraction', + outlinewidth: 0 + } +}]; + +var layout = { + title: { + text: 'Colorbar Size for Contour Plots' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-color-bar-title.html b/content/plotly_js/scientific/contour/2015-08-12-color-bar-title.html new file mode 100644 index 00000000000..0bc69b96e3f --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-color-bar-title.html @@ -0,0 +1,34 @@ +--- +name: Color Bar Title +language: plotly_js +suite: contour +order: 11 +sitemap: false +arrangement: horizontal +--- +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorbar:{ + title: { + text: 'Color Bar Title', + side: 'right', + font: { + size: 14, + family: 'Arial, sans-serif' + } + } + } +}]; + +var layout = { + title: { + text: 'Colorbar with a Title' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-colorscale-for-contour-plot.html b/content/plotly_js/scientific/contour/2015-08-12-colorscale-for-contour-plot.html new file mode 100644 index 00000000000..c299d2d6fbe --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-colorscale-for-contour-plot.html @@ -0,0 +1,26 @@ +--- +name: Colorscale for Contour Plot +language: plotly_js +suite: contour +order: 4 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorscale: 'Jet', +}]; + +var layout = { + title: { + text: 'Colorscale for Contour Plot' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-connect-gaps-in-matrix-contour.html b/content/plotly_js/scientific/contour/2015-08-12-connect-gaps-in-matrix-contour.html new file mode 100644 index 00000000000..84f86c588e8 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-connect-gaps-in-matrix-contour.html @@ -0,0 +1,93 @@ +--- +name: Connect the Gaps between Null Values in the Z Matrix +language: plotly_js +suite: contour +order: 7 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + z: [[null, null, null, 12, 13, 14, 15, 16], + [null, 1, null, 11, null, null, null, 17], + [null, 2, 6, 7, null, null, null, 18], + [null, 3, null, 8, null, null, null, 19], + [5, 4, 10, 9, null, null, null, 20], + [null, null, null, 27, null, null, null, 21], + [null, null, null, 26, 25, 24, 23, 22]], + type: 'contour', + showscale: false, + xaxis: 'x1', + yaxis: 'y1' +}; + +var trace2 = { + z: [[null, null, null, 12, 13, 14, 15, 16], + [null, 1, null, 11, null, null, null, 17], + [null, 2, 6, 7, null, null, null, 18], + [null, 3, null, 8, null, null, null, 19], + [5, 4, 10, 9, null, null, null, 20], + [null, null, null, 27, null, null, null, 21], + [null, null, null, 26, 25, 24, 23, 22]], + connectgaps: true, + type: 'contour', + showscale: false, + xaxis: 'x2', + yaxis: 'y2' +}; + +var trace3 = { + z: [[null, null, null, 12, 13, 14, 15, 16], + [null, 1, null, 11, null, null, null, 17], + [null, 2, 6, 7, null, null, null, 18], + [null, 3, null, 8, null, null, null, 19], + [5, 4, 10, 9, null, null, null, 20], + [null, null, null, 27, null, null, null, 21], + [null, null, null, 26, 25, 24, 23, 22]], + zsmooth: 'best', + type: 'heatmap', + showscale: false, + xaxis: 'x3', + yaxis: 'y3' +}; + +var trace4 = { + z: [[null, null, null, 12, 13, 14, 15, 16], + [null, 1, null, 11, null, null, null, 17], + [null, 2, 6, 7, null, null, null, 18], + [null, 3, null, 8, null, null, null, 19], + [5, 4, 10, 9, null, null, null, 20], + [null, null, null, 27, null, null, null, 21], + [null, null, null, 26, 25, 24, 23, 22]], + zsmooth: 'best', + type: 'heatmap', + showscale: false, + connectgaps: true, + xaxis: 'x4', + yaxis: 'y4' +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: { + text: 'Connect the Gaps Between Null Values in the Z Matrix' + }, + xaxis: {domain: [0, 0.45], + anchor: 'y1'}, + yaxis: {domain: [0.55, 1], + anchor: 'x1'}, + xaxis2: {domain: [0.55, 1], + anchor: 'y2'}, + yaxis2: {domain: [0.55, 1], + anchor: 'x2'}, + xaxis3: {domain: [0, 0.45], + anchor: 'y3'}, + yaxis3: {domain: [0, 0.45], + anchor: 'x3'}, + xaxis4: {domain: [0.55, 1], + anchor: 'y4'}, + yaxis4: {domain: [0, 0.45], + anchor: 'x4'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-contour-lines.html b/content/plotly_js/scientific/contour/2015-08-12-contour-lines.html new file mode 100644 index 00000000000..20e3ba0a961 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-contour-lines.html @@ -0,0 +1,28 @@ +--- +name: Contour Lines +language: plotly_js +suite: contour +order: 9 +sitemap: false +arrangement: horizontal +--- +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorscale: 'Jet', + contours:{ + coloring: 'lines' + } +}]; + +var layout = { + title: { + text: 'Contour Lines' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-cumtom-size-and-range-contour.html b/content/plotly_js/scientific/contour/2015-08-12-cumtom-size-and-range-contour.html new file mode 100644 index 00000000000..086c133901c --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-cumtom-size-and-range-contour.html @@ -0,0 +1,32 @@ +--- +name: Customizing Size and Range of a Contour Plot's Contours +language: plotly_js +suite: contour +order: 5 +sitemap: false +arrangement: horizontal +--- + +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorscale: 'Jet', + autocontour: false, + contours: { + start: 0, + end: 8, + size: 2 + } +}]; + +var layout = { + title: { + text: 'Customizing Size and Range of Contours' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-custom-colorscale-for-contour-plot.html b/content/plotly_js/scientific/contour/2015-08-12-custom-colorscale-for-contour-plot.html new file mode 100644 index 00000000000..92dc1e37e53 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-custom-colorscale-for-contour-plot.html @@ -0,0 +1,27 @@ +--- +name: Custom Colorscale for Contour Plot +language: plotly_js +suite: contour +order: 10 +sitemap: false +arrangement: horizontal +--- + +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorscale: [[0, 'rgb(166,206,227)'], [0.25, 'rgb(31,120,180)'], [0.45, 'rgb(178,223,138)'], [0.65, 'rgb(51,160,44)'], [0.85, 'rgb(251,154,153)'], [1, 'rgb(227,26,28)']] +} +]; + +var layout = { + title: { + text: 'Custom Contour Plot Colorscale' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-customizing-spacing-between-x-and-y-ticks.html b/content/plotly_js/scientific/contour/2015-08-12-customizing-spacing-between-x-and-y-ticks.html new file mode 100644 index 00000000000..f5ca487b622 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-customizing-spacing-between-x-and-y-ticks.html @@ -0,0 +1,29 @@ +--- +name: Customizing Spacing Between X and Y Ticks +language: plotly_js +suite: contour +order: 6 +sitemap: false +arrangement: horizontal +--- +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorscale: 'Jet', + dx: 10, + x0: 5, + dy: 10, + y0: 10 +}]; + +var layout = { + title: { + text: 'Customizing Spacing Between X and Y Axis Ticks' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-setting-xy-coordinates-contour.html b/content/plotly_js/scientific/contour/2015-08-12-setting-xy-coordinates-contour.html new file mode 100644 index 00000000000..5ec10a793d6 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-setting-xy-coordinates-contour.html @@ -0,0 +1,26 @@ +--- +name: Setting X and Y Coordinates in a Contour Plot +language: plotly_js +suite: contour +order: 3 +sitemap: false +arrangement: horizontal +--- +var data = [{ + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + x: [-9, -6, -5 , -3, -1], + y: [0, 1, 4, 5, 7], + type: 'contour' +}]; + +var layout = { + title: { + text: 'Setting the X and Y Coordinates in a Contour Plot' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-smooth-contour-coloring.html b/content/plotly_js/scientific/contour/2015-08-12-smooth-contour-coloring.html new file mode 100644 index 00000000000..4edd1f618e8 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-smooth-contour-coloring.html @@ -0,0 +1,27 @@ +--- +name: Smooth Contour Coloring +language: plotly_js +suite: contour +order: 9 +sitemap: false +arrangement: horizontal +--- +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + contours: { + coloring: 'heatmap' + } +}]; + +var layout = { + title: { + text: 'Smooth Contour Coloring' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-smoothing-contour-lines.html b/content/plotly_js/scientific/contour/2015-08-12-smoothing-contour-lines.html new file mode 100644 index 00000000000..530270c86e9 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-smoothing-contour-lines.html @@ -0,0 +1,55 @@ +--- +name: Smoothing Contour Lines +language: plotly_js +suite: contour +order: 8 +sitemap: false +arrangement: horizontal +--- + +var data = [ { + z: [[2, 4, 7, 12, 13, 14, 15, 16], + [3, 1, 6, 11, 12, 13, 16, 17], + [4, 2, 7, 7, 11, 14, 17, 18], + [5, 3, 8, 8, 13, 15, 18, 19], + [7, 4, 10, 9, 16, 18, 20, 19], + [9, 10, 5, 27, 23, 21, 21, 21], + [11, 14, 17, 26, 25, 24, 23, 22]], + type: 'contour', + line:{ + smoothing: 0 + }, + xaxis: 'x1', + yaxis: 'y1' +}, +{ + z: [[2, 4, 7, 12, 13, 14, 15, 16], + [3, 1, 6, 11, 12, 13, 16, 17], + [4, 2, 7, 7, 11, 14, 17, 18], + [5, 3, 8, 8, 13, 15, 18, 19], + [7, 4, 10, 9, 16, 18, 20, 19], + [9, 10, 5, 27, 23, 21, 21, 21], + [11, 14, 17, 26, 25, 24, 23, 22]], + type: 'contour', + line:{ + smoothing: 0.85 + }, + xaxis: 'x2', + yaxis: 'y2' +}]; + +var layout = { + title: { + text: 'Smoothing Contour Lines' + }, + xaxis: {domain: [0, 0.45], + anchor: 'y1'}, + yaxis: {domain: [0, 1], + anchor: 'x1'}, + xaxis2: {domain: [0.55, 1], + anchor: 'y2'}, + yaxis2: {domain: [0, 1], + anchor: 'x2'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2015-08-12-styling-color-bar-ticks-for-contour-plots.html b/content/plotly_js/scientific/contour/2015-08-12-styling-color-bar-ticks-for-contour-plots.html new file mode 100644 index 00000000000..20fc2ad9254 --- /dev/null +++ b/content/plotly_js/scientific/contour/2015-08-12-styling-color-bar-ticks-for-contour-plots.html @@ -0,0 +1,36 @@ +--- +name: Styling Color Bar Ticks for Contour Plots +language: plotly_js +suite: contour +order: 13 +sitemap: false +arrangement: horizontal +--- +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5., 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + colorbar:{ + ticks: 'outside', + dtick: 1, + tickwidth: 2, + ticklen: 10, + tickcolor: 'grey', + showticklabels: true, + tickfont: { + size: 15 + }, + xpad: 50 + } +}]; + +var layout = { + title: { + text: 'Styling Color Bar Ticks for Contour Plots' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/contour/2017-08-29-contour-line-labels.html b/content/plotly_js/scientific/contour/2017-08-29-contour-line-labels.html new file mode 100644 index 00000000000..694f68e5097 --- /dev/null +++ b/content/plotly_js/scientific/contour/2017-08-29-contour-line-labels.html @@ -0,0 +1,34 @@ +--- +name: Contour Line Labels +language: plotly_js +suite: contour +order: 9.5 +sitemap: false +arrangement: horizontal +--- + +var data = [ { + z: [[10, 10.625, 12.5, 15.625, 20], + [5.625, 6.25, 8.125, 11.25, 15.625], + [2.5, 3.125, 5.0, 8.125, 12.5], + [0.625, 1.25, 3.125, 6.25, 10.625], + [0, 0.625, 2.5, 5.625, 10]], + type: 'contour', + contours: { + coloring: 'heatmap', + showlabels: true, + labelfont: { + family: 'Raleway', + size: 12, + color: 'white', + } + } +}]; + +var layout = { + title: { + text: 'Contour with Labels' + } +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/heatmap/2015-04-09-basic-heatmap.html b/content/plotly_js/scientific/heatmap/2015-04-09-basic-heatmap.html new file mode 100644 index 00000000000..9422646bd9a --- /dev/null +++ b/content/plotly_js/scientific/heatmap/2015-04-09-basic-heatmap.html @@ -0,0 +1,16 @@ +--- +name: Basic Heatmap +language: plotly_js +suite: heatmap +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + z: [[1, 20, 30], [20, 1, 60], [30, 60, 1]], + type: 'heatmap' + } +]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/scientific/heatmap/2015-04-09-heatmap_plotly_js_index.html b/content/plotly_js/scientific/heatmap/2015-04-09-heatmap_plotly_js_index.html new file mode 100644 index 00000000000..358720715db --- /dev/null +++ b/content/plotly_js/scientific/heatmap/2015-04-09-heatmap_plotly_js_index.html @@ -0,0 +1,19 @@ +--- +description: How to make a D3.js-based heatmap in javascript with a matrix. Seven + examples of colored and labeled heatmaps with custom colorscales. +display_as: scientific +language: plotly_js +layout: base +name: Heatmaps +order: 2 +page_type: example_index +permalink: javascript/heatmaps/ +redirect_from: +- javascript-graphing-library/heatmaps/ +- javascript-graphing-library/heatmap-webgl/ +- javascript/heatmap-webgl/ +thumbnail: thumbnail/heatmap.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","heatmap" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/heatmap/2015-04-09-labelled-heatmap.html b/content/plotly_js/scientific/heatmap/2015-04-09-labelled-heatmap.html new file mode 100644 index 00000000000..19275880c91 --- /dev/null +++ b/content/plotly_js/scientific/heatmap/2015-04-09-labelled-heatmap.html @@ -0,0 +1,22 @@ +--- +name: Heatmap with Categorical Axis Labels +language: plotly_js +suite: heatmap +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + + In this example we also show how to ignore [hovertext](https://plotly.com/javascript/hover-text-and-formatting/) when we have missing values in the data by setting the [hoverongaps](https://plotly.com/javascript/reference/heatmap/#heatmap-hoverongaps) to False. +--- +var data = [ + { + z: [[1, null, 30, 50, 1], [20, 1, 60, 80, 30], [30, 60, 1, -10, 20]], + x: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], + y: ['Morning', 'Afternoon', 'Evening'], + type: 'heatmap', + hoverongaps: false + } +]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/scientific/heatmap/2015-08-10-annotated-heatmap.html b/content/plotly_js/scientific/heatmap/2015-08-10-annotated-heatmap.html new file mode 100644 index 00000000000..8f8e2e0a09f --- /dev/null +++ b/content/plotly_js/scientific/heatmap/2015-08-10-annotated-heatmap.html @@ -0,0 +1,80 @@ +--- +name: Annotated Heatmap +language: plotly_js +suite: heatmap +order: 3 +sitemap: false +arrangement: horizontals +--- +var xValues = ['A', 'B', 'C', 'D', 'E']; + +var yValues = ['W', 'X', 'Y', 'Z']; + +var zValues = [ + [0.00, 0.00, 0.75, 0.75, 0.00], + [0.00, 0.00, 0.75, 0.75, 0.00], + [0.75, 0.75, 0.75, 0.75, 0.75], + [0.00, 0.00, 0.00, 0.75, 0.00] +]; + +var colorscaleValue = [ + [0, '#3D9970'], + [1, '#001f3f'] +]; + +var data = [{ + x: xValues, + y: yValues, + z: zValues, + type: 'heatmap', + colorscale: colorscaleValue, + showscale: false +}]; + +var layout = { + title: { + text: 'Annotated Heatmap' + }, + annotations: [], + xaxis: { + ticks: '', + side: 'top' + }, + yaxis: { + ticks: '', + ticksuffix: ' ', + width: 700, + height: 700, + autosize: false + } +}; + +for ( var i = 0; i < yValues.length; i++ ) { + for ( var j = 0; j < xValues.length; j++ ) { + var currentValue = zValues[i][j]; + if (currentValue != 0.0) { + var textColor = 'white'; + }else{ + var textColor = 'black'; + } + var result = { + xref: 'x1', + yref: 'y1', + x: xValues[j], + y: yValues[i], + text: zValues[i][j], + font: { + family: 'Arial', + size: 12, + color: 'rgb(50, 171, 96)' + }, + showarrow: false, + font: { + color: textColor + } + }; + layout.annotations.push(result); + } +} + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/heatmap/2015-08-12-heatmap-with-unequal-block-sizes.html b/content/plotly_js/scientific/heatmap/2015-08-12-heatmap-with-unequal-block-sizes.html new file mode 100644 index 00000000000..5392dde5ba6 --- /dev/null +++ b/content/plotly_js/scientific/heatmap/2015-08-12-heatmap-with-unequal-block-sizes.html @@ -0,0 +1,113 @@ +--- +name: Heatmap with Unequal Block Sizes +language: plotly_js +suite: heatmap +order: 4 +sitemap: false +arrangement: horizontal +--- +function linspace(a,b,n) { + return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);}); +} +//number of spiral loops + +var nspiral = 2; + +// angle + +var th = linspace(((-Math.PI) / 13), (2 * Math.PI * nspiral), 1000); + +//Empty Value Containers + +var xValues = []; +var yValues = []; +var yShift = []; +var finalX = []; +var finalY = []; + +//spiral + +for(var i = 0; i < th.length; i++){ + var a = 1.120529; + var b = 0.306349; + var r = a * Math.exp((-b) * th[i]); + var xResult = (r * Math.cos(th[i])); + var yResult = (r * Math.sin(th[i])); + xValues.push(xResult); + yValues.push(yResult); +} + +function getMaxOfArray(numArray) { + return Math.max.apply(null, numArray); +}; + +function getMinOfArray(numArray) { + return Math.min.apply(null, numArray); +}; + +//Shift spiral north so that it is centered + +var yShift = (1.6 - (getMaxOfArray(yValues) - getMinOfArray(yValues))) / 2; + +var spiralTrace = { + x: xValues.map(function(xi) { return -(xi) + xValues[0]; }), + y: yValues.map(function(yi) { return yi - yValues[0] + yShift; }), + type: 'scatter', + line: { + color: 'white', + width: 3 + } +}; + +//Build the rectangles as a heatmap and specify the edges of the heatmap squares + +var phi = (1 + Math.sqrt(5)) / 2; +var xe = [0, 1, (1 + (1 / Math.pow(phi,4))), 1 + (1 / Math.pow(phi,3)), phi]; +var ye = [0, (1 / Math.pow(phi,3)), (1 / Math.pow(phi,3)) + (1 / Math.pow(phi,4)), (1 / Math.pow(phi,2)), 1]; + +var zValues = [ + [13, 3, 3, 5], + [13, 2, 1, 5], + [13, 10, 11, 12], + [13, 8, 8, 8] +]; + +var hm = { + x: xe, + y: ye.map(function(yi) { return yi + yShift; }), + z: zValues, + type: 'heatmap', + colorscale: 'Viridis' +}; + +var axisTemplate = { + range: [0, 1.6], + autorange: false, + showgrid: false, + zeroline: false, + linecolor: 'black', + showticklabels: false, + ticks: '' +}; + +var data = [spiralTrace, hm]; + +var layout = { + title: { + text: 'Heatmap with Unequal Block Sizes' + }, + margin: { + t: 200, + r: 200, + b: 200, + l: 200 + }, + xaxis: axisTemplate, + yaxis: axisTemplate, + showlegend: false, + width: 700, + height: 700, + autosize: false +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/log/2015-04-09-log_plotly_js_index.html b/content/plotly_js/scientific/log/2015-04-09-log_plotly_js_index.html new file mode 100644 index 00000000000..12ea2b6969b --- /dev/null +++ b/content/plotly_js/scientific/log/2015-04-09-log_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make a plot with D3.js-based logarithmic axes in javascript. +display_as: scientific +language: plotly_js +layout: base +name: Log Plots +order: 5 +page_type: example_index +permalink: javascript/log-plot/ +redirect_from: javascript-graphing-library/log-plot/ +thumbnail: thumbnail/log.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","log" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/log/2015-04-09-plotly-log-axes.html b/content/plotly_js/scientific/log/2015-04-09-plotly-log-axes.html new file mode 100644 index 00000000000..c2eb1cbaf09 --- /dev/null +++ b/content/plotly_js/scientific/log/2015-04-09-plotly-log-axes.html @@ -0,0 +1,34 @@ +--- +name: Logarithmic Axes +language: plotly_js +suite: log +order: 2 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [8, 7, 6, 5, 4, 3, 2, 1, 0], + type: 'scatter' +}; + +var trace2 = { + x: [0, 1, 2, 3, 4, 5, 6, 7, 8], + y: [0, 1, 2, 3, 4, 5, 6, 7, 8], + type: 'scatter' +}; + +var data = [trace1, trace2]; + +var layout = { + xaxis: { + type: 'log', + autorange: true + }, + yaxis: { + type: 'log', + autorange: true + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/parcoords/2017-03-06-adding_dimensions.html b/content/plotly_js/scientific/parcoords/2017-03-06-adding_dimensions.html new file mode 100644 index 00000000000..f7c7f918c80 --- /dev/null +++ b/content/plotly_js/scientific/parcoords/2017-03-06-adding_dimensions.html @@ -0,0 +1,44 @@ +--- +name: Adding Dimensions +language: plotly_js +suite: parcoords +order: 1 +sitemap: false +arrangement: horizontal +description: +markdown_content: | + Parallel coordinates are richly interactive by default. Drag the lines along the axes to filter regions and drag the axis names across the plot to rearrange variables: ![IPython terminal](https://s3-us-west-1.amazonaws.com/plotly-tutorials/plotly-documentation/images/js_parcoords_ex1.gif) +--- + +var trace = { + type: 'parcoords', + line: { + color: 'blue' + }, + + dimensions: [{ + range: [1, 5], + constraintrange: [1, 2], + label: 'A', + values: [1,4] + }, { + range: [1,5], + label: 'B', + values: [3,1.5], + tickvals: [1.5,3,4.5] + }, { + range: [1, 5], + label: 'C', + values: [2,4], + tickvals: [1,2,4,5], + ticktext: ['text 1','text 2','text 4','text 5'] + }, { + range: [1, 5], + label: 'D', + values: [4,2] + }] +}; + +var data = [trace] + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/scientific/parcoords/2017-03-06-advanced_parcoords.html b/content/plotly_js/scientific/parcoords/2017-03-06-advanced_parcoords.html new file mode 100644 index 00000000000..e2f94d111e8 --- /dev/null +++ b/content/plotly_js/scientific/parcoords/2017-03-06-advanced_parcoords.html @@ -0,0 +1,79 @@ +--- +name: Advanced Parallel Coordinates Plot +language: plotly_js +suite: parcoords +order: 3 +sitemap: false +arrangement: horizontal +description: +--- + +d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/parcoords_data.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var data = [{ + type: 'parcoords', + line: { + showscale: true, + reversescale: true, + colorscale: 'Jet', + cmin: -4000, + cmax: -100, + color: unpack(rows, 'colorVal') + }, + + dimensions: [{ + constraintrange: [100000, 150000], + range: [32000, 227900], + label: 'Block height', + values: unpack(rows, 'blockHeight') + }, { + range: [0, 700000], + label: 'Block width', + values: unpack(rows, 'blockWidth') + }, { + label: 'Cylinder material', + tickvals: [0, 0.5, 1, 2, 3], + ticktext: ['A', 'AB', 'B', 'Y', 'Z'], + values: unpack(rows, 'cycMaterial') + }, { + label: 'Block material', + tickvals: [0, 1, 2, 3], + range: [-1, 4], + values: unpack(rows, 'blockMaterial') + }, { + range: [134, 3154], + label: 'Total weight', + visible: true, + values: unpack(rows, 'totalWeight') + }, { + range: [9, 19984], + label: 'Assembly penalty weight', + values: unpack(rows, 'assemblyPW') + }, { + range: [49000, 568000], + label: 'Height st width', + values: unpack(rows, 'HstW') + }, { + range: [-28000, 196430], + label: 'Min height width', + values: unpack(rows, 'minHW') + }, { + range: [98453, 501789], + label: 'Min width diameter', + values: unpack(rows, 'minWD') + }, { + range: [1417, 107154], + label: 'RF block', + values: unpack(rows, 'rfBlock') + }] +}]; + +Plotly.newPlot('myDiv', data); + +}); diff --git a/content/plotly_js/scientific/parcoords/2017-03-06-basic_parcoords.html b/content/plotly_js/scientific/parcoords/2017-03-06-basic_parcoords.html new file mode 100644 index 00000000000..2658f8da508 --- /dev/null +++ b/content/plotly_js/scientific/parcoords/2017-03-06-basic_parcoords.html @@ -0,0 +1,53 @@ +--- +name: Basic Parallel Coordinates Plot +language: plotly_js +suite: parcoords +order: 2 +sitemap: false +arrangement: horizontal +description: +--- + +d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/iris.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var data = [{ + type: 'parcoords', + pad: [80,80,80,80], + line: { + color: unpack(rows, 'species_id'), + colorscale: [[0, 'red'], [0.5, 'green'], [1, 'blue']] + }, + + dimensions: [{ + range: [2, 4.5], + label: 'sepal_width', + values: unpack(rows, 'sepal_width') + }, { + constraintrange: [5, 6], + range: [4,8], + label: 'sepal_length', + values: unpack(rows, 'sepal_length') + }, { + label: 'petal_width', + range: [0, 2.5], + values: unpack(rows, 'petal_width') + }, { + label: 'petal_length', + range: [1, 7], + values: unpack(rows, 'petal_length') + }] +}]; + +var layout = { + width: 800 +}; + +Plotly.newPlot('myDiv', data, layout); + +}); diff --git a/content/plotly_js/scientific/parcoords/2017-03-06-parcoords_index.html b/content/plotly_js/scientific/parcoords/2017-03-06-parcoords_index.html new file mode 100644 index 00000000000..eafcf6764e5 --- /dev/null +++ b/content/plotly_js/scientific/parcoords/2017-03-06-parcoords_index.html @@ -0,0 +1,14 @@ +--- +description: How to make D3.js-based parallel coordinates plots in Plotly.js. +display_as: scientific +language: plotly_js +layout: base +name: Parallel Coordinates Plot +order: 4 +page_type: example_index +permalink: javascript/parallel-coordinates-plot/ +thumbnail: thumbnail/parcoords.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","parcoords" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/parcoords/2017-09-13-annotated_parcoords.html b/content/plotly_js/scientific/parcoords/2017-09-13-annotated_parcoords.html new file mode 100644 index 00000000000..6878b28f183 --- /dev/null +++ b/content/plotly_js/scientific/parcoords/2017-09-13-annotated_parcoords.html @@ -0,0 +1,61 @@ +--- +name: Annotated Parallel Coordinates Plot +language: plotly_js +suite: parcoords +order: 2.5 +sitemap: false +arrangement: horizontal +description: +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/iris-id.csv', function(err, rows){ + +function unpack(rows, key) { + return rows.map(function(row) { + return row[key]; + }); +} + +var data = [{ + type: 'parcoords', + pad: [80,80,80,80], + line: { + color: unpack(rows, 'species_id'), + colorscale: [[0, 'red'], [0.5, 'green'], [1, 'blue']] + }, + + dimensions: [{ + range: [2, 4.5], + label: 'sepal_width', + values: unpack(rows, 'sepal_width') + }, { + constraintrange: [5, 6], + range: [4,8], + label: 'sepal_length', + values: unpack(rows, 'sepal_length') + }, { + label: 'petal_width', + range: [0, 2.5], + values: unpack(rows, 'petal_width') + }, { + label: 'petal_length', + range: [1, 7], + values: unpack(rows, 'petal_length') + }] +}]; + +var layout = { + width: 800, + annotations: [ + {showarrow: false, + text: 'Higher sepal width', + x: 0, y: 1, xref: 'paper', yref: 'paper'}, + {showarrow: false, + text: 'Lower petal width and length', + x: 0.9, y: .25, xref: 'paper', yref: 'paper' + }] +}; + +Plotly.newPlot('myDiv', data, layout); + +}); diff --git a/content/plotly_js/scientific/radar/2018-02-23-basic-radar.html b/content/plotly_js/scientific/radar/2018-02-23-basic-radar.html new file mode 100644 index 00000000000..51f055fbeb9 --- /dev/null +++ b/content/plotly_js/scientific/radar/2018-02-23-basic-radar.html @@ -0,0 +1,27 @@ +--- +name: Basic Radar Chart +language: plotly_js +suite: radar +order: 1 +sitemap: false +arrangement: horizontal +--- + +data = [{ + type: 'scatterpolar', + r: [39, 28, 8, 7, 28, 39], + theta: ['A','B','C', 'D', 'E', 'A'], + fill: 'toself' +}] + +layout = { + polar: { + radialaxis: { + visible: true, + range: [0, 50] + } + }, + showlegend: false +} + +Plotly.newPlot("myDiv", data, layout) diff --git a/content/plotly_js/scientific/radar/2018-02-23-multiple-trace-radar.html b/content/plotly_js/scientific/radar/2018-02-23-multiple-trace-radar.html new file mode 100644 index 00000000000..71a89ac4256 --- /dev/null +++ b/content/plotly_js/scientific/radar/2018-02-23-multiple-trace-radar.html @@ -0,0 +1,36 @@ +--- +name: Multiple Trace Radar Chart +language: plotly_js +suite: radar +order: 2 +sitemap: false +arrangement: horizontal +--- + +data = [ + { + type: 'scatterpolar', + r: [39, 28, 8, 7, 28, 39], + theta: ['A','B','C', 'D', 'E', 'A'], + fill: 'toself', + name: 'Group A' + }, + { + type: 'scatterpolar', + r: [1.5, 10, 39, 31, 15, 1.5], + theta: ['A','B','C', 'D', 'E', 'A'], + fill: 'toself', + name: 'Group B' + } +] + +layout = { + polar: { + radialaxis: { + visible: true, + range: [0, 50] + } + } +} + +Plotly.newPlot("myDiv", data, layout) diff --git a/content/plotly_js/scientific/radar/2018-02-23-radar-chart-plotlyjs-index.html b/content/plotly_js/scientific/radar/2018-02-23-radar-chart-plotlyjs-index.html new file mode 100644 index 00000000000..b094187a2b6 --- /dev/null +++ b/content/plotly_js/scientific/radar/2018-02-23-radar-chart-plotlyjs-index.html @@ -0,0 +1,13 @@ +--- +description: How to make D3.js-based radar charts in Plotly.js. +display_as: scientific +language: plotly_js +layout: base +name: Radar Charts +order: 8 +permalink: javascript/radar-chart/ +thumbnail: thumbnail/radar.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","radar" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-area-polar-chart.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-area-polar-chart.html new file mode 100644 index 00000000000..4236155ea06 --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-area-polar-chart.html @@ -0,0 +1,78 @@ +--- +name: Area Polar Chart +language: plotly_js +suite: scatterpolar +order: 2 +sitemap: false +arrangement: horizontal +--- + +data = [ + { + type: "scatterpolar", + mode: "lines", + r: [0, 1.5, 1.5, 0, 2.5, 2.5, 0], + theta: [0, 10, 25, 0, 205, 215, 0], + fill: "toself", + fillcolor: '#709BFF', + line: { + color: 'black' + } + }, + { + type: "scatterpolar", + mode: "lines", + r: [0, 3.5, 3.5, 0], + theta: [0, 55, 75, 0], + fill: "toself", + fillcolor: '#E4FF87', + line: { + color: 'black' + } + }, + { + type: "scatterpolar", + mode: "lines", + r: [0, 4.5, 4.5, 0, 4.5, 4.5, 0], + theta: [0, 100, 120, 0, 305, 320, 0], + fill: "toself", + fillcolor: '#FFAA70', + line: { + color: 'black' + } + }, + { + type: "scatterpolar", + mode: "lines", + r: [0, 4, 4, 0], + theta: [0, 165, 195, 0], + fill: "toself", + fillcolor: '#FFDF70', + line: { + color: 'black' + } + }, + { + type: "scatterpolar", + mode: "lines", + r: [0, 3, 3, 0], + theta: [0, 262.5, 277.5, 0], + fill: "toself", + fillcolor: '#B6FFB4', + line: { + color: 'black' + } + } +] + +layout = { + polar: { + radialaxis: { + visible: true, + range: [0, 5] + } + }, + showlegend: false +} + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-categorical-polar-chart.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-categorical-polar-chart.html new file mode 100644 index 00000000000..f38ffadd78d --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-categorical-polar-chart.html @@ -0,0 +1,104 @@ +--- +name: Categorical Polar Chart +language: plotly_js +suite: scatterpolar +order: 3 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + type: "scatterpolar", + name: "angular categories", + r: [5, 4, 2, 4, 5], + theta: ["a", "b", "c", "d", "a"], + fill: "toself" + }, + { + type: "scatterpolar", + name: "radial categories", + r: ["a", "b", "c", "d", "b", "f", "a"], + theta: [1, 4, 2, 1.5, 1.5, 6, 5], + thetaunit: "radians", + fill: "toself", + subplot: "polar2" + }, + { + type: "scatterpolar", + name: "angular categories (w/ categoryarray)", + r: [5, 4, 2, 4, 5], + theta: ["a", "b", "c", "d", "a"], + fill: "toself", + subplot: "polar3" + }, + { + type: "scatterpolar", + name: "radial categories (w/ category descending)", + r: ["a", "b", "c", "d", "b", "f", "a", "a"], + theta: [45, 90, 180, 200, 300, 15, 20, 45], + fill: "toself", + subplot: "polar4" + }, + { + type: "scatterpolar", + name: "angular categories (w/ extra category)", + r: [5, 4, 2, 4, 5, 5], + theta: ["b", "c", "d", "e", "a", "b"], + fill: "toself" + } + ] + +var layout = { + polar: { + domain: { + x: [0, 0.46], + y: [0.56, 1] + }, + radialaxis: { + angle: 45 + }, + angularaxis: { + direction: "clockwise", + period: 6 + } + }, + polar2: { + domain: { + x: [0, 0.46], + y: [0, 0.44] + }, + radialaxis: { + angle: 180, + tickangle: -180 + } + }, + polar3: { + domain: { + x: [0.54, 1], + y: [0.56, 1] + }, + sector: [150, 400], + radialaxis: { + angle: -45 + }, + angularaxis: { + categoryarray: ["d", "a", "c", "b"] + } + }, + polar4: { + domain: { + x: [0.54, 1], + y: [0, 0.44] + }, + radialaxis: { + categoryorder: "category descending" + }, + angularaxis: { + thetaunit: "radians", + dtick: 0.3141592653589793 + } + } + } + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-directions-polar-chart.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-directions-polar-chart.html new file mode 100644 index 00000000000..07412653e7d --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-directions-polar-chart.html @@ -0,0 +1,82 @@ +--- +name: Polar Chart Directions +language: plotly_js +suite: scatterpolar +order: 4 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + type: "scatterpolar", + mode: "lines+markers", + r: [1,2,3,4,5], + theta: [0,90,180,360,0], + line: { + color: "#ff66ab" + }, + marker: { + color: "#8090c7", + symbol: "square", + size: 8 + }, + subplot: "polar" + }, + { + type: "scatterpolar", + mode: "lines+markers", + r: [1,2,3,4,5], + theta: [0,90,180,360,0], + line: { + color: "#ff66ab" + }, + marker: { + color: "#8090c7", + symbol: "square", + size: 8 + }, + subplot: "polar2" + } + ] + +var layout = { + showlegend: false, + polar: { + domain: { + x: [0,0.4], + y: [0,1] + }, + radialaxis: { + tickfont: { + size: 8 + } + }, + angularaxis: { + tickfont: { + size: 8 + }, + rotation: 90, + direction: "counterclockwise" + } + }, + polar2: { + domain: { + x: [0.6,1], + y: [0,1] + }, + radialaxis: { + tickfont: { + size: 8 + } + }, + angularaxis: { + tickfont: { + size: 8 + }, + direction: "clockwise" + } + } + } + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-line-polar-chart.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-line-polar-chart.html new file mode 100644 index 00000000000..bae87b851ef --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-line-polar-chart.html @@ -0,0 +1,80 @@ +--- +name: Line Polar Plot +language: plotly_js +suite: scatterpolar +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/polar_dataset.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var trace1 = { + r: unpack(rows, 'x1'), + theta: unpack(rows, 'y'), + mode: 'lines', + name: 'Figure8', + line: {color: 'peru'}, + type: 'scatterpolar' +}; + +var trace2 = { + r: unpack(rows, 'x2'), + theta: unpack(rows, 'y'), + mode: 'lines', + name: 'Cardioid', + line: {color: 'darkviolet'}, + type: 'scatterpolar' +}; + +var trace3 = { + r: unpack(rows, 'x3'), + theta: unpack(rows, 'y'), + mode: 'lines', + name: 'Hypercardioid', + line: {color: 'deepskyblue'}, + type: 'scatterpolar' +}; + +var trace4 = { + + r: unpack(rows, 'x4'), + theta: unpack(rows, 'y'), + mode: 'lines', + name: 'Subcardioid', + line: {color: 'orangered'}, + type: 'scatterpolar' +}; + +var trace5 = { + + r: unpack(rows, 'x5'), + theta: unpack(rows, 'y'), + mode: 'lines', + name: 'Supercardioid', + marker: { + color: 'none', + line: {color: 'green'} + }, + type: 'scatterpolar' +}; + +var data = [trace1, trace2, trace3, trace4, trace5]; + +var layout = { + title: { + text: 'Mic Patterns' + }, + font: { + family: 'Arial, sans-serif;', + size: 12, + color: '#000' + }, + showlegend: true, + orientation: -90 +}; +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-scatterpolar-plotlyjs-index.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-scatterpolar-plotlyjs-index.html new file mode 100644 index 00000000000..d576ada0394 --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-scatterpolar-plotlyjs-index.html @@ -0,0 +1,16 @@ +--- +description: How to make D3.js-based polar charts in Plotly.js. +display_as: scientific +language: plotly_js +layout: base +name: Polar Charts +order: 12 +permalink: javascript/polar-chart/ +redirect_from: +- javascript/legacy-polar-chart/ +- javascript-graphing-library/polar-chart/ +thumbnail: thumbnail/polar.gif +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","scatterpolar" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-sector-polar-chart.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-sector-polar-chart.html new file mode 100644 index 00000000000..5a81cc807a2 --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-sector-polar-chart.html @@ -0,0 +1,80 @@ +--- +name: Polar Chart Sector +language: plotly_js +suite: scatterpolar +order: 5 +sitemap: false +arrangement: horizontal +--- + +var data = [ + { + type: "scatterpolar", + mode: "lines+markers", + r: [1,2,3,4,5], + theta: [0,90,180,360,0], + line: { + color: "#ff66ab" + }, + marker: { + color: "#8090c7", + symbol: "square", + size: 8 + }, + subplot: "polar" + }, + { + type: "scatterpolar", + mode: "lines+markers", + r: [1,2,3,4,5], + theta: [0,90,180,360,0], + line: { + color: "#ff66ab" + }, + marker: { + color: "#8090c7", + symbol: "square", + size: 8 + }, + subplot: "polar2" + } + ] + +var layout = { + showlegend: false, + polar: { + sector: [145,215], + domain: { + x: [0,0.4], + y: [0,1] + }, + radialaxis: { + tickfont: { + size: 8 + } + }, + angularaxis: { + tickfont: { + size: 8 + } + } + }, + polar2: { + domain: { + x: [0.6,1], + y: [0,1] + }, + radialaxis: { + tickfont: { + size: 8 + } + }, + angularaxis: { + tickfont: { + size: 8 + } + } + } + } + +Plotly.newPlot('myDiv', data, layout) diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-subplots-polar-charts.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-subplots-polar-charts.html new file mode 100644 index 00000000000..c217fc1c089 --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-subplots-polar-charts.html @@ -0,0 +1,83 @@ +--- +name: Polar Chart Subplots +language: plotly_js +suite: scatterpolar +order: 6 +sitemap: false +arrangement: horizontal +--- + +var data = [{ + type: "scatterpolargl", + r: [1, 2, 3], + theta: [50, 100, 200], + marker: {symbol: "square"} + }, { + type: "scatterpolargl", + r: [1, 2, 3], + theta: [1, 2, 3], + thetaunit: "radians" + }, { + type: "scatterpolargl", + r: ["a", "b", "c", "b"], + theta: ["D", "C", "B", "A"], + subplot: "polar2" + }, { + type: "scatterpolargl", + r: [50, 300, 900], + theta: [0, 90, 180], + subplot: "polar3" + }, { + type: "scatterpolargl", + mode: "lines", + r: [3, 3, 4, 3], + theta: [0, 45, 90, 270], + fill: "toself", + subplot: "polar4" + }] + +var layout = { + polar: { + domain: { + x: [0, 0.46], + y: [0.56, 1] + }, + radialaxis: { + range: [1, 4] + }, + angularaxis: { + thetaunit: "radians" + } + }, + polar2: { + domain: { + x: [0, 0.46], + y: [0, 0.42] + } + }, + polar3: { + domain: { + x: [0.54, 1], + y: [0.56, 1] + }, + radialaxis: { + type: "log", + tickangle: 45 + }, + sector: [0, 180] + }, + polar4: { + domain: { + x: [0.54, 1], + y: [0, 0.44] + }, + radialaxis: { + visible: false, + range: [0, 6] + } + }, + showlegend: false + } + + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/scientific/scatterpolar/2018-02-13-webgl-polar-chart.html b/content/plotly_js/scientific/scatterpolar/2018-02-13-webgl-polar-chart.html new file mode 100644 index 00000000000..971b8f62c37 --- /dev/null +++ b/content/plotly_js/scientific/scatterpolar/2018-02-13-webgl-polar-chart.html @@ -0,0 +1,142 @@ +--- +name: Webgl Polar Chart +language: plotly_js +suite: scatterpolar +order: 7 +sitemap: false +arrangement: horizontal +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/hobbs-pearson-trials.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var data = [ + { + type: "scatterpolargl", + r: unpack(rows, 'trial_1_r'), + theta: unpack(rows, 'trial_1_theta'), + mode: "markers", + name: "Trial 1", + marker: { + color: "rgb(27,158,119)", + size: 15, + line: { + color: "white" + }, + opacity: 0.7 + }, + cliponaxis: false + }, + { + type: "scatterpolargl", + r: unpack(rows, "trial_2_r"), + theta: unpack(rows, "trial_2_theta"), + mode: "markers", + name: "Trial 2", + marker: { + color: "rgb(217,95,2)", + size: 20, + line: { + color: "white" + }, + "opacity": 0.7 + }, + "cliponaxis": false + }, + { + type: "scatterpolargl", + r: unpack(rows, "trial_3_r"), + theta: unpack(rows, "trial_3_theta"), + mode: "markers", + name: "Trial 3", + marker: { + color: "rgb(117,112,179)", + size: 12, + line: { + color: "white" + }, + opacity: 0.7 + }, + cliponaxis: false + }, + { + type: "scatterpolargl", + r: unpack(rows, "trial_4_r"), + theta: unpack(rows, "trial_4_theta"), + mode: "markers", + name: "Trial 4", + marker: { + color: "rgb(231,41,138)", + size: 22, + line: { + color: "white" + }, + opacity: 0.7 + }, + cliponaxis: false + }, + { + type: "scatterpolargl", + r: unpack(rows, "trial_5_r"), + theta: unpack(rows, "trial_5_theta"), + mode: "markers", + name: "Trial 5", + marker: { + color: "rgb(102,166,30)", + size: 19, + line: { + color: "white" + }, + opacity: 0.7 + }, + cliponaxis: false + }, + { + type: "scatterpolargl", + r: unpack(rows, "trial_6_r"), + theta: unpack(rows, "trial_6_theta"), + mode: "markers", + name: "Trial 6", + marker: { + color: "rgb(230,171,2)", + size: 10, + line: { + color: "white" + }, + opacity: 0.7 + }, + cliponaxis: false + } + ] + +var layout = { + title: { + text: "Hobbs-Pearson Trials" + }, + font: { + size: 15 + }, + showlegend: false, + polar: { + bgcolor: "rgb(223, 223, 223)", + angularaxis: { + tickwidth: 2, + linewidth: 3, + layer: "below traces" + }, + radialaxis: { + side: "counterclockwise", + showline: true, + linewidth: 2, + tickwidth: 2, + gridcolor: "white", + gridwidth: 2 + } + }, + paper_bgcolor: "rgb(223, 223, 223)", + } + +Plotly.newPlot('myDiv', data, layout); +}) diff --git a/content/plotly_js/scientific/ternary-contour/2016-04-13-soil-types-ternary-fill-plot.html b/content/plotly_js/scientific/ternary-contour/2016-04-13-soil-types-ternary-fill-plot.html new file mode 100644 index 00000000000..1418f5d3bf2 --- /dev/null +++ b/content/plotly_js/scientific/ternary-contour/2016-04-13-soil-types-ternary-fill-plot.html @@ -0,0 +1,72 @@ +--- +name: Basic Filled Ternary Plot +language: plotly_js +suite: ternary-contour +order: 1 +sitemap: false +arrangement: horizontal +description: Inspired from Daven Quinn's block +--- +var url = 'https://gist.githubusercontent.com/davenquinn/988167471993bc2ece29/raw/f38d9cb3dd86e315e237fde5d65e185c39c931c2/data.json'; + +var colors = ['#8dd3c7','#ffffb3','#bebada','#fb8072','#80b1d3','#fdb462','#b3de69','#fccde5','#d9d9d9','#bc80bd','#ccebc5','#ffed6f']; + + +d3.json(url, function(err, rawData) { + if(err) throw err; + + plot(rawData); +}); + +function plot(rawData) { + var data = Object.keys(rawData).map(function(k, i) { + var pts = rawData[k]; + pts = pts.concat(pts[0]); + + return { + type: 'scatterternary', + mode: 'lines', + name: k, + a: pts.map(function(d) { return d.clay }), + b: pts.map(function(d) { return d.sand }), + c: pts.map(function(d) { return d.silt }), + line: { color: '#444' }, + fill: 'toself', + fillcolor: colors[i], + hoveron:'fills+points' + }; + }); + + var layout = { + ternary: { + sum: 100, + aaxis: makeAxis('Clay'), + baxis: makeAxis('Sand'), + caxis: makeAxis('Silt') + }, + showlegend: false, + width: 700, + annotations: [{ + showarrow: false, + text: 'Soil Types Fill Plot', + x: 0.15, + y: 1.1 + }] + }; + + Plotly.newPlot('myDiv', data, layout); +} + +function makeAxis(title) { + return { + title: { + text: title + }, + ticksuffix: '%', + min: 0.01, + linewidth: 2, + ticks: 'outside', + ticklen: 8, + showgrid: true, + }; +} diff --git a/content/plotly_js/scientific/ternary-contour/2016-04-13-ternary-contour-plot_plotly_js_index.html b/content/plotly_js/scientific/ternary-contour/2016-04-13-ternary-contour-plot_plotly_js_index.html new file mode 100644 index 00000000000..7ea02da88a8 --- /dev/null +++ b/content/plotly_js/scientific/ternary-contour/2016-04-13-ternary-contour-plot_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to create D3.js-based ternary contour plots. Examples of Ternary + Contour Plots with plotly. +display_as: scientific +language: plotly_js +layout: base +name: Ternary Contour Plots +order: 7 +permalink: javascript/ternary-contour/ +thumbnail: thumbnail/ternary-contour.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","ternary-contour" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/ternary-plots/2016-04-13-basic-ternary-plot.html b/content/plotly_js/scientific/ternary-plots/2016-04-13-basic-ternary-plot.html new file mode 100644 index 00000000000..1043b2312eb --- /dev/null +++ b/content/plotly_js/scientific/ternary-plots/2016-04-13-basic-ternary-plot.html @@ -0,0 +1,73 @@ +--- +name: Basic Ternary Plot with Markers +language: plotly_js +suite: ternary-plot +order: 1 +sitemap: false +arrangement: horizontal +description: Inspired from Tom Pearson's block +--- + +var rawData = [ + {journalist:75,developer:25,designer:0,label:'point 1'}, + {journalist:70,developer:10,designer:20,label:'point 2'}, + {journalist:75,developer:20,designer:5,label:'point 3'}, + {journalist:5,developer:60,designer:35,label:'point 4'}, + {journalist:10,developer:80,designer:10,label:'point 5'}, + {journalist:10,developer:90,designer:0,label:'point 6'}, + {journalist:20,developer:70,designer:10,label:'point 7'}, + {journalist:10,developer:20,designer:70,label:'point 8'}, + {journalist:15,developer:5,designer:80,label:'point 9'}, + {journalist:10,developer:10,designer:80,label:'point 10'}, + {journalist:20,developer:10,designer:70,label:'point 11'}, +]; + +Plotly.newPlot('myDiv', [{ + type: 'scatterternary', + mode: 'markers', + a: rawData.map(function(d) { return d.journalist; }), + b: rawData.map(function(d) { return d.developer; }), + c: rawData.map(function(d) { return d.designer; }), + text: rawData.map(function(d) { return d.label; }), + marker: { + symbol: 100, + color: '#DB7365', + size: 14, + line: { width: 2 } + }, +}], { + ternary: { + sum: 100, + aaxis: makeAxis('Journalist', 0), + baxis: makeAxis('
Developer', 45), + caxis: makeAxis('
Designer', -45), + bgcolor: '#fff1e0' + }, + annotations: [{ + showarrow: false, + text: 'Replica of Tom Pearson\'s block', + x: 1.0, + y: 1.3, + font: { size: 15 } + }], + paper_bgcolor: '#fff1e0', +}); + +function makeAxis(title, tickangle) { + return { + title: { + text: title, + font: { + size: 20 + } + }, + tickangle: tickangle, + tickfont: { + size: 15 + }, + tickcolor: 'rgba(0,0,0,0)', + ticklen: 5, + showline: true, + showgrid: true + }; +} diff --git a/content/plotly_js/scientific/ternary-plots/2016-04-13-soil-types-ternary-plot.html b/content/plotly_js/scientific/ternary-plots/2016-04-13-soil-types-ternary-plot.html new file mode 100644 index 00000000000..08292721714 --- /dev/null +++ b/content/plotly_js/scientific/ternary-plots/2016-04-13-soil-types-ternary-plot.html @@ -0,0 +1,66 @@ +--- +name: Soil Types Ternary Plot +language: plotly_js +suite: ternary-plot +order: 2 +sitemap: false +arrangement: horizontal +description: Inspired from Daven Quinn's block +--- + +var url = 'https://gist.githubusercontent.com/davenquinn/988167471993bc2ece29/raw/f38d9cb3dd86e315e237fde5d65e185c39c931c2/data.json'; + +d3.json(url, function(err, rawData) { + if(err) throw err; + + plot(rawData); +}); + +function plot(rawData) { + var data = Object.keys(rawData).map(function(k) { + var pts = rawData[k]; + + return { + type: 'scatterternary', + mode: 'lines', + name: k, + a: pts.map(function(d) { return d.clay }), + b: pts.map(function(d) { return d.sand }), + c: pts.map(function(d) { return d.silt }), + line: { color: '#c00' } + }; + }); + + var layout = { + ternary: { + sum: 100, + aaxis: makeAxis('Clay'), + baxis: makeAxis('Sand'), + caxis: makeAxis('Silt') + }, + showlegend: false, + width: 700, + annotations: [{ + showarrow: false, + text: 'Replica of Daven Quinn\'s block', + x: 0.15, + y: 1.1 + }] + }; + + Plotly.newPlot('myDiv', data, layout); +} + +function makeAxis(title) { + return { + title: { + text: title + }, + ticksuffix: '%', + min: 0.01, + linewidth: 2, + ticks: 'outside', + ticklen: 8, + showgrid: true, + }; +} diff --git a/content/plotly_js/scientific/ternary-plots/2016-04-13-ternary-plot_plotly_js_index.html b/content/plotly_js/scientific/ternary-plots/2016-04-13-ternary-plot_plotly_js_index.html new file mode 100644 index 00000000000..20b676f8c97 --- /dev/null +++ b/content/plotly_js/scientific/ternary-plots/2016-04-13-ternary-plot_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to create D3.js-based ternary plots. Examples of Ternary Plots with + plotly. +display_as: scientific +language: plotly_js +layout: base +name: Ternary Plots +order: 3 +page_type: example_index +permalink: javascript/ternary-plots/ +redirect_from: javascript/ternary-plot/ +thumbnail: thumbnail/ternary-plot.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","ternary-plot" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/scientific/wind-rose/2015-04-09-wind-rose-chart.html b/content/plotly_js/scientific/wind-rose/2015-04-09-wind-rose-chart.html new file mode 100644 index 00000000000..c0c58f1f000 --- /dev/null +++ b/content/plotly_js/scientific/wind-rose/2015-04-09-wind-rose-chart.html @@ -0,0 +1,48 @@ +--- +name: Wind Rose Chart +language: plotly_js +suite: wind-rose +sitemap: false +arrangement: horizontal +order: 17 +--- +var data = [{ + r: [77.5, 72.5, 70.0, 45.0, 22.5, 42.5, 40.0, 62.5], + theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"], + name: "11-14 m/s", + marker: {color: "rgb(106,81,163)"}, + type: "barpolar" + }, { + r: [57.5, 50.0, 45.0, 35.0, 20.0, 22.5, 37.5, 55.0], + theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"], + name: "8-11 m/s", + marker: {color: "rgb(158,154,200)"}, + type: "barpolar" + }, { + r: [40.0, 30.0, 30.0, 35.0, 7.5, 7.5, 32.5, 40.0], + theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"], + name: "5-8 m/s", + marker: {color: "rgb(203,201,226)"}, + type: "barpolar" + }, { + r: [20.0, 7.5, 15.0, 22.5, 2.5, 2.5, 12.5, 22.5], + theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"], + name: "< 5 m/s", + marker: {color: "rgb(242,240,247)"}, + type: "barpolar" + }] +var layout = { + title: { + text: "Wind Speed Distribution in Laurel, NE" + }, + font: {size: 16}, + legend: {font: {size: 16}}, + polar: { + barmode: "overlay", + bargap: 0, + radialaxis: {ticksuffix: "%", angle: 45, dtick: 20}, + angularaxis: {direction: "clockwise"} + } + } + +Plotly.newPlot("myDiv", data, layout) \ No newline at end of file diff --git a/content/plotly_js/scientific/wind-rose/2015-04-09-wind-rose_plotlyjs_index.html b/content/plotly_js/scientific/wind-rose/2015-04-09-wind-rose_plotlyjs_index.html new file mode 100644 index 00000000000..54eb1fc4374 --- /dev/null +++ b/content/plotly_js/scientific/wind-rose/2015-04-09-wind-rose_plotlyjs_index.html @@ -0,0 +1,14 @@ +--- +description: How to graph D3.js-based wind rose charts in plotly.js . +display_as: scientific +language: plotly_js +layout: base +name: Wind Rose Charts +order: 6 +permalink: javascript/wind-rose-charts/ +redirect_from: javascript-graphing-library/wind-rose-charts/ +thumbnail: thumbnail/wind-rose.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","wind-rose" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/2017-02-24-plotly_js-statistical-index.html b/content/plotly_js/statistical/2017-02-24-plotly_js-statistical-index.html new file mode 100644 index 00000000000..18e9e93b56c --- /dev/null +++ b/content/plotly_js/statistical/2017-02-24-plotly_js-statistical-index.html @@ -0,0 +1,27 @@ +--- +permalink: javascript/statistical-charts/ +description: Plotly.js makes interactive, publication-quality graphs online. Examples of how to make statistical charts such as boxplots and histograms. +name: Statistical Charts +layout: langindex +language: plotly_js +display_as: statistical +thumbnail: thumbnail/mixed.jpg +--- + + +
+
+ +
+ +
+

Plotly.js Statistical Charts

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","statistical" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/statistical/SPC/2017-09-27-spc-basic-distribution.html b/content/plotly_js/statistical/SPC/2017-09-27-spc-basic-distribution.html new file mode 100644 index 00000000000..3a88e4314bc --- /dev/null +++ b/content/plotly_js/statistical/SPC/2017-09-27-spc-basic-distribution.html @@ -0,0 +1,114 @@ +--- +name: SPC Control Chart & Distribution +language: plotly_js +suite: SPC +order: 2 +sitemap: false +arrangement: horizontal +description: +--- + +var Data = { + type: 'scatter', + x: [1,2,3,4,5,6,7,8,9], + y: [4,2,-1,4,-5,-7,0,3,8], + mode: 'lines+markers', + name: 'Data', + showlegend: true, + hoverinfo: 'all', + line: { + color: 'blue', + width: 2 + }, + marker: { + color: 'blue', + size: 8, + symbol: 'circle' + } +} + +var Viol = { + type: 'scatter', + x: [6,9], + y: [-7,8], + mode: 'markers', + name: 'Violation', + showlegend: true, + marker: { + color: 'rgb(255,65,54)', + line: {width: 3}, + opacity: 0.5, + size: 12, + symbol: 'circle-open' + } +} + +var CL = { + type: 'scatter', + x: [0.5, 10, null, 0.5, 10], + y: [-5, -5, null, 5, 5], + mode: 'lines', + name: 'LCL/UCL', + showlegend: true, + line: { + color: 'red', + width: 2, + dash: 'dash' + } +} + +var Centre = { + type: 'scatter', + x: [0.5, 10], + y: [0, 0], + mode: 'lines', + name: 'Centre', + showlegend: true, + line: { + color: 'grey', + width: 2 + } +} + +var histo = { + type: 'histogram', + x: [1,2,3,4,5,6,7,8,9], + y: [4,2,-1,4,-5,-7,0,3,8], + name: 'Distribution', + orientation: 'h', + marker: { + color: 'blue', + line: { + color: 'white', + width: 1 + } + }, + xaxis: 'x2', + yaxis: 'y2' +} + +var data = [Data,Viol,CL,Centre,histo] + +// layout +var layout = { + title: { + text: 'Basic SPC Chart' + }, + xaxis: { + domain: [0, 0.7], // 0 to 70% of width + zeroline: false + }, + yaxis: { + range: [-10,10], + zeroline: false + }, + xaxis2: { + domain: [0.8, 1] // 70 to 100% of width + }, + yaxis2: { + anchor: 'x2', + showticklabels: false + } +} + +Plotly.newPlot('myDiv', data,layout); diff --git a/content/plotly_js/statistical/SPC/2017-09-27-spc-basic.html b/content/plotly_js/statistical/SPC/2017-09-27-spc-basic.html new file mode 100644 index 00000000000..0e9cce56753 --- /dev/null +++ b/content/plotly_js/statistical/SPC/2017-09-27-spc-basic.html @@ -0,0 +1,88 @@ +--- +name: Basic SPC Control Chart +language: plotly_js +suite: SPC +order: 1 +sitemap: false +arrangement: horizontal +description: +--- + +var Data = { + type: 'scatter', + x: [1,2,3,4,5,6,7,8,9], + y: [4,2,-1,4,-5,-7,0,3,8], + mode: 'lines+markers', + name: 'Data', + showlegend: true, + hoverinfo: 'all', + line: { + color: 'blue', + width: 2 + }, + marker: { + color: 'blue', + size: 8, + symbol: 'circle' + } +} + +var Viol = { + type: 'scatter', + x: [6,9], + y: [-7,8], + mode: 'markers', + name: 'Violation', + showlegend: true, + marker: { + color: 'rgb(255,65,54)', + line: {width: 3}, + opacity: 0.5, + size: 12, + symbol: 'circle-open' + } +} + +var CL = { + type: 'scatter', + x: [0.5, 10, null, 0.5, 10], + y: [-5, -5, null, 5, 5], + mode: 'lines', + name: 'LCL/UCL', + showlegend: true, + line: { + color: 'red', + width: 2, + dash: 'dash' + } +} + +var Centre = { + type: 'scatter', + x: [0.5, 10], + y: [0, 0], + mode: 'lines', + name: 'Centre', + showlegend: true, + line: { + color: 'grey', + width: 2 + } +} + +var data = [Data,Viol,CL,Centre] + +var layout = { + title: { + text: 'Basic SPC Chart' + }, + xaxis: { + zeroline: false + }, + yaxis: { + range: [-10,10], + zeroline: false + } +} + +Plotly.newPlot('myDiv', data,layout); diff --git a/content/plotly_js/statistical/SPC/2017-09-27-spc-control-charts_plotly_js_index.html b/content/plotly_js/statistical/SPC/2017-09-27-spc-control-charts_plotly_js_index.html new file mode 100644 index 00000000000..00a0556da8f --- /dev/null +++ b/content/plotly_js/statistical/SPC/2017-09-27-spc-control-charts_plotly_js_index.html @@ -0,0 +1,13 @@ +--- +description: How to make a D3.js-based SPC Control Charts in javascript. +display_as: statistical +language: plotly_js +layout: base +name: SPC Control Charts +order: 7 +permalink: javascript/spc-control-charts/ +thumbnail: thumbnail/SPC.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","SPC" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/box/2015-04-09-basic-box-plot.html b/content/plotly_js/statistical/box/2015-04-09-basic-box-plot.html new file mode 100644 index 00000000000..9d8a6acaeb4 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-04-09-basic-box-plot.html @@ -0,0 +1,28 @@ +--- +name: Basic Box Plot +arrangement: horizontal +language: plotly_js +suite: box +order: 1 +sitemap: false +--- +var y0 = []; +var y1 = []; +for (var i = 0; i < 50; i ++) { + y0[i] = Math.random(); + y1[i] = Math.random() + 1; +} + +var trace1 = { + y: y0, + type: 'box' +}; + +var trace2 = { + y: y1, + type: 'box' +}; + +var data = [trace1, trace2]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/box/2015-04-09-box-grouped.html b/content/plotly_js/statistical/box/2015-04-09-box-grouped.html new file mode 100644 index 00000000000..2f7805c8ec3 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-04-09-box-grouped.html @@ -0,0 +1,48 @@ +--- +name: Grouped Box Plot +arrangement: horizontal +language: plotly_js +suite: box +order: 4 +sitemap: false +--- +var x = ['day 1', 'day 1', 'day 1', 'day 1', 'day 1', 'day 1', + 'day 2', 'day 2', 'day 2', 'day 2', 'day 2', 'day 2'] + +var trace1 = { + y: [0.2, 0.2, 0.6, 1.0, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3], + x: x, + name: 'kale', + marker: {color: '#3D9970'}, + type: 'box' +}; + +var trace2 = { + y: [0.6, 0.7, 0.3, 0.6, 0.0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2], + x: x, + name: 'radishes', + marker: {color: '#FF4136'}, + type: 'box' +}; + +var trace3 = { + y: [0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1.0, 0.3, 0.6, 0.8, 0.5], + x: x, + name: 'carrots', + marker: {color: '#FF851B'}, + type: 'box' +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + yaxis: { + title: { + text: 'normalized moisture' + }, + zeroline: false + }, + boxmode: 'group' +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/box/2015-04-09-box-plot-jitter.html b/content/plotly_js/statistical/box/2015-04-09-box-plot-jitter.html new file mode 100644 index 00000000000..619360e7083 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-04-09-box-plot-jitter.html @@ -0,0 +1,19 @@ +--- +name: Box Plot That Displays the Underlying Data +arrangement: horizontal +language: plotly_js +suite: box +order: 2 +sitemap: false +--- +var data = [ + { + y: [0, 1, 1, 2, 3, 5, 8, 13, 21], + boxpoints: 'all', + jitter: 0.3, + pointpos: -1.8, + type: 'box' + } +]; + +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/box/2015-04-09-box_plotly_js_index.html b/content/plotly_js/statistical/box/2015-04-09-box_plotly_js_index.html new file mode 100644 index 00000000000..433b986e017 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-04-09-box_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based box plot in javascript. Seven examples of box + plots in javascript that are grouped, colored, and display the underlying data distribution. +display_as: statistical +language: plotly_js +layout: base +name: Box Plots +order: 2 +page_type: example_index +permalink: javascript/box-plots/ +redirect_from: javascript-graphing-library/box-plots/ +thumbnail: thumbnail/box.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","box" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/box/2015-08-11-box-plot-styling-mean-and-sd.html b/content/plotly_js/statistical/box/2015-08-11-box-plot-styling-mean-and-sd.html new file mode 100644 index 00000000000..dbdbfa37210 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-08-11-box-plot-styling-mean-and-sd.html @@ -0,0 +1,39 @@ +--- +name: Box Plot Styling Mean and Standard Deviation +arrangement: horizontal +language: plotly_js +suite: box +order: 6 +sitemap: false +--- + +var trace1 = { + y: [2.37, 2.16, 4.82, 1.73, 1.04, 0.23, 1.32, 2.91, 0.11, 4.51, 0.51, 3.75, 1.35, 2.98, 4.50, 0.18, 4.66, 1.30, 2.06, 1.19], + type: 'box', + name: 'Only Mean', + marker: { + color: 'rgb(8,81,156)' + }, + boxmean: true +}; + +var trace2 = { + y: [2.37, 2.16, 4.82, 1.73, 1.04, 0.23, 1.32, 2.91, 0.11, 4.51, 0.51, 3.75, 1.35, 2.98, 4.50, 0.18, 4.66, 1.30, 2.06, 1.19], + type: 'box', + name: 'Mean and Standard Deviation', + marker: { + color: 'rgb(10,140,208)' + }, + boxmean: 'sd' +}; + + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Box Plot Styling Mean and Standard Deviation' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/box/2015-08-11-box-plot-styling-outliers.html b/content/plotly_js/statistical/box/2015-08-11-box-plot-styling-outliers.html new file mode 100644 index 00000000000..b420963f2ab --- /dev/null +++ b/content/plotly_js/statistical/box/2015-08-11-box-plot-styling-outliers.html @@ -0,0 +1,67 @@ +--- +name: Box Plot Styling Outliers +arrangement: horizontal +language: plotly_js +suite: box +order: 5 +sitemap: false +--- + +var trace1 = { + y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25], + type: 'box', + name: 'All Points', + jitter: 0.3, + pointpos: -1.8, + marker: { + color: 'rgb(7,40,89)' + }, + boxpoints: 'all' +}; + +var trace2 = { + y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25], + type: 'box', + name: 'Only Wiskers', + marker: { + color: 'rgb(9,56,125)' + }, + boxpoints: false +}; + +var trace3 = { + y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25], + type: 'box', + name: 'Suspected Outlier', + marker: { + color: 'rgb(8,81,156)', + outliercolor: 'rgba(219, 64, 82, 0.6)', + line: { + outliercolor: 'rgba(219, 64, 82, 1.0)', + outlierwidth: 2 + } + }, + boxpoints: 'suspectedoutliers' +}; + +var trace4 = { + y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25], + type: 'box', + name: 'Wiskers and Outliers', + marker: { + color: 'rgb(107,174,214)' + }, + boxpoints: 'Outliers' +}; + + + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: { + text: 'Box Plot Styling Outliers' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/box/2015-08-11-colored-box-plot.html b/content/plotly_js/statistical/box/2015-08-11-colored-box-plot.html new file mode 100644 index 00000000000..6c4a6b840e0 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-08-11-colored-box-plot.html @@ -0,0 +1,36 @@ +--- +name: Colored Box Plot +arrangement: horizontal +language: plotly_js +suite: box +order: 8 +sitemap: false +--- + +var trace1 = { + y: [1, 2, 3, 4, 4, 4, 8, 9, 10], + type: 'box', + name: 'Sample A', + marker:{ + color: 'rgb(214,12,140)' + } +}; + +var trace2 = { + y: [2, 3, 3, 3, 3, 5, 6, 6, 7], + type: 'box', + name: 'Sample B', + marker:{ + color: 'rgb(0,128,128)' + } +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Colored Box Plot' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/box/2015-08-11-fully-styled-box-plots.html b/content/plotly_js/statistical/box/2015-08-11-fully-styled-box-plots.html new file mode 100644 index 00000000000..a90b3cdaabd --- /dev/null +++ b/content/plotly_js/statistical/box/2015-08-11-fully-styled-box-plots.html @@ -0,0 +1,84 @@ +--- +name: Fully Styled Box Plot +arrangement: horizontal +language: plotly_js +suite: box +order: 10 +sitemap: false +--- + +var xData = ['Carmelo
Anthony', 'Dwyane
Wade', + 'Deron
Williams', 'Brook
Lopez', + 'Damian
Lillard', 'David
West', + 'Blake
Griffin', 'David
Lee', + 'Demar
Derozan']; + +function getrandom(num , mul) { + var value = [ ]; + for ( i = 0; i <= num; i++ ) { + var rand = Math.random() * mul; + value.push(rand); + } + return value; +} + +var yData = [ + getrandom(30 ,10), + getrandom(30, 20), + getrandom(30, 25), + getrandom(30, 40), + getrandom(30, 45), + getrandom(30, 30), + getrandom(30, 20), + getrandom(30, 15), + getrandom(30, 43), + ]; +var colors = ['rgba(93, 164, 214, 0.5)', 'rgba(255, 144, 14, 0.5)', 'rgba(44, 160, 101, 0.5)', 'rgba(255, 65, 54, 0.5)', 'rgba(207, 114, 255, 0.5)', 'rgba(127, 96, 0, 0.5)', 'rgba(255, 140, 184, 0.5)', 'rgba(79, 90, 117, 0.5)', 'rgba(222, 223, 0, 0.5)']; + +var data = []; + +for ( var i = 0; i < xData.length; i ++ ) { + var result = { + type: 'box', + y: yData[i], + name: xData[i], + boxpoints: 'all', + jitter: 0.5, + whiskerwidth: 0.2, + fillcolor: 'cls', + marker: { + size: 2 + }, + line: { + width: 1 + } + }; + data.push(result); +}; + +layout = { + title: { + text: 'Points Scored by the Top 9 Scoring NBA Players in 2012' + }, + yaxis: { + autorange: true, + showgrid: true, + zeroline: true, + dtick: 5, + gridcolor: 'rgb(255, 255, 255)', + gridwidth: 1, + zerolinecolor: 'rgb(255, 255, 255)', + zerolinewidth: 2 + }, + margin: { + l: 40, + r: 30, + b: 80, + t: 100 + }, + paper_bgcolor: 'rgb(243, 243, 243)', + plot_bgcolor: 'rgb(243, 243, 243)', + showlegend: false +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/box/2015-08-11-grouped-horizontal-box-plots.html b/content/plotly_js/statistical/box/2015-08-11-grouped-horizontal-box-plots.html new file mode 100644 index 00000000000..b35d4109e0b --- /dev/null +++ b/content/plotly_js/statistical/box/2015-08-11-grouped-horizontal-box-plots.html @@ -0,0 +1,58 @@ +--- +name: Grouped Horizontal Box Plot +arrangement: horizontal +language: plotly_js +suite: box +order: 7 +sitemap: false +--- + +var y = ['day 1', 'day 1', 'day 1', 'day 1', 'day 1', 'day 1', + 'day 2', 'day 2', 'day 2', 'day 2', 'day 2', 'day 2'] + +var trace1 = { + x: [0.2, 0.2, 0.6, 1.0, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3], + y: y, + name: 'kale', + marker: {color: '#3D9970'}, + type: 'box', + boxmean: false, + orientation: 'h' +}; + +var trace2 = { + x: [0.6, 0.7, 0.3, 0.6, 0.0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2], + y: y, + name: 'radishes', + marker: {color: '#FF4136'}, + type: 'box', + boxmean: false, + orientation: 'h' +}; + +var trace3 = { + x: [0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1.0, 0.3, 0.6, 0.8, 0.5], + y: y, + name: 'carrots', + marker: {color: '#FF851B'}, + type: 'box', + boxmean: false, + orientation: 'h' +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + title: { + text: 'Grouped Horizontal Box Plot' + }, + xaxis: { + title: { + text: 'normalized moisture' + }, + zeroline: false + }, + boxmode: 'group' +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/box/2015-08-11-horizontal-box-plot.html b/content/plotly_js/statistical/box/2015-08-11-horizontal-box-plot.html new file mode 100644 index 00000000000..3ade96e0742 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-08-11-horizontal-box-plot.html @@ -0,0 +1,30 @@ +--- +name: Horizontal Box Plot +arrangement: horizontal +language: plotly_js +suite: box +order: 3 +sitemap: false +--- + +var trace1 = { + x: [1, 2, 3, 4, 4, 4, 8, 9, 10], + type: 'box', + name: 'Set 1' +}; + +var trace2 = { + x: [2, 3, 3, 3, 3, 5, 6, 6, 7], + type: 'box', + name: 'Set 2' +}; + +var data = [trace1, trace2]; + +var layout = { + title: { + text: 'Horizontal Box Plot' + }, +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/box/2015-08-11-rainbow-box-plot.html b/content/plotly_js/statistical/box/2015-08-11-rainbow-box-plot.html new file mode 100644 index 00000000000..d0462ceb658 --- /dev/null +++ b/content/plotly_js/statistical/box/2015-08-11-rainbow-box-plot.html @@ -0,0 +1,73 @@ +--- +name: Rainbow Box Plot +arrangement: horizontal +language: plotly_js +suite: box +order: 12 +sitemap: false +--- +function linspace(a,b,n) { + return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);}); +} +var boxNumber = 30; +var boxColor = []; +var allColors = linspace(0, 360, boxNumber); +var data = []; +var yValues = []; + +//Colors + +for( var i = 0; i < boxNumber; i++ ){ + var result = 'hsl('+ allColors[i] +',50%'+',50%)'; + boxColor.push(result); +} + +function getRandomArbitrary(min, max) { + return Math.random() * (max - min) + min; +}; + +//Create Y Values + +for( var i = 0; i < boxNumber; i++ ){ + var ySingleArray = []; + for( var j = 0; j < 10; j++ ){ + var randomNum = getRandomArbitrary(0, 1); + var yIndValue = 3.5*Math.sin(Math.PI * i/boxNumber) + i/boxNumber+(1.5+0.5*Math.cos(Math.PI*i/boxNumber))*randomNum; + ySingleArray.push(yIndValue); + } + yValues.push(ySingleArray); +} + +//Create Traces + +for( var i = 0; i < boxNumber; i++ ){ + var result = { + y: yValues[i], + type:'box', + marker:{ + color: boxColor[i] + } + }; + data.push(result); +}; + +//Format the layout + +var layout = { + xaxis: { + showgrid: false, + zeroline: false, + tickangle: 60, + showticklabels: false + }, + yaxis: { + zeroline: false, + gridcolor: 'white' + }, + paper_bgcolor: 'rgb(233,233,233)', + plot_bgcolor: 'rgb(233,233,233)', + showlegend:false +}; + + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/continuous-error-bars/2016-02-15-continuous-error-bar_plotly_js_index.html b/content/plotly_js/statistical/continuous-error-bars/2016-02-15-continuous-error-bar_plotly_js_index.html new file mode 100644 index 00000000000..daff10e22ad --- /dev/null +++ b/content/plotly_js/statistical/continuous-error-bars/2016-02-15-continuous-error-bar_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to add D3.js-based continuous error bars to a line, scatter, or bar + chart. +display_as: statistical +language: plotly_js +layout: base +name: Continuous Error Bars +order: 5 +page_type: example_index +permalink: javascript/continuous-error-bars/ +thumbnail: thumbnail/error-cont.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","continuous-error-bar" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/continuous-error-bars/2016-02-15-continuous-variable.html b/content/plotly_js/statistical/continuous-error-bars/2016-02-15-continuous-variable.html new file mode 100644 index 00000000000..e8102ebcafb --- /dev/null +++ b/content/plotly_js/statistical/continuous-error-bars/2016-02-15-continuous-variable.html @@ -0,0 +1,81 @@ +--- +name: Asymmetric Error Bars with a Constant Offset +language: plotly_js +suite: continuous-error-bar +order: 2 +sitemap: false +arrangement: horizontal +--- + +function random_date(start, end, mul) + { + return new Date(start.getTime() + mul * (end.getTime() - start.getTime())); + } + +function date_list(y1,m1,d1,y2,m2,d2,count) + { + var a =[]; + for(i=0;iNotice the hover text!" + }, + yaxis: { + title: { + text: "Wind speed (m/s)" + } + } +}; +Plotly.newPlot('myDiv', data, layout); \ No newline at end of file diff --git a/content/plotly_js/statistical/continuous-error-bars/2016-02-15-filled-lines.html b/content/plotly_js/statistical/continuous-error-bars/2016-02-15-filled-lines.html new file mode 100644 index 00000000000..ab4be94aad5 --- /dev/null +++ b/content/plotly_js/statistical/continuous-error-bars/2016-02-15-filled-lines.html @@ -0,0 +1,88 @@ +--- +name: Filled Lines +arrangement: horizontal +language: plotly_js +suite: continuous-error-bar +order: 1 +sitemap: false +--- + +var trace1 = { + x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], + y: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], + fill: "tozerox", + fillcolor: "rgba(0,100,80,0.2)", + line: {color: "transparent"}, + name: "Fair", + showlegend: false, + type: "scatter" +}; +var trace2 = { + x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], + y: [5.5, 3, 5.5, 8, 6, 3, 8, 5, 6, 5.5, 4.75, 5, 4, 7, 2, 4, 7, 4.4, 2, 4.5], + fill: "tozerox", + fillcolor: "rgba(0,176,246,0.2)", + line: {color: "transparent"}, + name: "Premium", + showlegend: false, + type: "scatter" +}; +var trace3 = { + x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], + y: [11, 9, 7, 5, 3, 1, 3, 5, 3, 1, -1, 1, 3, 1, -0.5, 1, 3, 5, 7, 9], + fill: "tozerox", + fillcolor: "rgba(231,107,243,0.2)", + line: {color: "transparent"}, + name: "Ideal", + showlegend: false, + type: "scatter" +}; +var trace4 = { + x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + line: {color: "rgb(0,100,80)"}, + mode: "lines", + name: "Fair", + type: "scatter" +}; +var trace5 = { + x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + y: [5, 2.5, 5, 7.5, 5, 2.5, 7.5, 4.5, 5.5, 5], + line: {color: "rgb(0,176,246)"}, + mode: "lines", + name: "Premium", + type: "scatter" +}; +var trace6 = { + x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + y: [10, 8, 6, 4, 2, 0, 2, 4, 2, 0], + line: {color: "rgb(231,107,243)"}, + mode: "lines", + name: "Ideal", + type: "scatter" +}; +var data = [trace1, trace2, trace3, trace4, trace5, trace6]; +var layout = { + paper_bgcolor: "rgb(255,255,255)", + plot_bgcolor: "rgb(229,229,229)", + xaxis: { + gridcolor: "rgb(255,255,255)", + range: [1, 10], + showgrid: true, + showline: false, + showticklabels: true, + tickcolor: "rgb(127,127,127)", + ticks: "outside", + zeroline: false + }, + yaxis: { + gridcolor: "rgb(255,255,255)", + showgrid: true, + showline: false, + showticklabels: true, + tickcolor: "rgb(127,127,127)", + ticks: "outside", + zeroline: false + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/density-plots/2015-04-09-2dhistogram-contour-subplots.html b/content/plotly_js/statistical/density-plots/2015-04-09-2dhistogram-contour-subplots.html new file mode 100644 index 00000000000..1d9b8ab48da --- /dev/null +++ b/content/plotly_js/statistical/density-plots/2015-04-09-2dhistogram-contour-subplots.html @@ -0,0 +1,105 @@ +--- +name: 2D Histogram Contour Plot
with Histogram Subplots +arrangement: horizontal +language: plotly_js +suite: 2d-density-plot +order: 0 +sitemap: false + +--- +// from http://bl.ocks.org/mbostock/4349187 +// Sample from a normal distribution with mean 0, stddev 1. + +function normal() { + var x = 0, + y = 0, + rds, c; + do { + x = Math.random() * 2 - 1; + y = Math.random() * 2 - 1; + rds = x * x + y * y; + } while (rds == 0 || rds > 1); + c = Math.sqrt(-2 * Math.log(rds) / rds); // Box-Muller transform + return x * c; // throw away extra sample y * c +} + +var N = 2000, + a = -1, + b = 1.2; + +var step = (b - a) / (N - 1); +var t = new Array(N), x = new Array(N), y = new Array(N); + +for(var i = 0; i < N; i++){ + t[i] = a + step * i; + x[i] = (Math.pow(t[i], 3)) + (0.3 * normal() ); + y[i] = (Math.pow(t[i], 6)) + (0.3 * normal() ); +} + +var trace1 = { + x: x, + y: y, + mode: 'markers', + name: 'points', + marker: { + color: 'rgb(102,0,0)', + size: 2, + opacity: 0.4 + }, + type: 'scatter' +}; +var trace2 = { + x: x, + y: y, + name: 'density', + ncontours: 20, + colorscale: 'Hot', + reversescale: true, + showscale: false, + type: 'histogram2dcontour' +}; +var trace3 = { + x: x, + name: 'x density', + marker: {color: 'rgb(102,0,0)'}, + yaxis: 'y2', + type: 'histogram' +}; +var trace4 = { + y: y, + name: 'y density', + marker: {color: 'rgb(102,0,0)'}, + xaxis: 'x2', + type: 'histogram' +}; +var data = [trace1, trace2, trace3, trace4]; +var layout = { + showlegend: false, + autosize: false, + width: 600, + height: 550, + margin: {t: 50}, + hovermode: 'closest', + bargap: 0, + xaxis: { + domain: [0, 0.85], + showgrid: false, + zeroline: false + }, + yaxis: { + domain: [0, 0.85], + showgrid: false, + zeroline: false + }, + xaxis2: { + domain: [0.85, 1], + showgrid: false, + zeroline: false + }, + yaxis2: { + domain: [0.85, 1], + showgrid: false, + zeroline: false + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/density-plots/2015-04-09-density-plots-index.html b/content/plotly_js/statistical/density-plots/2015-04-09-density-plots-index.html new file mode 100644 index 00000000000..f233b532fad --- /dev/null +++ b/content/plotly_js/statistical/density-plots/2015-04-09-density-plots-index.html @@ -0,0 +1,16 @@ +--- +description: How to make a D3.js-based 2d density plot in JavaScript. Examples of + density plots with kernel density estimations, custom color-scales, and smoothing. +display_as: statistical +language: plotly_js +layout: base +name: 2d Density Plots +order: 4 +page_type: example_index +permalink: javascript/2d-density-plots/ +redirect_from: javascript-graphing-library/2d-density-plots/ +thumbnail: thumbnail/2d-density-plot.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite", "2d-density-plot" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/density-plots/2015-08-12-2D-density-histogram-slider-control.html b/content/plotly_js/statistical/density-plots/2015-08-12-2D-density-histogram-slider-control.html new file mode 100644 index 00000000000..05304b605b5 --- /dev/null +++ b/content/plotly_js/statistical/density-plots/2015-08-12-2D-density-histogram-slider-control.html @@ -0,0 +1,15 @@ +--- +name: 2D Histogram Contour Plot with Slider Control +plot_url: https://jsfiddle.net/plotlygraphs/y9sdy76h/4/embedded/result,js,html/ +language: plotly_js +suite: 2d-density-plot +order: 17 +sitemap: false +height: 800 +arrangement: horizontal +--- +Add slider controls to 2d-density-plot plots with the postMessage API. + +See the code on JSFiddle. + +Watch the 5 second video of how it works. diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-basic-error-bar.html b/content/plotly_js/statistical/error-bar/2015-04-09-basic-error-bar.html new file mode 100644 index 00000000000..a34fc62a49d --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-basic-error-bar.html @@ -0,0 +1,21 @@ +--- +name: Basic Symmetric Error Bars +language: plotly_js +suite: error-bar +order: 1 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [0, 1, 2], + y: [6, 10, 2], + error_y: { + type: 'data', + array: [1, 2, 3], + visible: true + }, + type: 'scatter' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-asymmetric-array.html b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-asymmetric-array.html new file mode 100644 index 00000000000..ab22e4c0ab1 --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-asymmetric-array.html @@ -0,0 +1,22 @@ +--- +name: Asymmetric Error Bars +language: plotly_js +suite: error-bar +order: 4 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [1, 2, 3, 4], + y: [2, 1, 3, 4], + error_y: { + type: 'data', + symmetric: false, + array: [0.1, 0.2, 0.1, 0.1], + arrayminus: [0.2, 0.4, 1, 0.2] + }, + type: 'scatter' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-asymmetric-constant.html b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-asymmetric-constant.html new file mode 100644 index 00000000000..8aeabe07ff8 --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-asymmetric-constant.html @@ -0,0 +1,22 @@ +--- +name: Asymmetric Error Bars with a Constant Offset +language: plotly_js +suite: error-bar +order: 7 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [1, 2, 3, 4], + y: [2, 1, 3, 4], + error_y: { + type: 'percent', + symmetric: false, + value: 15, + valueminus: 25 + }, + type: 'scatter' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-bar.html b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-bar.html new file mode 100644 index 00000000000..1e5bf402b7d --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-bar.html @@ -0,0 +1,33 @@ +--- +name: Bar Chart with Error Bars +language: plotly_js +suite: error-bar +order: 2 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: ['Trial 1', 'Trial 2', 'Trial 3'], + y: [3, 6, 4], + name: 'Control', + error_y: { + type: 'data', + array: [1, 0.5, 1.5], + visible: true + }, + type: 'bar' +}; +var trace2 = { + x: ['Trial 1', 'Trial 2', 'Trial 3'], + y: [4, 7, 3], + name: 'Experimental', + error_y: { + type: 'data', + array: [0.5, 1, 2], + visible: true + }, + type: 'bar' +}; +var data = [trace1, trace2]; +var layout = {barmode: 'group'}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-horizontal.html b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-horizontal.html new file mode 100644 index 00000000000..df384de05b3 --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-horizontal.html @@ -0,0 +1,20 @@ +--- +name: Horizontal Error Bars +language: plotly_js +suite: error-bar +order: 3 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [1, 2, 3, 4], + y: [2, 1, 3, 4], + error_x: { + type: 'percent', + value: 10 + }, + type: 'scatter' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-style.html b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-style.html new file mode 100644 index 00000000000..0b76dfce68e --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar-style.html @@ -0,0 +1,49 @@ +--- +name: Colored and Styled Error Bars +language: plotly_js +suite: error-bar +order: 5 +sitemap: false +arrangement: horizontal +--- +function linspace(a,b,n) { + return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);}); +} +x_theo = linspace(-4, 4, 100) +sincx = Math.sin(x_theo) / x_theo +var x = [-3.8, -3.03, -1.91, -1.46, -0.89, -0.24, -0.0, 0.41, 0.89, 1.01, 1.91, 2.28, 2.79, 3.56] +var y = [-0.02, 0.04, -0.01, -0.27, 0.36, 0.75, 1.03, 0.65, 0.28, 0.02, -0.11, 0.16, 0.04, -0.15] + +var trace1 = { + x: x_theo, + y: sincx, + name: 'sinc(x)', + type: 'scatter' +}; +var trace2 = { + x: x, + y: y, + mode: 'markers', + name: 'measured', + error_y: { + type: 'constant', + value: 0.1, + color: '#85144B', + thickness: 1.5, + width: 3, + }, + error_x: { + type: 'constant', + value: 0.2, + color: '#85144B', + thickness: 1.5, + width: 3, + }, + marker: { + color: '#85144B', + size: 8 + }, + type: 'scatter' +}; +var data = [trace1, trace2]; +Plotly.newPlot('myDiv', data, {}, {showSendToCloud: true}); diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-error-bar_plotly_js_index.html b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar_plotly_js_index.html new file mode 100644 index 00000000000..d54d13508e7 --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-error-bar_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to add error bars to a D3.js-based line, scatter, or bar chart. Seven + examples of symmetric, asymmetric, horizontal, and colored error bars. +display_as: statistical +language: plotly_js +layout: base +name: Error Bars +order: 1 +page_type: example_index +permalink: javascript/error-bars/ +redirect_from: javascript-graphing-library/error-bars/ +thumbnail: thumbnail/error-bar.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","error-bar" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/error-bar/2015-04-09-percent-error-bar.html b/content/plotly_js/statistical/error-bar/2015-04-09-percent-error-bar.html new file mode 100644 index 00000000000..659461dea7f --- /dev/null +++ b/content/plotly_js/statistical/error-bar/2015-04-09-percent-error-bar.html @@ -0,0 +1,21 @@ +--- +name: Error Bars as a Percentage of the y-Value +language: plotly_js +suite: error-bar +order: 6 +sitemap: false +arrangement: horizontal +--- +var data = [ + { + x: [0, 1, 2], + y: [6, 10, 2], + error_y: { + type: 'percent', + value: 50, + visible: true + }, + type: 'scatter' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram/2015-04-09-basic-histogram.html b/content/plotly_js/statistical/histogram/2015-04-09-basic-histogram.html new file mode 100644 index 00000000000..90706ddb97f --- /dev/null +++ b/content/plotly_js/statistical/histogram/2015-04-09-basic-histogram.html @@ -0,0 +1,19 @@ +--- +name: Basic Histogram +arrangement: horizontal +language: plotly_js +suite: histogram +order: 4 +sitemap: false +--- +var x = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); +} + +var trace = { + x: x, + type: 'histogram', + }; +var data = [trace]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram/2015-04-09-histogram_plotly_js_index.html b/content/plotly_js/statistical/histogram/2015-04-09-histogram_plotly_js_index.html new file mode 100644 index 00000000000..6c55f91273a --- /dev/null +++ b/content/plotly_js/statistical/histogram/2015-04-09-histogram_plotly_js_index.html @@ -0,0 +1,17 @@ +--- +description: How to make a D3.js-based histogram in JavaScript. Seven examples of + colored, horizontal, and normal histogram bar charts. +display_as: statistical +language: plotly_js +layout: base +name: Histograms +order: 3 +page_type: example_index +permalink: javascript/histograms/ +plottype: histogram +redirect_from: javascript-graphing-library/histograms/ +thumbnail: thumbnail/histogram.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","histogram" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/histogram/2015-04-09-horizontal-histogram.html b/content/plotly_js/statistical/histogram/2015-04-09-horizontal-histogram.html new file mode 100644 index 00000000000..85984655a42 --- /dev/null +++ b/content/plotly_js/statistical/histogram/2015-04-09-horizontal-histogram.html @@ -0,0 +1,23 @@ +--- +name: Horizontal Histogram +arrangement: horizontal +language: plotly_js +suite: histogram +order: 5 +sitemap: false +--- +var y = []; +for (var i = 0; i < 500; i ++) { + y[i] = Math.random(); +} + +var data = [ + { + y: y, + type: 'histogram', + marker: { + color: 'pink', + }, + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram/2015-04-09-normalized-histogram.html b/content/plotly_js/statistical/histogram/2015-04-09-normalized-histogram.html new file mode 100644 index 00000000000..3a877e704c9 --- /dev/null +++ b/content/plotly_js/statistical/histogram/2015-04-09-normalized-histogram.html @@ -0,0 +1,24 @@ +--- +name: Normalized Histogram +arrangement: horizontal +language: plotly_js +suite: histogram +order: 9 +sitemap: false +--- +var x = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); +} + +var data = [ + { + x: x, + type: 'histogram', + histnorm: 'probability', + marker: { + color: 'rgb(255,255,100)', + }, + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram/2015-04-09-overlaid-histogram.html b/content/plotly_js/statistical/histogram/2015-04-09-overlaid-histogram.html new file mode 100644 index 00000000000..104da6cbe2f --- /dev/null +++ b/content/plotly_js/statistical/histogram/2015-04-09-overlaid-histogram.html @@ -0,0 +1,36 @@ +--- +name: Overlaid Histogram +arrangement: horizontal +language: plotly_js +suite: histogram +order: 6 +sitemap: false +--- +var x1 = []; +var x2 = []; +for (var i = 1; i < 500; i++) +{ + k = Math.random(); + x1.push(Math.random() + 1); + x2.push(Math.random() + 1.1); +} +var trace1 = { + x: x1, + type: "histogram", + opacity: 0.5, + marker: { + color: 'green', + }, +}; +var trace2 = { + x: x2, + type: "histogram", + opacity: 0.6, + marker: { + color: 'red', + }, +}; + +var data = [trace1, trace2]; +var layout = {barmode: "overlay"}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/histogram/2015-04-09-stacked-histogram.html b/content/plotly_js/statistical/histogram/2015-04-09-stacked-histogram.html new file mode 100644 index 00000000000..69e6a5f20a7 --- /dev/null +++ b/content/plotly_js/statistical/histogram/2015-04-09-stacked-histogram.html @@ -0,0 +1,26 @@ +--- +name: Stacked Histograms +arrangement: horizontal +language: plotly_js +suite: histogram +order: 7 +sitemap: false +--- +var x1 = []; +var x2 = []; +for (var i = 0; i < 500; i ++) { + x1[i] = Math.random(); + x2[i] = Math.random(); +} + +var trace1 = { + x: x1, + type: "histogram", +}; +var trace2 = { + x: x2, + type: "histogram", +}; +var data = [trace1, trace2]; +var layout = {barmode: "stack"}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/histogram/2015-04-09-style-histogram.html b/content/plotly_js/statistical/histogram/2015-04-09-style-histogram.html new file mode 100644 index 00000000000..bff87ef1a4f --- /dev/null +++ b/content/plotly_js/statistical/histogram/2015-04-09-style-histogram.html @@ -0,0 +1,82 @@ +--- +name: Colored and Styled Histograms +arrangement: horizontal +language: plotly_js +suite: histogram +order: 8 +sitemap: false +--- +var x1 = []; +var x2 = []; +var y1 = []; +var y2 = []; +for (var i = 1; i < 500; i++) +{ + k = Math.random(); + x1.push(k*5); + x2.push(k*10); + y1.push(k); + y2.push(k*2); +} +var trace1 = { + x: x1, + y: y1, + name: 'control', + autobinx: false, + histnorm: "count", + marker: { + color: "rgba(255, 100, 102, 0.7)", + line: { + color: "rgba(255, 100, 102, 1)", + width: 1 + } + }, + opacity: 0.5, + type: "histogram", + xbins: { + end: 2.8, + size: 0.06, + start: .5 + } +}; +var trace2 = { + x: x2, + y: y2, + autobinx: false, + marker: { + color: "rgba(100, 200, 102, 0.7)", + line: { + color: "rgba(100, 200, 102, 1)", + width: 1 + } + }, + name: "experimental", + opacity: 0.75, + type: "histogram", + xbins: { + end: 4, + size: 0.06, + start: -3.2 + + } +}; +var data = [trace1, trace2]; +var layout = { + bargap: 0.05, + bargroupgap: 0.2, + barmode: "overlay", + title: { + text: "Sampled Results" + }, + xaxis: { + title: { + text: "Value" + } + }, + yaxis: { + title: { + text: "Count" + } + } +}; +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/histogram/2017-07-07-cumulative-histogram.html b/content/plotly_js/statistical/histogram/2017-07-07-cumulative-histogram.html new file mode 100644 index 00000000000..27626f36482 --- /dev/null +++ b/content/plotly_js/statistical/histogram/2017-07-07-cumulative-histogram.html @@ -0,0 +1,20 @@ +--- +name: Cumulative Histogram +arrangement: horizontal +language: plotly_js +suite: histogram +order: 9 +sitemap: false +--- +var x = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); +} + +var trace = { + x: x, + type: 'histogram', + cumulative: {enabled: true} + }; +var data = [trace]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram/2018-03-08-histfunc.html b/content/plotly_js/statistical/histogram/2018-03-08-histfunc.html new file mode 100644 index 00000000000..7e3408bd07c --- /dev/null +++ b/content/plotly_js/statistical/histogram/2018-03-08-histfunc.html @@ -0,0 +1,30 @@ +--- +name: Specify Binning Function +arrangement: horizontal +language: plotly_js +suite: histogram +order: 10 +sitemap: false +--- + +var x = ["Apples","Apples","Apples","Oranges", "Bananas"] +var y = ["5","10","3","10","5"] + +var data = [ + { + histfunc: "count", + y: y, + x: x, + type: "histogram", + name: "count" + }, + { + histfunc: "sum", + y: y, + x: x, + type: "histogram", + name: "sum" + } +] + +Plotly.newPlot('myDiv', data) diff --git a/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram-options.html b/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram-options.html new file mode 100644 index 00000000000..70bb4ac3239 --- /dev/null +++ b/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram-options.html @@ -0,0 +1,37 @@ +--- +name: 2D Histogram Binning and Styling Options +language: plotly_js +suite: histogram2d +order: 1 +sitemap: false +arrangement: horizontal +--- +var x = []; +var y = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); + y[i] = Math.random() + 1; +} + +var data = [ + { + x: x, + y: y, + histnorm: 'probability', + autobinx: false, + xbins: { + start: -3, + end: 3, + size: 0.1 + }, + autobiny: false, + ybins: { + start: -2.5, + end: 4, + size: 0.1 + }, + colorscale: [['0', 'rgb(12,51,131)'], ['0.25', 'rgb(10,136,186)'], ['0.5', 'rgb(242,211,56)'], ['0.75', 'rgb(242,143,56)'], ['1', 'rgb(217,30,30)']], + type: 'histogram2d' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram-scatter.html b/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram-scatter.html new file mode 100644 index 00000000000..2fc53fed3a5 --- /dev/null +++ b/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram-scatter.html @@ -0,0 +1,65 @@ +--- +name: 2D Histogram Overlaid with a Scatter Chart +language: plotly_js +suite: histogram2d +order: 2 +sitemap: false +arrangement: horizontal +--- +var x0 = []; +var y0 = []; +var x1 = []; +var y1 = []; +var x2 = []; +var y2 = []; + +for (var i = 0; i < 500; i ++) +{ + x0[i] = Math.random() + 1; + y0[i] = Math.random() + 1.5; +} + +for (var i = 0; i < 100; i ++) +{ + x1[i] = Math.random(); + y1[i] = Math.random() + 1; +} + +for (var i = 0; i < 500; i ++) +{ + x2[i] = Math.random()*2; + y2[i] = Math.random()*3; +} + +var trace1 = { + x: x0, + y: y0, + mode: 'markers', + marker: { + symbol: 'circle', + opacity: 0.7, + color:'rgb(200,111,200)', + }, + type: 'scatter', +}; +var trace2 = { + x: x1, + y: y1, + mode: 'markers', + marker: { + symbol: 'square', + opacity: 0.7, + color:'cyan', + }, + type: 'scatter' +}; +var trace3 = { + x: x2, + y: y2, + type: 'histogram2d', + colorscale : [['0' , 'rgb(0,225,100)'],['1', 'rgb(100,0,200)']], + +}; + +var data = [trace1, trace2, trace3]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram.html b/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram.html new file mode 100644 index 00000000000..4a82ec32f2f --- /dev/null +++ b/content/plotly_js/statistical/histogram2d/2015-04-09-2d-histogram.html @@ -0,0 +1,23 @@ +--- +name: 2D Histogram of a Bivariate Normal Distribution +language: plotly_js +suite: histogram2d +order: 0 +sitemap: false +arrangement: horizontal +--- +var x = []; +var y = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); + y[i] = Math.random() + 1; +} + +var data = [ + { + x: x, + y: y, + type: 'histogram2d' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram2d/2015-04-09-histogram2d_plotly_js_index.html b/content/plotly_js/statistical/histogram2d/2015-04-09-histogram2d_plotly_js_index.html new file mode 100644 index 00000000000..859be05212a --- /dev/null +++ b/content/plotly_js/statistical/histogram2d/2015-04-09-histogram2d_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make a D3.js-based 2D histogram in javascript. A 2D histogram + is a visualization of a bivariate distribution. +display_as: statistical +language: plotly_js +layout: base +name: 2D Histograms +order: 6 +permalink: javascript/2D-Histogram/ +redirect_from: javascript-graphing-library/2D-Histogram/ +thumbnail: thumbnail/histogram2d.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","histogram2d" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/histogram2dcontour/2018-01-16-basic-hist2dcontour.html b/content/plotly_js/statistical/histogram2dcontour/2018-01-16-basic-hist2dcontour.html new file mode 100644 index 00000000000..9fb8021ced2 --- /dev/null +++ b/content/plotly_js/statistical/histogram2dcontour/2018-01-16-basic-hist2dcontour.html @@ -0,0 +1,24 @@ +--- +name: Basic 2D Histogram Contour +language: plotly_js +suite: hist2dcontour +order: 1 +sitemap: false +arrangement: horizontal +--- + +var x = []; +var y = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); + y[i] = Math.random() + 1; +} + +var data = [ + { + x: x, + y: y, + type: 'histogram2dcontour' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram2dcontour/2018-01-30-colorscale-hist2dcontour.html b/content/plotly_js/statistical/histogram2dcontour/2018-01-30-colorscale-hist2dcontour.html new file mode 100644 index 00000000000..4bc7f9e29f0 --- /dev/null +++ b/content/plotly_js/statistical/histogram2dcontour/2018-01-30-colorscale-hist2dcontour.html @@ -0,0 +1,25 @@ +--- +name: 2D Histogram Contour Colorscale +language: plotly_js +suite: hist2dcontour +order: 2 +sitemap: false +arrangement: horizontal +--- + +var x = []; +var y = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); + y[i] = Math.random() + 1; +} + +var data = [ + { + x: x, + y: y, + colorscale: 'Blues', + type: 'histogram2dcontour' + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/histogram2dcontour/2018-01-30-hist2dcontour-plotlyjs-index.html b/content/plotly_js/statistical/histogram2dcontour/2018-01-30-hist2dcontour-plotlyjs-index.html new file mode 100644 index 00000000000..031cc44bbfd --- /dev/null +++ b/content/plotly_js/statistical/histogram2dcontour/2018-01-30-hist2dcontour-plotlyjs-index.html @@ -0,0 +1,13 @@ +--- +description: How to make D3.js-based 2D Histogram Contour plots in Plotly.js. +display_as: statistical +language: plotly_js +layout: base +name: 2D Histogram Contour +order: 11 +permalink: javascript/2d-histogram-contour/ +thumbnail: thumbnail/hist2dcontour.png +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","hist2dcontour" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/histogram2dcontour/2018-01-30-styled-hist2dcontour.html b/content/plotly_js/statistical/histogram2dcontour/2018-01-30-styled-hist2dcontour.html new file mode 100644 index 00000000000..ecbf306d843 --- /dev/null +++ b/content/plotly_js/statistical/histogram2dcontour/2018-01-30-styled-hist2dcontour.html @@ -0,0 +1,40 @@ +--- +name: Styled 2D Histogram Contour +language: plotly_js +suite: hist2dcontour +order: 3 +sitemap: false +arrangement: horizontal +--- + +var x = []; +var y = []; +for (var i = 0; i < 500; i ++) { + x[i] = Math.random(); + y[i] = Math.random() + 1; +} + +var data = [ + { + x: x, + y: y, + colorscale: 'Blues', + type: 'histogram2dcontour', + contours: { + showlabels: true, + labelfont: { + family: 'Raleway', + color: 'white' + } + }, + hoverlabel: { + bgcolor: 'white', + bordercolor: 'black', + font: { + family: 'Raleway', + color: 'black' + } + } + } +]; +Plotly.newPlot('myDiv', data); diff --git a/content/plotly_js/statistical/parcats/2018-09-17-basic-parcats-counts.html b/content/plotly_js/statistical/parcats/2018-09-17-basic-parcats-counts.html new file mode 100644 index 00000000000..6e6c9cfca3b --- /dev/null +++ b/content/plotly_js/statistical/parcats/2018-09-17-basic-parcats-counts.html @@ -0,0 +1,28 @@ +--- +name: Basic Parallel Categories Diagram with Counts +arrangement: horizontal +language: plotly_js +suite: parcats +order: 2 +sitemap: false +markdown_content: | + If the frequency of occurrence for each combination of attributes is known in advance, this can be specified using + the `counts` property +--- +var trace1 = { + type: 'parcats', + dimensions: [ + {label: 'Hair', + values: ['Black', 'Brown', 'Brown', 'Brown', 'Red']}, + {label: 'Eye', + values: ['Brown', 'Brown', 'Brown', 'Blue', 'Blue']}, + {label: 'Sex', + values: ['Female', 'Male', 'Female', 'Male', 'Male']}], + counts: [6, 10, 40, 23, 7] +}; + +var data = [ trace1 ]; + +var layout = {width: 600}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/statistical/parcats/2018-09-17-basic-parcats.html b/content/plotly_js/statistical/parcats/2018-09-17-basic-parcats.html new file mode 100644 index 00000000000..a3b73df997b --- /dev/null +++ b/content/plotly_js/statistical/parcats/2018-09-17-basic-parcats.html @@ -0,0 +1,44 @@ +--- +name: Basic Parallel Categories Diagram +arrangement: horizontal +language: plotly_js +suite: parcats +order: 1 +sitemap: false +markdown_content: | + The parallel categories diagram is a visualization of multi-dimensional categorical data sets. Each variable in + the data set is represented by a column of rectangles, where each rectangle corresponds to a discrete value + taken on by that variable. The relative heights of the rectangles reflect the relative frequency of occurrence of + the corresponding value. + + Combinations of category rectangles across dimensions are connected by ribbons, where the height of the ribbon + corresponds to the relative frequency of occurrence of the combination of categories in the data set. + + In this example, we visualize the hair color, eye color, and sex of a sample of 8 people. Hovering over a + category rectangle displays a tooltip with the number of people with that single trait. Hovering over a ribbon + in the diagram displays a tooltip with the number of people with a particular combination of the three + traits connected by the ribbon. + + The dimension labels can be dragged horizontally to reorder the dimensions and the category rectangles can be + dragged vertically to reorder the categories within a dimension. +--- +var trace1 = { + type: 'parcats', + dimensions: [ + {label: 'Hair', + values: ['Black', 'Black', 'Black', 'Brown', + 'Brown', 'Brown', 'Red', 'Brown']}, + {label: 'Eye', + values: ['Brown', 'Brown', 'Brown', 'Brown', + 'Brown', 'Blue', 'Blue', 'Blue']}, + {label: 'Sex', + values: ['Female', 'Female', 'Female', 'Male', + 'Female', 'Male', 'Male', 'Male']}] +}; + +var data = [ trace1 ]; + +var layout = {width: 600}; + +Plotly.newPlot('myDiv', data, layout); + diff --git a/content/plotly_js/statistical/parcats/2018-09-17-brushing-parcats.html b/content/plotly_js/statistical/parcats/2018-09-17-brushing-parcats.html new file mode 100644 index 00000000000..307c71271bc --- /dev/null +++ b/content/plotly_js/statistical/parcats/2018-09-17-brushing-parcats.html @@ -0,0 +1,100 @@ +--- +name: Parallel Categories Linked Brushing +arrangement: horizontal +language: plotly_js +suite: parcats +order: 4 +sitemap: false +markdown_content: | + This example demonstrates how the `plotly_selected` and `plotly_click` events can be used to implement linked + brushing between 3 categorical dimensions displayed with a `parcats` trace and 2 continuous dimensions displayed + with a `scatter` trace. + + This example also sets the `line.shape` property to `hspline` to cause the ribbons to curve between categories. +--- +var gd = document.getElementById("myDiv"); +var categoricalDimensionLabels = [ + 'body-style', + 'drive-wheels', + 'fuel-type' +]; + +d3.csv( + 'https://raw.githubusercontent.com/plotly/datasets/master/imports-85.csv', + function(carsData) { + // Preprocess Data + var mpg = carsData.map(function(row) { return row['highway-mpg'] }); + var horsepower = carsData.map(function(row) { return row['horsepower'] }); + + var categoricalDimensions = categoricalDimensionLabels.map( + function(dimLabel) { + // Extract column + var values = carsData.map(function(row) { + return row[dimLabel] + }); + + return { + values: values, + label: dimLabel + }; + }); + + // Colors + var color = new Int8Array(carsData.length); + var colorscale = [[0, 'gray'], [1, 'firebrick']]; + + // Layout + var layout = { + width: 600, + height: 800, + xaxis: {title: {text: 'Horsepower'}}, + yaxis: {domain: [0.6, 1], title: {text: 'MPG'}}, + dragmode: 'lasso', + hovermode: 'closest' + }; + + // Build Traces + var traces = [ + {type: 'scatter', + x: horsepower, + y: mpg, + marker: {color: 'gray'}, + mode: 'markers', + selected: {'marker': {'color': 'firebrick'}}, + unselected: {'marker': {'opacity': 0.3}} + }, + {type: 'parcats', + domain: {y: [0, 0.4]}, + dimensions:categoricalDimensions, + line: { + colorscale: colorscale, + cmin: 0, + cmax: 1, + color: color, + shape: 'hspline'}, + labelfont: {size: 14} + } + ]; + + // Make plot + Plotly.newPlot('myDiv', traces, layout); + + // Update color on selection and click + var update_color = function(points_data) { + var new_color = new Int8Array(carsData.length); + var selection = [] + for(var i = 0; i < points_data.points.length; i++) { + new_color[points_data.points[i].pointNumber] = 1; + selection.push(points_data.points[i].pointNumber); + } + + // Update selected points in scatter plot + Plotly.restyle('myDiv', {'selectedpoints': [selection]}, 0) + + // Update color of selected paths in parallel categories diagram + Plotly.restyle('myDiv', {'line.color': [new_color]}, 1) + }; + + gd.on('plotly_selected', update_color); + gd.on('plotly_click', update_color); + }); diff --git a/content/plotly_js/statistical/parcats/2018-09-17-multi-brushing-parcats.html b/content/plotly_js/statistical/parcats/2018-09-17-multi-brushing-parcats.html new file mode 100644 index 00000000000..33dd8e58450 --- /dev/null +++ b/content/plotly_js/statistical/parcats/2018-09-17-multi-brushing-parcats.html @@ -0,0 +1,109 @@ +--- +name: Parallel Categories with Multi-Color Linked Brushing +plot_url: https://codepen.io/plotly/embed/EOjmrW/?height=801&theme-id=15263&default-tab=result +arrangement: horizontal +language: plotly_js +suite: parcats +order: 5 +sitemap: false +markdown_content: | + This example extends the previous example to support brushing with multiple colors. The radio buttons above may + be used to select the active color, and this color will be applied when points are selected in the `scatter` + trace and when categories or ribbons are clicked in the `parcats` trace. +--- +var gd = document.getElementById('myDiv'); +var categoricalDimensionLabels = [ + 'body-style', + 'drive-wheels', + 'fuel-type' +]; + +d3.csv( + 'https://raw.githubusercontent.com/plotly/datasets/master/imports-85.csv', + function(carsData) { + // Preprocess Data + var mpg = carsData.map(function(row) { return row['highway-mpg'] }); + var horsepower = carsData.map(function(row) { return row['horsepower'] }); + + var categoricalDimensions = categoricalDimensionLabels.map( + function(dimLabel) { + // Extract column + var values = carsData.map(function(row) { + return row[dimLabel] + }); + + return { + values: values, + label: dimLabel + }; + } + ); + + // Colors + var color = new Int8Array(carsData.length); + var colorscale = [[0, 'gray'], [0.33, 'gray'], + [0.33, 'firebrick'], [0.66, 'firebrick'], + [0.66, 'blue'], [1.0, 'blue']]; + + // Layout + var layout = { + width: 600, + height: 800, + xaxis: {title: {text: 'Horsepower'}}, + yaxis: {domain: [0.6, 1], title: {text: 'MPG'}}, + dragmode: 'lasso', + hovermode: 'closest' + }; + + // Build Traces + var traces = [ + {type: 'scatter', + x: horsepower, + y: mpg, + marker: {color: color, + colorscale: colorscale, + cmin: -0.5, + cmax: 2.5, + showscale: true, + colorbar: {tickvals: [0, 1, 2], + ticktext: ['None', 'Red', 'Blue']}}, + mode: 'markers', + }, + {type: 'parcats', + domain: {y: [0, 0.4]}, + dimensions:categoricalDimensions, + line: { + colorscale: colorscale, + cmin: -0.5, + cmax: 2.5, + color: color, + shape: 'hspline'}, + labelfont: {size: 14} + } + ]; + + // Make plot + Plotly.newPlot('myDiv', traces, layout); + + // Update color on selection and click + var update_color = function(points_data) { + var new_color = color; + var color_value = document.querySelector('input[name="rate"]:checked').value; + console.log(color_value); + var selection = [] + for(var i = 0; i < points_data.points.length; i++) { + new_color[points_data.points[i].pointNumber] = color_value; + selection.push(points_data.points[i].pointNumber); + } + + // Update selected points in scatter plot + Plotly.restyle'myDiv', {'marker.color': [new_color]}, 0) + + // Update color of selected paths in parallel categories diagram + Plotly.restyle'myDiv', + {'line.color': [new_color]}, 1) + }; + + gd.on('plotly_selected', update_color); + gd.on('plotly_click', update_color); + }); diff --git a/content/plotly_js/statistical/parcats/2018-09-17-parcats_plotly_js_index.html b/content/plotly_js/statistical/parcats/2018-09-17-parcats_plotly_js_index.html new file mode 100644 index 00000000000..31b4e6dff89 --- /dev/null +++ b/content/plotly_js/statistical/parcats/2018-09-17-parcats_plotly_js_index.html @@ -0,0 +1,13 @@ +--- +description: How to make parallel categories diagrams in JavaScript +display_as: statistical +language: plotly_js +layout: base +name: Parallel Categories Diagram +order: 9 +permalink: javascript/parallel-categories-diagram/ +thumbnail: thumbnail/parcats.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","parcats" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/parcats/2018-09-17-titanic-parcats.html b/content/plotly_js/statistical/parcats/2018-09-17-titanic-parcats.html new file mode 100644 index 00000000000..6c36ff11e99 --- /dev/null +++ b/content/plotly_js/statistical/parcats/2018-09-17-titanic-parcats.html @@ -0,0 +1,65 @@ +--- +name: Mutli-Color Parallel Categories Diagram +arrangement: horizontal +language: plotly_js +suite: parcats +order: 3 +sitemap: false +markdown_content: | + The color of the ribbons can be specified with the `line.color` property. Similar to other trace types, this + property may be set to an array of numbers, which are then mapped to colors according to the the colorscale + specified in the `line.colorscale` property. + + Here is an example of visualizing the survival rate of passengers in the titanic dataset, where the ribbons are + colored based on survival outcome. + + By setting the `hoveron` property to `'color'` and the `hoverinfo` property to `'count+probability'` the tooltips + now display count and probability information for each color (outcome) per category. + + By setting the `arrangement` property to `'freeform'` it is now possible to drag categories horizontally to + reorder dimensions as well as vertically to reorder categories within the dimension. +--- +var gd = document.getElementById('myDiv'); + +d3.csv( + "https://raw.githubusercontent.com/plotly/datasets/master/titanic.csv", + function(titanicData) { + var classDim = { + values: titanicData.map(function(row) {return row['Pclass']}), + categoryorder: 'category ascending', + label: "Class" + }; + + var genderDim = { + values: titanicData.map(function(row) {return row['Sex']}), + label: "Gender" + }; + + var survivalDim = { + values: titanicData.map(function(row) {return row['Survived']}), + label: "Outcome", + categoryarray: [0, 1], + ticktext: ['perished', 'survived'], + }; + + var color = survivalDim.values; + var colorscale = [[0, 'lightsteelblue'], [1, 'mediumseagreen']]; + + // Build Traces + var traces = [ + {type: 'parcats', + dimensions: [classDim, genderDim, survivalDim], + line: {color: color, + colorscale: colorscale}, + hoveron: 'color', + hoverinfo: 'count+probability', + labelfont: {size: 14}, + arrangement: 'freeform' + } + ]; + + var layout = {width: 600}; + + // Make plot + Plotly.newPlot('myDiv', traces, layout); + }); diff --git a/content/plotly_js/statistical/splom/2018-05-23-diabetes.html b/content/plotly_js/statistical/splom/2018-05-23-diabetes.html new file mode 100644 index 00000000000..6d7011df9f3 --- /dev/null +++ b/content/plotly_js/statistical/splom/2018-05-23-diabetes.html @@ -0,0 +1,97 @@ +--- +name: Splom of Diabetes Dataset +language: plotly_js +suite: splom +order: 2 +sitemap: false +arrangement: horizontal +markdown_content: | + Diabetes dataset is downloaded from [kaggle](https://www.kaggle.com/uciml/pima-indians-diabetes-database/data). It is used to predict the onset of diabetes based on 8 diagnostic measures. The diabetes file contains the diagnostic measures for 768 patients, that are labeled as non-diabetic (Outcome=0), respectively diabetic (Outcome=1). The splom associated to the 8 variables can illustrate the strength of the relationship between pairs of measures for diabetic/nondiabetic patients. +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/diabetes.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + text = [] + for (i=0; i < unpack(rows, 'Outcome').length; i++) { + if (unpack(rows, 'Outcome')[i] == "0") { + text.push("Diabetic") + } else { + text.push("Non-Diabetic") + } + } + + var pl_colorscale=[ + [0.0, '#119dff'], + [0.5, '#119dff'], + [0.5, '#ef553b'], + [1, '#ef553b'] + ] + + var axis = () => ({ + showline:false, + zeroline:false, + gridcolor:'#ffff', + ticklen:2, + tickfont:{size:10}, + title:{font:{size:12}} + }) + + var data = [{ + type: 'splom', + dimensions: [ + {label:'Pregnancies', values:unpack(rows, 'Pregnancies')}, + {label:'Glucose', values:unpack(rows, 'Glucose')}, + {label:'BloodPressure', values:unpack(rows, 'BloodPressure')}, + {label:'SkinThickness', values:unpack(rows, 'SkinThickness')}, + {label:'Insulin', values:unpack(rows, 'Insulin')}, + {label:'BMI', values:unpack(rows, 'BMI')}, + {label:'DiabPedigreeFun', values:unpack(rows, 'DiabetesPedigreeFunction')}, + {label:'Age', values:unpack(rows, 'Age')} + ], + text:text, + marker: { + color: unpack(rows, 'Outcome'), + colorscale:pl_colorscale, + size: 5, + line: { + color: 'white', + width: 0.5 + } + } + }] + + var layout = { + title: { + text: "Scatterplot Matrix (SPLOM) for Diabetes Dataset
Data source: [1]" + }, + height: 1000, + width: 1000, + autosize: false, + hovermode:'closest', + dragmode:'select', + plot_bgcolor:'rgba(240,240,240, 0.95)', + xaxis:axis(), + yaxis:axis(), + xaxis2:axis(), + xaxis3:axis(), + xaxis4:axis(), + xaxis5:axis(), + xaxis6:axis(), + xaxis7:axis(), + xaxis8:axis(), + yaxis2:axis(), + yaxis3:axis(), + yaxis4:axis(), + yaxis5:axis(), + yaxis6:axis(), + yaxis7:axis(), + yaxis8:axis() + } + + Plotly.react('myDiv', data, layout); + +}); diff --git a/content/plotly_js/statistical/splom/2018-05-23-iris.html b/content/plotly_js/statistical/splom/2018-05-23-iris.html new file mode 100644 index 00000000000..e59f476cd3e --- /dev/null +++ b/content/plotly_js/statistical/splom/2018-05-23-iris.html @@ -0,0 +1,87 @@ +--- +name: Splom of Iris Dataset +language: plotly_js +suite: splom +order: 1 +sitemap: false +arrangement: horizontal +markdown_content: | + The Iris dataset contains four data variables, sepal length, sepal width, petal length petal width, for 150 iris flowers. The flowers are labeled as Iris-setosa, Iris-versicolor, Iris-virginica. +--- + +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/iris-data.csv', function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key.replace('.',' ')]; }); + } + + colors = [] + for (i=0; i < unpack(rows, 'class').length; i++) { + if (unpack(rows, 'class')[i] == "Iris-setosa") { + colors.push(0) + } else if (unpack(rows, 'class')[i] == "Iris-versicolor") { + colors.push(0.5) + } else if (unpack(rows, 'class')[i] == "Iris-virginica") { + colors.push(1) + } + } + + var pl_colorscale=[ + [0.0, '#19d3f3'], + [0.333, '#19d3f3'], + [0.333, '#e763fa'], + [0.666, '#e763fa'], + [0.666, '#636efa'], + [1, '#636efa'] + ] + + var axis = () => ({ + showline:false, + zeroline:false, + gridcolor:'#ffff', + ticklen:4 + }) + + var data = [{ + type: 'splom', + dimensions: [ + {label:'sepal length', values:unpack(rows,'sepal length')}, + {label:'sepal width', values:unpack(rows,'sepal width')}, + {label:'petal length', values:unpack(rows,'petal length')}, + {label:'petal width', values:unpack(rows,'petal width')} + ], + text: unpack(rows, 'class'), + marker: { + color: colors, + colorscale:pl_colorscale, + size: 7, + line: { + color: 'white', + width: 0.5 + } + } + }] + + var layout = { + title: { + text: 'Iris Data set' + }, + height: 800, + width: 800, + autosize: false, + hovermode:'closest', + dragmode:'select', + plot_bgcolor:'rgba(240,240,240, 0.95)', + xaxis:axis(), + yaxis:axis(), + xaxis2:axis(), + xaxis3:axis(), + xaxis4:axis(), + yaxis2:axis(), + yaxis3:axis(), + yaxis4:axis() + } + + Plotly.react('myDiv', data, layout) + +}); diff --git a/content/plotly_js/statistical/splom/2018-05-24-splom-plotlyjs-index.html b/content/plotly_js/statistical/splom/2018-05-24-splom-plotlyjs-index.html new file mode 100644 index 00000000000..76166e8c98e --- /dev/null +++ b/content/plotly_js/statistical/splom/2018-05-24-splom-plotlyjs-index.html @@ -0,0 +1,13 @@ +--- +description: How to make D3.js-based splom in Plotly.js. +display_as: statistical +language: plotly_js +layout: base +name: Splom +order: 10 +permalink: javascript/splom/ +thumbnail: thumbnail/splom_image.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","splom" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/statistical/violin/2018-01-16-advanced-violin.html b/content/plotly_js/statistical/violin/2018-01-16-advanced-violin.html new file mode 100644 index 00000000000..d2b0937d426 --- /dev/null +++ b/content/plotly_js/statistical/violin/2018-01-16-advanced-violin.html @@ -0,0 +1,581 @@ +--- +name: Advanced Violin Plot +language: plotly_js +suite: violin +order: 6 +sitemap: false +arrangement: horizontal +width: 700 +--- + +var trace1 = { + text: "sample length: 32", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "F", + scalegroup: "F", + points: "all", + pointpos: 1, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#bebada" + }, + symbol: "line-ns" + }, + showlegend: false, + side: "positive", + type: "violin", + name: "F", + span: [ + 0 + ], + line: { + color: "#bebada" + }, + y0: "Thursday", + x: [ + 10.07, + 34.83, + 10.65, + 12.43, + 24.08, + 13.42, + 12.48, + 29.8, + 14.52, + 11.38, + 20.27, + 11.17, + 12.26, + 18.26, + 8.51, + 10.33, + 14.15, + 13.16, + 17.47, + 27.05, + 16.43, + 8.35, + 18.64, + 11.87, + 19.81, + 43.11, + 13.0, + 12.74, + 13.0, + 16.4, + 16.47, + 18.78 + ], + orientation: "h" + } + + +var trace2 = { + text: "sample length: 30", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "M", + scalegroup: "M", + points: "all", + pointpos: -0.6, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#8dd3c7" + }, + symbol: "line-ns" + }, + showlegend: false, + side: "negative", + type: "violin", + name: "M", + span: [ + 0 + ], + line: { + color: "#8dd3c7" + }, + y0: "Thursday", + x: [ + 27.2, + 22.76, + 17.29, + 19.44, + 16.66, + 32.68, + 15.98, + 13.03, + 18.28, + 24.71, + 21.16, + 11.69, + 14.26, + 15.95, + 8.52, + 22.82, + 19.08, + 16.0, + 34.3, + 41.19, + 9.78, + 7.51, + 28.44, + 15.48, + 16.58, + 7.56, + 10.34, + 13.51, + 18.71, + 20.53 + ], + orientation: "h" + } + +var trace3 = { + text: "sample length: 9", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "F", + scalegroup: "F", + points: "all", + pointpos: 0.4, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#bebada" + }, + symbol: "line-ns" + }, + showlegend: false, + side: "positive", + type: "violin", + name: "F", + span: [ + 0 + ], + line: { + color: "#bebada" + }, + y0: "Friday", + x: [ + 5.75, + 16.32, + 22.75, + 11.35, + 15.38, + 13.42, + 15.98, + 16.27, + 10.09 + ], + orientation: "h" + } + + +var trace4= { + text: "sample length: 10", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "M", + scalegroup: "M", + points: "all", + pointpos: -0.3, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#8dd3c7" + }, + symbol: "line-ns" + }, + showlegend: false, + side: "negative", + type: "violin", + name: "M", + span: [ + 0 + ], + line: { + color: "#8dd3c7" + }, + y0: "Friday", + x: [ + 28.97, + 22.49, + 40.17, + 27.28, + 12.03, + 21.01, + 12.46, + 12.16, + 8.58, + 13.42 + ], + orientation: "h" + } + +var trace5 = { + text: "sample length: 28", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "F", + scalegroup: "F", + points: "all", + pointpos: 0.55, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#bebada" + }, + symbol: "line-ns" + }, + showlegend: true, + side: "positive", + type: "violin", + name: "F", + span: [ + 0 + ], + line: { + color: "#bebada" + }, + y0: "Saturday", + x: [ + 20.29, + 15.77, + 19.65, + 15.06, + 20.69, + 16.93, + 26.41, + 16.45, + 3.07, + 17.07, + 26.86, + 25.28, + 14.73, + 44.3, + 22.42, + 20.92, + 14.31, + 7.25, + 10.59, + 10.63, + 12.76, + 13.27, + 28.17, + 12.9, + 30.14, + 22.12, + 35.83, + 27.18 + ], + orientation: "h" + } + +var trace4 = { + text: "sample length: 59", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "M", + scalegroup: "M", + points: "all", + pointpos: -1.1, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#8dd3c7" + }, + symbol: "line-ns" + }, + showlegend: true, + side: "negative", + type: "violin", + name: "M", + span: [ + 0 + ], + line: { + color: "#8dd3c7" + }, + y0: "Saturday", + x: [ + 20.65, + 17.92, + 39.42, + 19.82, + 17.81, + 13.37, + 12.69, + 21.7, + 9.55, + 18.35, + 17.78, + 24.06, + 16.31, + 18.69, + 31.27, + 16.04, + 38.01, + 11.24, + 48.27, + 20.29, + 13.81, + 11.02, + 18.29, + 17.59, + 20.08, + 20.23, + 15.01, + 12.02, + 10.51, + 17.92, + 15.36, + 20.49, + 25.21, + 18.24, + 14.0, + 50.81, + 15.81, + 26.59, + 38.73, + 24.27, + 30.06, + 25.89, + 48.33, + 28.15, + 11.59, + 7.74, + 20.45, + 13.28, + 24.01, + 15.69, + 11.61, + 10.77, + 15.53, + 10.07, + 12.6, + 32.83, + 29.03, + 22.67, + 17.82 + ], + orientation: "h" + } + +var trace6 = { + text: "sample length: 18", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "F", + scalegroup: "F", + points: "all", + pointpos: 0.45, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#bebada" + }, + symbol: "line-ns" + }, + showlegend: false, + side: "positive", + type: "violin", + name: "F", + span: [ + 0 + ], + line: { + color: "#bebada" + }, + y0: "Sunday", + x: [ + 16.99, + 24.59, + 35.26, + 14.83, + 10.33, + 16.97, + 10.29, + 34.81, + 25.71, + 17.31, + 29.85, + 25.0, + 13.39, + 16.21, + 17.51, + 9.6, + 20.9, + 18.15 + ], + orientation: "h" + } + +var trace7 = { + text: "sample length: 58", + hoveron: "points+kde", + meanline: { + visible: true + }, + legendgroup: "M", + scalegroup: "M", + points: "all", + pointpos: -0.9, + box: { + visible: true + }, + jitter: 0, + scalemode: "count", + marker: { + line: { + width: 2, + color: "#8dd3c7" + }, + symbol: "line-ns" + }, + showlegend: false, + side: "negative", + type: "violin", + name: "M", + span: [ + 0 + ], + line: { + color: "#8dd3c7" + }, + y0: "Sunday", + x: [ + 10.34, + 21.01, + 23.68, + 25.29, + 8.77, + 26.88, + 15.04, + 14.78, + 10.27, + 15.42, + 18.43, + 21.58, + 16.29, + 17.46, + 13.94, + 9.68, + 30.4, + 18.29, + 22.23, + 32.4, + 28.55, + 18.04, + 12.54, + 9.94, + 25.56, + 19.49, + 38.07, + 23.95, + 29.93, + 14.07, + 13.13, + 17.26, + 24.55, + 19.77, + 48.17, + 16.49, + 21.5, + 12.66, + 13.81, + 24.52, + 20.76, + 31.71, + 7.25, + 31.85, + 16.82, + 32.9, + 17.89, + 14.48, + 34.63, + 34.65, + 23.33, + 45.35, + 23.17, + 40.55, + 20.69, + 30.46, + 23.1, + 15.69 + ], + orientation: "h" + } + +var data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7] + +var layout = { + hovermode: "closest", + width: 400, + yaxis: { + showgrid: true + }, + title: { + text: "Total bill distribution
scaled by number of bills per gender" + }, + legend: { + tracegroupgap: 0 + }, + violingap: 0, + violingroupgap: 0, + violinmode: "overlay", + height: 700 + } + +Plotly.newPlot("myDiv", data, layout) diff --git a/content/plotly_js/statistical/violin/2018-01-16-basic-violin.html b/content/plotly_js/statistical/violin/2018-01-16-basic-violin.html new file mode 100644 index 00000000000..98d4efb0985 --- /dev/null +++ b/content/plotly_js/statistical/violin/2018-01-16-basic-violin.html @@ -0,0 +1,45 @@ +--- +name: Basic Violin Plot +language: plotly_js +suite: violin +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var data = [{ + type: 'violin', + y: unpack(rows, 'total_bill'), + points: 'none', + box: { + visible: true + }, + boxpoints: false, + line: { + color: 'black' + }, + fillcolor: '#8dd3c7', + opacity: 0.6, + meanline: { + visible: true + }, + x0: "Total Bill" +}] + +var layout = { + title: { + text: "" + }, + yaxis: { + zeroline: false + } +} + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/statistical/violin/2018-01-16-grouped-violin.html b/content/plotly_js/statistical/violin/2018-01-16-grouped-violin.html new file mode 100644 index 00000000000..8d3e1ddaf6d --- /dev/null +++ b/content/plotly_js/statistical/violin/2018-01-16-grouped-violin.html @@ -0,0 +1,63 @@ +--- +name: Grouped Violin Plot +language: plotly_js +suite: violin +order: 3 +sitemap: false +arrangement: horizontal +--- + +// need to fix data + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var data = [{ + type: 'violin', + x: unpack(rows, 'day'), + y: unpack(rows, 'total_bill'), + legendgroup: 'M', + scalegroup: 'M', + name: 'M', + box: { + visible: true + }, + line: { + color: 'blue', + }, + meanline: { + visible: true + } +}, { + type: 'violin', + x: unpack(rows, 'day'), + y: unpack(rows, 'total_bill'), + legendgroup: 'F', + scalegroup: 'F', + name: 'F', + box: { + visible: true + }, + line: { + color: 'pink', + }, + meanline: { + visible: true + } +}] + +var layout = { + title: { + text: "Grouped Violin Plot" + }, + yaxis: { + zeroline: false + }, + violinmode: 'group' +} + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/statistical/violin/2018-01-16-horizontal-violin.html b/content/plotly_js/statistical/violin/2018-01-16-horizontal-violin.html new file mode 100644 index 00000000000..7c3e773cb4c --- /dev/null +++ b/content/plotly_js/statistical/violin/2018-01-16-horizontal-violin.html @@ -0,0 +1,45 @@ +--- +name: Horizontal Violin Plot +language: plotly_js +suite: violin +order: 4 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var data = [{ + type: 'violin', + x: unpack(rows, 'total_bill'), + points: 'none', + box: { + visible: true + }, + boxpoints: false, + line: { + color: 'black' + }, + fillcolor: '#8dd3c7', + opacity: 0.6, + meanline: { + visible: true + }, + y0: "Total Bill" +}] + +var layout = { + title: { + text: "Basic Horizontal Violin Plot" + }, + xaxis: { + zeroline: false + } +} + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/statistical/violin/2018-01-16-split-violin.html b/content/plotly_js/statistical/violin/2018-01-16-split-violin.html new file mode 100644 index 00000000000..4867b711320 --- /dev/null +++ b/content/plotly_js/statistical/violin/2018-01-16-split-violin.html @@ -0,0 +1,67 @@ +--- +name: Split Violin Plot +language: plotly_js +suite: violin +order: 5 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var data = [{ + type: 'violin', + x: unpack(rows, 'day'), + y: unpack(rows, 'total_bill'), + legendgroup: 'Yes', + scalegroup: 'Yes', + name: 'Yes', + side: 'negative', + box: { + visible: true + }, + line: { + color: 'blue', + width: 2 + }, + meanline: { + visible: true + } +}, { + type: 'violin', + x: unpack(rows, 'day'), + y: unpack(rows, 'total_bill'), + legendgroup: 'No', + scalegroup: 'No', + name: 'No', + side: 'positive', + box: { + visible: true + }, + line: { + color: 'green', + width: 2 + }, + meanline: { + visible: true + } +}] + +var layout = { + title: { + text: "Split Violin Plot" + }, + yaxis: { + zeroline: false + }, + violingap: 0, + violingroupgap: 0, + violinmode: "overlay", +} + +Plotly.newPlot('myDiv', data, layout); +}); diff --git a/content/plotly_js/statistical/violin/2018-01-16-violin-plotlyjs-index.html b/content/plotly_js/statistical/violin/2018-01-16-violin-plotlyjs-index.html new file mode 100644 index 00000000000..727b49f0490 --- /dev/null +++ b/content/plotly_js/statistical/violin/2018-01-16-violin-plotlyjs-index.html @@ -0,0 +1,13 @@ +--- +description: How to make D3.js-based violin plots in Plotly.js. +display_as: statistical +language: plotly_js +layout: base +name: Violin Plot +order: 8 +permalink: javascript/violin/ +thumbnail: thumbnail/violin.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","violin" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/streaming/2017-07-13-basic-example.html b/content/plotly_js/streaming/2017-07-13-basic-example.html new file mode 100644 index 00000000000..11e0407a40a --- /dev/null +++ b/content/plotly_js/streaming/2017-07-13-basic-example.html @@ -0,0 +1,30 @@ +--- +name: Basic Streaming +plot_url: https://codepen.io/plotly/embed/dRaawR/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: streaming +order: 1 +sitemap: false +arrangement: horizontal +--- + +function rand() { + return Math.random(); +} + +Plotly.newPlot('myDiv', [{ + y: [1,2,3].map(rand), + mode: 'lines', + line: {color: '#80CAF6'} +}]); + +var cnt = 0; + +var interval = setInterval(function() { + + Plotly.extendTraces('myDiv', { + y: [[rand()]] + }, [0]) + + if(++cnt === 100) clearInterval(interval); +}, 300); diff --git a/content/plotly_js/streaming/2017-07-13-mulitple-trace.html b/content/plotly_js/streaming/2017-07-13-mulitple-trace.html new file mode 100644 index 00000000000..57f193f9046 --- /dev/null +++ b/content/plotly_js/streaming/2017-07-13-mulitple-trace.html @@ -0,0 +1,34 @@ +--- +name: Multiple Traces +plot_url: https://codepen.io/plotly/embed/jwoEYr/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: streaming +order: 2 +sitemap: false +arrangement: horizontal +--- + +function rand() { + return Math.random(); +} + +Plotly.newPlot('myDiv', [{ + y: [1,2,3].map(rand), + mode: 'lines', + line: {color: '#80CAF6'} +}, { + y: [1,2,3].map(rand), + mode: 'lines', + line: {color: '#DF56F1'} +}]); + +var cnt = 0; + +var interval = setInterval(function() { + + Plotly.extendTraces('myDiv', { + y: [[rand()], [rand()]] + }, [0, 1]) + + if(++cnt === 100) clearInterval(interval); +}, 300); diff --git a/content/plotly_js/streaming/2017-07-13-streaming-30-points.html b/content/plotly_js/streaming/2017-07-13-streaming-30-points.html new file mode 100644 index 00000000000..a5a0b4fdfe0 --- /dev/null +++ b/content/plotly_js/streaming/2017-07-13-streaming-30-points.html @@ -0,0 +1,40 @@ +--- +name: 30 Points Using Update +plot_url: https://codepen.io/plotly/embed/xLwQPr/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: streaming +order: 5 +sitemap: false +arrangement: horizontal +--- + +var arrayLength = 30 +var newArray = [] + +for(var i = 0; i < arrayLength; i++) { + var y = Math.round(Math.random()*10) + 1 + newArray[i] = y +} + +Plotly.newPlot('myDiv', [{ + y: newArray, + mode: 'lines', + line: {color: '#80CAF6'} +}]); + +var cnt = 0; + +var interval = setInterval(function() { + + var y = Math.round(Math.random()*10) + 1 + newArray = newArray.concat(y) + newArray.splice(0, 1) + + var data_update = { + y: [newArray] + }; + + Plotly.update('myDiv', data_update) + + if(++cnt === 100) clearInterval(interval); +}, 1000); diff --git a/content/plotly_js/streaming/2017-07-13-streaming-subplots.html b/content/plotly_js/streaming/2017-07-13-streaming-subplots.html new file mode 100644 index 00000000000..6e36427f82b --- /dev/null +++ b/content/plotly_js/streaming/2017-07-13-streaming-subplots.html @@ -0,0 +1,71 @@ +--- +name: Streaming Subplots +plot_url: https://codepen.io/plotly/embed/rwPRVe/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: streaming +order: 6 +sitemap: false +arrangement: horizontal +--- + +function rand() { + return Math.random(); +} + +var time = new Date(); + +var trace1 = { + x: [], + y: [], + mode: 'lines', + line: { + color: '#80CAF6', + shape: 'spline' + } +} + +var trace2 = { + x: [], + y: [], + xaxis: 'x2', + yaxis: 'y2', + mode: 'lines', + line: {color: '#DF56F1'} +}; + +var layout = { + xaxis: { + type: 'date', + domain: [0, 1], + showticklabels: false + }, + yaxis: {domain: [0.6,1]}, + xaxis2: { + type: 'date', + anchor: 'y2', + domain: [0, 1] + }, + yaxis2: { + anchor: 'x2', + domain: [0, 0.4]}, +} + +var data = [trace1,trace2]; + +Plotly.newPlot('myDiv', data, layout); + +var cnt = 0; + +var interval = setInterval(function() { + + var time = new Date(); + + var update = { + x: [[time], [time]], + y: [[rand()], [rand()]] + } + + Plotly.extendTraces('myDiv', update, [0,1]) + + if(++cnt === 100) clearInterval(interval); +}, 1000); diff --git a/content/plotly_js/streaming/2017-07-13-streaming-timestamp.html b/content/plotly_js/streaming/2017-07-13-streaming-timestamp.html new file mode 100644 index 00000000000..96bd88205c7 --- /dev/null +++ b/content/plotly_js/streaming/2017-07-13-streaming-timestamp.html @@ -0,0 +1,41 @@ +--- +name: Streaming with Timestamp +plot_url: https://codepen.io/plotly/embed/YQBBbE/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: streaming +order: 3 +sitemap: false +arrangement: horizontal +--- + +function rand() { + return Math.random(); +} + +var time = new Date(); + +var data = [{ + x: [time], + y: [rand()], + mode: 'lines', + line: {color: '#80CAF6'} +}] + + +Plotly.newPlot('myDiv', data); + +var cnt = 0; + +var interval = setInterval(function() { + + var time = new Date(); + + var update = { + x: [[time]], + y: [[rand()]] + } + + Plotly.extendTraces('myDiv', update, [0]) + + if(++cnt === 100) clearInterval(interval); +}, 1000); diff --git a/content/plotly_js/streaming/2017-07-13-streaming-timestamp_range.html b/content/plotly_js/streaming/2017-07-13-streaming-timestamp_range.html new file mode 100644 index 00000000000..e5332dcc462 --- /dev/null +++ b/content/plotly_js/streaming/2017-07-13-streaming-timestamp_range.html @@ -0,0 +1,51 @@ +--- +name: Extend Traces & Relayout +plot_url: https://codepen.io/plotly/embed/yXZwBL/?height=500&theme-id=15263&default-tab=result +language: plotly_js +suite: streaming +order: 4 +sitemap: false +arrangement: horizontal +--- + +function rand() { + return Math.random(); +} + +var time = new Date(); + +var data = [{ + x: [time], + y: [rand], + mode: 'lines', + line: {color: '#80CAF6'} +}] + +Plotly.newPlot('myDiv', data); + +var cnt = 0; + +var interval = setInterval(function() { + + var time = new Date(); + + var update = { + x: [[time]], + y: [[rand()]] + } + + var olderTime = time.setMinutes(time.getMinutes() - 1); + var futureTime = time.setMinutes(time.getMinutes() + 1); + + var minuteView = { + xaxis: { + type: 'date', + range: [olderTime,futureTime] + } + }; + + Plotly.relayout('myDiv', minuteView); + Plotly.extendTraces('myDiv', update, [0]) + + if(++cnt === 100) clearInterval(interval); +}, 1000); diff --git a/content/plotly_js/streaming/2017-07-13-streaming_index.html b/content/plotly_js/streaming/2017-07-13-streaming_index.html new file mode 100644 index 00000000000..3b340d8d4a4 --- /dev/null +++ b/content/plotly_js/streaming/2017-07-13-streaming_index.html @@ -0,0 +1,14 @@ +--- +name: Streaming +permalink: javascript/streaming/ +description: How to create D3.js-based streaming plots in Plotly.js. +layout: base +thumbnail: thumbnail/streaming-thumb-square.gif +language: plotly_js +page_type: example_index +display_as: streaming +order: 1 +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","streaming" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} diff --git a/content/plotly_js/subplot/2019-09-12-plotly_js-subplots-index.html b/content/plotly_js/subplot/2019-09-12-plotly_js-subplots-index.html new file mode 100644 index 00000000000..d56cbde1633 --- /dev/null +++ b/content/plotly_js/subplot/2019-09-12-plotly_js-subplots-index.html @@ -0,0 +1,27 @@ +--- +permalink: javascript/subplot-charts/ +description: Plotly.js makes interactive, publication-quality graphs online. Examples of how to make subplots, insets, and multiple axes charts. +name: Subplots +layout: langindex +language: plotly_js +display_as: multiple_axes +thumbnail: thumbnail/mixed.jpg +--- + + +
+
+ +
+ +
+

Plotly.js Subplots

+

{{page.description}}

+ {% include layouts/dashplug.html %} +
+
+
+
+ + {% assign languagelist = site.posts | where:"language","plotly_js" | where:"display_as","multiple_axes" | where: "layout","base" | sort: "order" %} + {% include posts/documentation_eg.html %} diff --git a/content/plotly_js/subplot/3d-subplots/2015-08-12-subplots.html b/content/plotly_js/subplot/3d-subplots/2015-08-12-subplots.html new file mode 100644 index 00000000000..048e1ebc464 --- /dev/null +++ b/content/plotly_js/subplot/3d-subplots/2015-08-12-subplots.html @@ -0,0 +1,105 @@ +--- +name: Multiple 3D Subplots +language: plotly_js +suite: 3d-subplots +order: 0 +sitemap: false +arrangement: horizontal +--- + +function getrandom(num , mul) { + var value = [ ]; + for ( i=0; i <= num; i++ ) { + var rand = Math.random() * mul; + value.push(rand); + } + return value; +} + +var trace1 = { + opacity: 0.5, + color: 'rgba(255,127,80,0.7)', + type: 'mesh3d', + x: getrandom(50 , -75), + y: getrandom(50 , 75), + z: getrandom(50 , 75), + scene: "scene1" + }; + +var trace2 = { + opacity: 0.5, + color: 'pink', + type: 'mesh3d', + x: getrandom(50 , -75), + y: getrandom(50 , 75), + z: getrandom(50 , 75), + scene: "scene2" + }; + +var trace3 = { + opacity:0.4, + color:'rgb(033,255,100)', + type: 'mesh3d', + x: getrandom(50 , -75), + y: getrandom(50 , -75), + z: getrandom(50 , -75), + scene: "scene3", + }; + +var trace4 = { + opacity: 0.5, + color:'rgb(200,100,200)', + type: 'mesh3d', + x: getrandom(50 , -75), + y: getrandom(50 , 75), + z: getrandom(50 , 75), + scene: "scene4" + }; + +var trace5 = { + opacity: 0.5, + color:'rgb(00,150,200)', + type: 'mesh3d', + x: getrandom(50 , 100), + y: getrandom(50 , 100), + z: getrandom(50 , 100), + scene: "scene5", + } + +var layout = { + scene1: { + domain: { + x: [0.0, 0.5], + y: [0.5, 1.0] + },}, + scene2: { + domain: { + x: [0.5, 1], + y: [0.5, 1.0] + }}, + scene3: { + domain: { + x: [0.0, 0.33], + y: [0, 0.5] + },}, + scene4: { + domain: { + x: [0.33, 0.66], + y: [0, 0.5] + }}, + scene5: { + domain: { + x: [0.66, 0.99], + y: [0, 0.5] + },}, + height: 600, + margin: { + l: 0, + r: 0, + b: 0, + t: 0, + pad: 0 + }, +} + +Plotly.newPlot('myDiv', [trace1,trace2,trace3,trace4,trace5], layout); \ No newline at end of file diff --git a/content/plotly_js/subplot/3d-subplots/2015-08-12-subplots_index.html b/content/plotly_js/subplot/3d-subplots/2015-08-12-subplots_index.html new file mode 100644 index 00000000000..c71596cf83c --- /dev/null +++ b/content/plotly_js/subplot/3d-subplots/2015-08-12-subplots_index.html @@ -0,0 +1,15 @@ +--- +description: How to make 3D Subplots in javascript. +display_as: multiple_axes +language: plotly_js +layout: base +name: 3D Subplots +order: 3 +page_type: example_index +permalink: javascript/3d-subplots/ +redirect_from: javascript-graphing-library/3d-subplots/ +thumbnail: thumbnail/3d-subplots.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","3d-subplots" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/subplot/insets/2015-04-09-insets_plotly_js_index.html b/content/plotly_js/subplot/insets/2015-04-09-insets_plotly_js_index.html new file mode 100644 index 00000000000..467f5d55c14 --- /dev/null +++ b/content/plotly_js/subplot/insets/2015-04-09-insets_plotly_js_index.html @@ -0,0 +1,15 @@ +--- +description: How to make an inset graph in D3.js-based javascript charts. +display_as: multiple_axes +language: plotly_js +layout: base +name: Inset Plots +order: 2 +page_type: example_index +permalink: javascript/insets/ +redirect_from: javascript-graphing-library/insets/ +thumbnail: thumbnail/insets.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","insets" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/subplot/insets/2015-04-09-simple-inset.html b/content/plotly_js/subplot/insets/2015-04-09-simple-inset.html new file mode 100644 index 00000000000..f82e7b786bc --- /dev/null +++ b/content/plotly_js/subplot/insets/2015-04-09-simple-inset.html @@ -0,0 +1,37 @@ +--- +name: Simple Inset Graph +language: plotly_js +suite: insets +order: 1 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3], + y: [4, 3, 2], + type: 'scatter' +}; + +var trace2 = { + x: [20, 30, 40], + y: [30, 40, 50], + xaxis: 'x2', + yaxis: 'y2', + type: 'scatter' +}; + +var data = [trace1, trace2]; + +var layout = { + yaxis2: { + domain: [0.6, 0.95], + anchor: 'x2' + }, + xaxis2: { + domain: [0.6, 0.95], + anchor: 'y2' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/mixed-subplots/2017-01-20-mixed-subplots-index.html b/content/plotly_js/subplot/mixed-subplots/2017-01-20-mixed-subplots-index.html new file mode 100644 index 00000000000..1095c2c778b --- /dev/null +++ b/content/plotly_js/subplot/mixed-subplots/2017-01-20-mixed-subplots-index.html @@ -0,0 +1,14 @@ +--- +description: How to make Mixed Subplots in javascript. +display_as: multiple_axes +language: plotly_js +layout: base +name: Mixed Subplots +order: 4 +page_type: example_index +permalink: javascript/mixed-subplots/ +thumbnail: thumbnail/mixed_subplot.JPG +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","mixed-subplots" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/subplot/mixed-subplots/2017-01-20-mixed-subplots.html b/content/plotly_js/subplot/mixed-subplots/2017-01-20-mixed-subplots.html new file mode 100644 index 00000000000..442b32f5e41 --- /dev/null +++ b/content/plotly_js/subplot/mixed-subplots/2017-01-20-mixed-subplots.html @@ -0,0 +1,145 @@ +--- +name: Mixed Subplots +language: plotly_js +suite: mixed-subplots +order: 0 +sitemap: false +arrangement: horizontal +--- +d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/volcano_db.csv', function(err, rows){ + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + +var trace1 = { + x: unpack(rows, 'Status'), + y: unpack(rows, 'Type'), + z: unpack(rows, 'Elev'), + marker: { + size: 2, + color: unpack(rows, 'Elev'), + colorscale: 'Reds', + line: {color: 'transparent'} + }, + mode: 'markers', + type: 'scatter3d', + text: unpack(rows, 'Country'), + hoverinfo: 'x+y+z+text', + showlegend: false +}; + +var x = unpack(rows, 'Elev'); + +var trace2 = { + x: unpack(rows, 'Elev'), + type: 'histogram', + hoverinfo: 'x+y', + showlegend: false, + xaxis: 'x2', + yaxis: 'y2', + marker: { + color: 'red' + }}; + +var trace3 = { + geo: 'geo3', + type:'scattergeo', + locationmode: 'world', + lon: unpack(rows, 'Longitude'), + lat: unpack(rows, 'Latitude'), + hoverinfo: 'text', + text: unpack(rows, 'Elev'), + mode: 'markers', + showlegend: false, + marker: { + size: 4, + color: unpack(rows, 'Elev'), + colorscale: 'Reds', + opacity: 0.8, + symbol: 'circle', + line: { + width: 1 + } + } +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + paper_bgcolor: 'black', + plot_bgcolor: 'black', + title: {text: 'Volcano Database: Elevation'}, + font: {color: 'white'}, + colorbar: true, + annotations: [{ + x: 0, + y: 0, + xref: 'paper', + yref: 'paper', + text: 'Source: NOAA', + showarrow: false + }], + geo3: { + domain: { + x: [0, 0.45], + y: [0.02, 0.98] + }, + scope: 'world', + projection: { + type: 'orthographic' + }, + showland: true, + showocean: true, + showlakes: true, + landcolor: 'rgb(250,250,250)', + lakecolor: 'rgb(127,205,255)', + oceancolor: 'rgb(6,66,115)', + subunitcolor: 'rgb(217,217,217)', + countrycolor: 'rgb(217,217,217)', + countrywidth: 0.5, + subunitwidth: 0.5, + bgcolor: 'black' + }, + scene: {domain: { + x: [0.55, 1], + y: [0, 0.6] + }, + xaxis: { + title: { + text: 'Status' + }, + showticklabels: false, + showgrid: true, + gridcolor: 'white' + }, + yaxis: { + title: { + text: 'Type' + }, + showticklabels: false, + showgrid: true, + gridcolor: 'white' + }, + zaxis: { + title: { + text: 'Elev' + }, + showgrid: true, + gridcolor: 'white' + } + }, + yaxis2: { + anchor: 'x2', + domain: [0.7, 1], + showgrid: false + }, + xaxis2: { + tickangle: 45, + anchor: 'y2', + ticksuffix: 'm', + domain: [0.6, 1]}, +}; + +Plotly.newPlot("myDiv", data, layout, {showLink: false}); + +}); diff --git a/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes-double.html b/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes-double.html new file mode 100644 index 00000000000..8eed0bc93db --- /dev/null +++ b/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes-double.html @@ -0,0 +1,44 @@ +--- +name: Two Y-Axes +language: plotly_js +suite: multiple-axes +order: 5 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3], + y: [40, 50, 60], + name: 'yaxis data', + type: 'scatter' +}; + +var trace2 = { + x: [2, 3, 4], + y: [4, 5, 6], + name: 'yaxis2 data', + yaxis: 'y2', + type: 'scatter' +}; + +var data = [trace1, trace2]; + +var layout = { + title: {text: 'Double Y Axis Example'}, + yaxis: { + title: { + text: 'yaxis title' + } + }, + yaxis2: { + title: { + text: 'yaxis2 title', + font: {color: 'rgb(148, 103, 189)'} + }, + tickfont: {color: 'rgb(148, 103, 189)'}, + overlaying: 'y', + side: 'right' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes-multiple.html b/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes-multiple.html new file mode 100644 index 00000000000..efa3d831854 --- /dev/null +++ b/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes-multiple.html @@ -0,0 +1,90 @@ +--- +name: Multiple Y-Axes +language: plotly_js +suite: multiple-axes +order: 6 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3], + y: [4, 5, 6], + name: 'yaxis1 data', + type: 'scatter' +}; + +var trace2 = { + x: [2, 3, 4], + y: [40, 50, 60], + name: 'yaxis2 data', + yaxis: 'y2', + type: 'scatter' +}; + +var trace3 = { + x: [4, 5, 6], + y: [40000, 50000, 60000], + name: 'yaxis3 data', + yaxis: 'y3', + type: 'scatter' +}; + +var trace4 = { + x: [5, 6, 7], + y: [400000, 500000, 600000], + name: 'yaxis4 data', + yaxis: 'y4', + type: 'scatter' +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: { + text: 'multiple y-axes example', + font: {color: '#1f77b4'} + }, + width: 800, + xaxis: {domain: [0.3, 0.7]}, + yaxis: { + title: { + text: 'yaxis title', + font: {color: '#1f77b4'} + }, + tickfont: {color: '#1f77b4'} + }, + yaxis2: { + title: { + text: 'yaxis2 title', + font: {color: '#ff7f0e'} + }, + tickfont: {color: '#ff7f0e'}, + anchor: 'free', + overlaying: 'y', + side: 'left', + position: 0.15 + }, + yaxis3: { + title: { + text: 'yaxis4 title', + font: {color: '#d62728'} + }, + tickfont: {color: '#d62728'}, + anchor: 'x', + overlaying: 'y', + side: 'right' + }, + yaxis4: { + title: { + text: 'yaxis5 title', + font: {color: '#9467bd'} + }, + tickfont: {color: '#9467bd'}, + anchor: 'free', + overlaying: 'y', + side: 'right', + position: 0.85 + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes_plotly_js_index.html b/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes_plotly_js_index.html new file mode 100644 index 00000000000..f4fcdf1bce2 --- /dev/null +++ b/content/plotly_js/subplot/multiple-axes/2015-04-09-multiple-axes_plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a graph with D3.js-based multiple axes in javascript. +display_as: multiple_axes +language: plotly_js +layout: base +name: Multiple Axes +order: 6 +permalink: javascript/multiple-axes/ +redirect_from: javascript-graphing-library/multiple-axes/ +thumbnail: thumbnail/multiple-axes.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","multiple-axes" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/subplot/subplot-table/2017-11-01-table-subplot-plotly_js_index.html b/content/plotly_js/subplot/subplot-table/2017-11-01-table-subplot-plotly_js_index.html new file mode 100644 index 00000000000..5d676769682 --- /dev/null +++ b/content/plotly_js/subplot/subplot-table/2017-11-01-table-subplot-plotly_js_index.html @@ -0,0 +1,14 @@ +--- +description: How to make a D3.js-based table subplots in javascript. +display_as: multiple_axes +language: plotly_js +layout: base +name: Table Subplots +order: 5 +page_type: example_index +permalink: javascript/table-subplots/ +thumbnail: thumbnail/table_subplots.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","subplot_table" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/subplot/subplot-table/2017-11-01-table-subplot.html b/content/plotly_js/subplot/subplot-table/2017-11-01-table-subplot.html new file mode 100644 index 00000000000..063fc6358b4 --- /dev/null +++ b/content/plotly_js/subplot/subplot-table/2017-11-01-table-subplot.html @@ -0,0 +1,125 @@ +--- +name: Table and Chart Subplot +language: plotly_js +suite: subplot_table +order: 1 +sitemap: false +arrangement: horizontal +--- + +d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/Mining-BTC-180.csv", function(err, rows){ + + function unpack(rows, key) { + return rows.map(function(row) { return row[key]; }); + } + + // header values + var headerNames = d3.keys(rows[0]); + var headerValues = [headerNames[1],headerNames[2], + headerNames[3],headerNames[4]]; + + // cell values + var cellValues = []; + for (i = 0; i < headerValues.length; i++) { + cellValue = unpack(rows, headerValues[i]); + cellValues[i] = cellValue; + } + + // clean date + for (i = 0; i < cellValues[0].length; i++) { + var dateValue = cellValues[0][i].split(' ')[0] + cellValues[0][i] = dateValue + } + + // create table + var table = { + type: 'table', + columnwidth: [150,200,200,150], + columnorder: [0,1,2,3], + header: { + values: headerValues, + align: "center", + line: {width: 1, color: 'rgb(50, 50, 50)'}, + fill: {color: ['rgb(235, 100, 230)']}, + font: {family: "Arial", size: 11, color: "white"} + }, + cells: { + values: cellValues, + align: ["center", "center"], + line: {color: "black", width: 1}, + fill: {color: ['rgb(235, 193, 238)', 'rgba(228, 222, 249, 0.65)']}, + font: {family: "Arial", size: 10, color: ["black"]} + }, + xaxis: 'x', + yaxis: 'y', + domain: {x: [0,0.4], y: [0,1]} + } + + // create 1st plot + var trace1 = { + x: unpack(rows, 'Date'), + y: unpack(rows, 'Hash-rate'), + xaxis: 'x1', + yaxis: 'y1', + mode: 'lines', + line: {width: 2, color: '#9748a1'}, + name: 'hash-rate-TH/s' + } + // create 2nd plot + var trace2 = { + x: unpack(rows, 'Date'), + y: unpack(rows, 'Mining-revenue-USD'), + xaxis: 'x2', + yaxis: 'y2', + mode: 'lines', + line: {width: 2, color: '#b04553'}, + name: 'Mining-revenue-USD' + } + + // create 3rd plot + var trace3 = { + x: unpack(rows, 'Date'), + y: unpack(rows, 'Transaction-fees-BTC'), + xaxis: 'x3', + yaxis: 'y3', + mode: 'lines', + line: {width: 2, color: '#af7bbd'}, + name: 'Transaction-fees-BTC' + } + + var data = [table,trace1,trace2,trace3] + + // define subplot axes + var axis = { + showline: true, + zeroline: false, + showgrid: true, + mirror:true, + ticklen: 4, + gridcolor: '#ffffff', + tickfont: {size: 10}, + } + + var axis1 = {domain: [0.5, 1], anchor: 'y1', showticklabels: false} + var axis2 = {domain: [0.5, 1], anchor: 'y2', showticklabels: false} + var axis3 = {domain: [0.5, 1], anchor: 'y3'} + var axis4 = {domain: [0.66, 0.98], anchor: 'x1', hoverformat: '.2f'} + var axis5 = {domain: [0.34, 0.64], anchor: 'x2', tickprefix: '$', hoverformat: '.2f'} + var axis6 = {domain: [0.0, 0.32], anchor: 'x3', tickprefix: '\u20BF', hoverformat: '.2f'} + + // define layout + var layout = { + title: {text: "Bitcoin mining stats for 180 days"}, + plot_bgcolor: 'rgba(228, 222, 249, 0.65)', + showlegend: false, + xaxis1: Object.assign(axis1,axis), + xaxis2: Object.assign(axis2,axis), + xaxis3: Object.assign(axis3,axis), + yaxis1: Object.assign(axis4,axis), + yaxis2: Object.assign(axis5,axis), + yaxis3: Object.assign(axis6,axis) + } + + Plotly.newPlot('myDiv', data, layout); + +}); diff --git a/content/plotly_js/subplot/subplots/2015-04-09-custom-size-subplot.html b/content/plotly_js/subplot/subplots/2015-04-09-custom-size-subplot.html new file mode 100644 index 00000000000..76757e5a618 --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-04-09-custom-size-subplot.html @@ -0,0 +1,31 @@ +--- +name: Custom Sized Subplot +language: plotly_js +suite: subplots +order: 3 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3], + y: [4, 5, 6], + type: 'scatter' +}; + +var trace2 = { + x: [20, 30, 40], + y: [50, 60, 70], + xaxis: 'x2', + yaxis: 'y2', + type: 'scatter' +}; + +var data = [trace1, trace2]; + +var layout = { + xaxis: {domain: [0, 0.7]}, + yaxis2: {anchor: 'x2'}, + xaxis2: {domain: [0.8, 1]} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/subplots/2015-04-09-multiple-subplots.html b/content/plotly_js/subplot/subplots/2015-04-09-multiple-subplots.html new file mode 100644 index 00000000000..1617656afc5 --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-04-09-multiple-subplots.html @@ -0,0 +1,45 @@ +--- +name: Multiple Subplots +language: plotly_js +suite: subplots +order: 4 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [1, 2, 3], + y: [4, 5, 6], + type: 'scatter' +}; + +var trace2 = { + x: [20, 30, 40], + y: [50, 60, 70], + xaxis: 'x2', + yaxis: 'y2', + type: 'scatter' +}; + +var trace3 = { + x: [300, 400, 500], + y: [600, 700, 800], + xaxis: 'x3', + yaxis: 'y3', + type: 'scatter' +}; + +var trace4 = { + x: [4000, 5000, 6000], + y: [7000, 8000, 9000], + xaxis: 'x4', + yaxis: 'y4', + type: 'scatter' +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + grid: {rows: 2, columns: 2, pattern: 'independent'}, +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/subplots/2015-04-09-shared-axes-subplots.html b/content/plotly_js/subplot/subplots/2015-04-09-shared-axes-subplots.html new file mode 100644 index 00000000000..c8bb278711d --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-04-09-shared-axes-subplots.html @@ -0,0 +1,51 @@ +--- +name: Subplots with Shared Axes +language: plotly_js +suite: subplots +order: 5 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3], + y: [2, 3, 4], + type: 'scatter' +}; + +var trace2 = { + x: [20, 30, 40], + y: [5, 5, 5], + xaxis: 'x2', + yaxis: 'y', + type: 'scatter' +}; + +var trace3 = { + x: [2, 3, 4], + y: [600, 700, 800], + xaxis: 'x', + yaxis: 'y3', + type: 'scatter' +}; + +var trace4 = { + x: [4000, 5000, 6000], + y: [7000, 8000, 9000], + xaxis: 'x4', + yaxis: 'y4', + type: 'scatter' +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + grid: { + rows: 2, + columns: 2, + subplots:[['xy','x2y'], ['xy3','x4y4']], + roworder:'bottom to top' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/subplots/2015-04-09-simple-subplot.html b/content/plotly_js/subplot/subplots/2015-04-09-simple-subplot.html new file mode 100644 index 00000000000..2107b76b658 --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-04-09-simple-subplot.html @@ -0,0 +1,30 @@ +--- +name: Simple Subplot +language: plotly_js +suite: subplots +order: 2 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2, 3], + y: [4, 5, 6], + type: 'scatter' +}; + +var trace2 = { + x: [20, 30, 40], + y: [50, 60, 70], + xaxis: 'x2', + yaxis: 'y2', + type: 'scatter' +}; + +var data = [trace1, trace2]; + +var layout = { + grid: {rows: 1, columns: 2, pattern: 'independent'}, +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/subplots/2015-04-09-stacked-coupled-subplots.html b/content/plotly_js/subplot/subplots/2015-04-09-stacked-coupled-subplots.html new file mode 100644 index 00000000000..45bbe4f8971 --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-04-09-stacked-coupled-subplots.html @@ -0,0 +1,38 @@ +--- +name: Stacked Subplots with a Shared X-Axis +language: plotly_js +suite: subplots +order: 7 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2], + y: [10, 11, 12], + type: 'scatter' +}; + +var trace2 = { + x: [2, 3, 4], + y: [100, 110, 120], + yaxis: 'y2', + type: 'scatter' +}; + +var trace3 = { + x: [3, 4, 5], + y: [1000, 1100, 1200], + yaxis: 'y3', + type: 'scatter' +}; + +var data = [trace1, trace2, trace3]; + +var layout = { + yaxis: {domain: [0, 0.33]}, + legend: {traceorder: 'reversed'}, + yaxis2: {domain: [0.33, 0.66]}, + yaxis3: {domain: [0.66, 1]} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/subplots/2015-04-09-stacked-subplots.html b/content/plotly_js/subplot/subplots/2015-04-09-stacked-subplots.html new file mode 100644 index 00000000000..5727bf8364c --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-04-09-stacked-subplots.html @@ -0,0 +1,41 @@ +--- +name: Stacked Subplots +language: plotly_js +suite: subplots +order: 6 +sitemap: false +arrangement: horizontal +--- +var trace1 = { + x: [0, 1, 2], + y: [10, 11, 12], + type: 'scatter' +}; + +var trace2 = { + x: [2, 3, 4], + y: [100, 110, 120], + xaxis: 'x2', + yaxis: 'y2', + type: 'scatter' +}; + +var trace3 = { + x: [3, 4, 5], + y: [1000, 1100, 1200], + xaxis: 'x3', + yaxis: 'y3', + type: 'scatter' +}; + +var data = [trace1, trace2, trace3]; + +var layout = { +grid: { + rows: 3, + columns: 1, + pattern: 'independent', + roworder: 'bottom to top'} +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/plotly_js/subplot/subplots/2015-04-09-subplots_plotly_js_index.html b/content/plotly_js/subplot/subplots/2015-04-09-subplots_plotly_js_index.html new file mode 100644 index 00000000000..040868d0a6b --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-04-09-subplots_plotly_js_index.html @@ -0,0 +1,16 @@ +--- +description: How to make D3.js-based subplots in Plotly.js. Seven examples of stacked, + custom-sized, and gridded subplots. +display_as: multiple_axes +language: plotly_js +layout: base +name: Subplots +order: 1 +page_type: example_index +permalink: javascript/subplots/ +redirect_from: javascript-graphing-library/subplots/ +thumbnail: thumbnail/subplots.jpg +--- + +{% assign examples = site.posts | where:"language","plotly_js" | where:"suite","subplots" | sort: "order" %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/content/plotly_js/subplot/subplots/2015-08-10-multiple-custom-sized-subplots.html b/content/plotly_js/subplot/subplots/2015-08-10-multiple-custom-sized-subplots.html new file mode 100644 index 00000000000..6e30b690bf2 --- /dev/null +++ b/content/plotly_js/subplot/subplots/2015-08-10-multiple-custom-sized-subplots.html @@ -0,0 +1,82 @@ +--- +name: Multiple Custom Sized Subplots +language: plotly_js +suite: subplots +order: 9 +sitemap: false +arrangement: horizontal +--- + +var trace1 = { + x: [1, 2], + y: [1, 2], + type: 'scatter', + name: '(1,1)' +}; + +var trace2 = { + x: [1, 2], + y: [1, 2], + type: 'scatter', + name: '(1,2)', + xaxis: 'x2', + yaxis: 'y2' +}; + +var trace3 = { + x: [1, 2], + y: [1, 2], + type: 'scatter', + name: '(1,2)', + xaxis: 'x3', + yaxis: 'y3' +}; + +var trace4 = { + x: [1, 2], + y: [1, 2], + type: 'scatter', + name: '(1,2)', + xaxis: 'x4', + yaxis: 'y4' +}; + +var data = [trace1, trace2, trace3, trace4]; + +var layout = { + title: {text: 'Multiple Custom Sized Subplots'}, + xaxis: { + domain: [0, 0.45], + anchor: 'y1' + }, + yaxis: { + domain: [0.5, 1], + anchor: 'x1' + }, + xaxis2: { + domain: [0.55, 1], + anchor: 'y2' + }, + yaxis2: { + domain: [0.8, 1], + anchor: 'x2' + }, + xaxis3: { + domain: [0.55, 1], + anchor: 'y3' + }, + yaxis3: { + domain: [0.5, 0.75], + anchor: 'x3' + }, + xaxis4: { + domain: [0, 1], + anchor: 'y4' + }, + yaxis4: { + domain: [0, 0.45], + anchor: 'x4' + } +}; + +Plotly.newPlot('myDiv', data, layout); diff --git a/content/reference_pages/2015-08-19-plotly_js-reference.html b/content/reference_pages/2015-08-19-plotly_js-reference.html new file mode 100644 index 00000000000..820661fc921 --- /dev/null +++ b/content/reference_pages/2015-08-19-plotly_js-reference.html @@ -0,0 +1,63 @@ +--- +permalink: /javascript/reference/ +layout: langindex +page_type: reference +language: plotly_js +name: Single-Page Reference +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +redirect_from: /javascript-graphing-library/reference/ +--- +

JavaScript Figure Reference: Single-Page

+ +
+ How are Plotly attributes organized? +
+

+ plotly.js charts are described declaratively as JSON objects. Every aspect of a plotly chart (the colors, the grids, the data, and so on) has a corresponding JSON attribute. This page contains an extensive list of these attributes.

+ + Plotly's graph description places attributes into two categories: traces (objects that describe a single series of data in a graph) and layout (attributes that apply to the rest of the chart, like the title, xaxis, or annotations). Traces are categorized by chart type (e.g. scatter, heatmap).

+ + Here is a simple example of a plotly chart inlined with links to each attribute's reference section. + +

+    data = [
+        {
+            type: 'scatter',  // all "scatter" attributes: https://plotly.com/javascript/reference/#scatter
+            x: [1, 2, 3],     // more about "x": #scatter-x
+            y: [3, 1, 6],     // #scatter-y
+            marker: {         // marker is an object, valid marker keys: #scatter-marker
+                color: 'rgb(16, 32, 77)' // more about "marker.color": #scatter-marker-color
+            }
+        },
+        {
+            type: 'bar',      // all "bar" chart attributes: #bar
+            x: [1, 2, 3],     // more about "x": #bar-x
+            y: [3, 1, 6],     // #bar-y
+            name: 'bar chart example' // #bar-name
+        }
+    ];
+
+    layout = {                     // all "layout" attributes: #layout
+        title: 'simple example',  // more about "layout.title": #layout-title
+        xaxis: {                  // all "layout.xaxis" attributes: #layout-xaxis
+            title: 'time'         // more about "layout.xaxis.title": #layout-xaxis-title
+        },
+        annotations: [            // all "annotation" attributes: #layout-annotations
+            {
+                text: 'simple annotation',    // #layout-annotations-text
+                x: 0,                         // #layout-annotations-x
+                xref: 'paper',                // #layout-annotations-xref
+                y: 0,                         // #layout-annotations-y
+                yref: 'paper'                 // #layout-annotations-yref
+            }
+        ]
+    }
+

+
+
+
+ + + + +{% include posts/plotschema-reference.html %} diff --git a/content/reference_pages/2015-09-06-python-reference.html b/content/reference_pages/2015-09-06-python-reference.html new file mode 100644 index 00000000000..9f3b6c8d44e --- /dev/null +++ b/content/reference_pages/2015-09-06-python-reference.html @@ -0,0 +1,47 @@ +--- +permalink: /python/reference/ +layout: langindex +page_type: reference +language: python +name: Single-Page Reference +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- +

Python Figure Reference: Single-Page

+ +
+

This page is the exhaustive reference for all of the attributes in the core figure data structure +that the plotly library operates on. It is automatically-generated from the + machine-readable Plotly.js schema reference.

+

+
+

Figures are represented as trees with named nodes called "attributes". +The root node of the tree has three top-level attributes: data, layout and frames. +Attributes are referred to in text and in this page by their full "path" i.e. the dot-delimited concatenation of their parents. +For example "layout.width" refers to the attribute whose key is "width" inside a dict which is +the value associated with a key "layout" at the root of the figure. If one of the parents is a list rather +than a dict, a set of brackets is inserted in the path when referring to the attribute in the abstract, +e.g. "layout.annotations[].text". Finally, as explained below, the top-level "data" +attribute defines a list of typed objects called "traces" with the schema dependent upon the type, +and these attributes' paths are listed in this page as +"data[type=scatter].name". When manipulating +a plotly.graph_objects.Figure object, attributes can be set either directly +using Python object attributes e.g. fig.layout.title.font.family="Open Sans" +or using update methods +and "magic underscores" e.g. fig.update_layout(title_font_family="Open Sans")

+ +
+

When building a figure, it is not necessary to populate every attribute +of every object. At render-time, the JavaScript layer will compute default values +for each required unspecified attribute, depending upon the ones that are specified, +as documented in this page. An example of this would be layout.xaxis.range, +which may be specified explicitly, but if not will be computed based on the range of x values for +every trace linked to that axis. The JavaScript layer will ignore unknown attributes +or malformed values, although the plotly.graph_objects module provides +Python-side validation for attribute values. Note also that if the layout.template +key is present (as it is by default) then default values will be drawn first from the contents +of the template and only if missing from there will the JavaScript layer infer further defaults. +The built-in template can be disabled by setting layout.template="none".

+ +
+ +{% include posts/plotschema-reference.html %} diff --git a/content/reference_pages/2020-07-20-plotly_js-ref_index.html b/content/reference_pages/2020-07-20-plotly_js-ref_index.html new file mode 100644 index 00000000000..daf3d1485ad --- /dev/null +++ b/content/reference_pages/2020-07-20-plotly_js-ref_index.html @@ -0,0 +1,63 @@ +--- +permalink: /javascript/reference/index/ +layout: langindex +page_type: reference +language: plotly_js +name: Reference Index +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +redirect_from: /javascript-graphing-library/reference/ +--- +

JavaScript Figure Reference

+ +
+

The pages linked in the sidebar together form the exhaustive reference for all of the attributes in the core figure data structure +that the plotly library operates on. They are automatically-generated from the + machine-readable Plotly.js schema reference.

+ +

How are Plotly attributes organized?

+
+

+ plotly.js charts are described declaratively as JSON objects. Every aspect of a plotly chart (the colors, the grids, the data, and so on) has a corresponding JSON attribute. This page contains an extensive list of these attributes.

+ + Plotly's graph description places attributes into two categories: traces (objects that describe a single series of data in a graph) and layout (attributes that apply to the rest of the chart, like the title, xaxis, or annotations). Traces are categorized by chart type (e.g. scatter, heatmap).

+ + Here is a simple example of a plotly chart inlined with links to each attribute's reference section. + +

+    data = [
+        {
+            type: 'scatter',  // all "scatter" attributes: https://plotly.com/javascript/reference/#scatter
+            x: [1, 2, 3],     // more about "x": #scatter-x
+            y: [3, 1, 6],     // #scatter-y
+            marker: {         // marker is an object, valid marker keys: #scatter-marker
+                color: 'rgb(16, 32, 77)' // more about "marker.color": #scatter-marker-color
+            }
+        },
+        {
+            type: 'bar',      // all "bar" chart attributes: #bar
+            x: [1, 2, 3],     // more about "x": #bar-x
+            y: [3, 1, 6],     // #bar-y
+            name: 'bar chart example' // #bar-name
+        }
+    ];
+
+    layout = {                     // all "layout" attributes: #layout
+        title: 'simple example',  // more about "layout.title": #layout-title
+        xaxis: {                  // all "layout.xaxis" attributes: #layout-xaxis
+            title: 'time'         // more about "layout.xaxis.title": #layout-xaxis-title
+        },
+        annotations: [            // all "annotation" attributes: #layout-annotations
+            {
+                text: 'simple annotation',    // #layout-annotations-text
+                x: 0,                         // #layout-annotations-x
+                xref: 'paper',                // #layout-annotations-xref
+                y: 0,                         // #layout-annotations-y
+                yref: 'paper'                 // #layout-annotations-yref
+            }
+        ]
+    }
+

+
+
+ + diff --git a/content/reference_pages/2020-07-20-python-ref_index.html b/content/reference_pages/2020-07-20-python-ref_index.html new file mode 100644 index 00000000000..82ae1351dec --- /dev/null +++ b/content/reference_pages/2020-07-20-python-ref_index.html @@ -0,0 +1,55 @@ +--- +permalink: /python/reference/index/ +layout: langindex +page_type: reference +language: python +name: Reference Index +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- +

Python Figure Reference

+ +
+

The pages linked in the sidebar together form the exhaustive reference for all of the attributes in the core figure data structure +that the plotly library operates on. They are automatically-generated from the + machine-readable Plotly.js schema reference.

+

+ +

How to use these Reference pages

+ +

Figures are represented as trees with named nodes called "attributes". +The root node of the tree has three top-level attributes: data, layout and frames. +Attributes are referred to in text and in this reference by their full "path" i.e. the dot-delimited concatenation of their parents. +For example "layout.width" refers to the attribute whose key is "width" inside a dict which is +the value associated with a key "layout" at the root of the figure. If one of the parents is a list rather +than a dict, a set of brackets is inserted in the path when referring to the attribute in the abstract, +e.g. "layout.annotations[].text". Finally, as explained below, the top-level "data" +attribute defines a list of typed objects called "traces" with the schema dependent upon the type, +and these attributes' paths are listed in this reference as +"data[type=scatter].name". When manipulating +a plotly.graph_objects.Figure object, attributes can be set either directly +using Python object attributes e.g. fig.layout.title.font.family="Open Sans" +or using update methods +and "magic underscores" e.g. fig.update_layout(title_font_family="Open Sans")

+ +
+

When building a figure, it is not necessary to populate every attribute +of every object. At render-time, the JavaScript layer will compute default values +for each required unspecified attribute, depending upon the ones that are specified, +as documented in this page. An example of this would be layout.xaxis.range, +which may be specified explicitly, but if not will be computed based on the range of x values for +every trace linked to that axis. The JavaScript layer will ignore unknown attributes +or malformed values, although the plotly.graph_objects module provides +Python-side validation for attribute values. Note also that if the layout.template +key is present (as it is by default) then default values will be drawn first from the contents +of the template and only if missing from there will the JavaScript layer infer further defaults. +The built-in template can be disabled by setting layout.template="none".

+ +
+
+
+
+
+
+
+
+
diff --git a/content/reference_pages/javascript/2020-07-20-annotations.html b/content/reference_pages/javascript/2020-07-20-annotations.html new file mode 100644 index 00000000000..5bd2f953abd --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-annotations.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/annotations/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.annotations +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.annotations

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="annotations" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-bar.html b/content/reference_pages/javascript/2020-07-20-bar.html new file mode 100644 index 00000000000..b33d7f8a936 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-bar.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/bar/ +layout: langindex +page_type: reference +language: plotly_js +name: bar Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: bar Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="bar" trace_data=site.data.plotschema.traces.bar %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-barpolar.html b/content/reference_pages/javascript/2020-07-20-barpolar.html new file mode 100644 index 00000000000..82dc1c153db --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-barpolar.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/barpolar/ +layout: langindex +page_type: reference +language: plotly_js +name: barpolar Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: barpolar Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="barpolar" trace_data=site.data.plotschema.traces.barpolar %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-box.html b/content/reference_pages/javascript/2020-07-20-box.html new file mode 100644 index 00000000000..344cae3f52e --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-box.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/box/ +layout: langindex +page_type: reference +language: plotly_js +name: box Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: box Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="box" trace_data=site.data.plotschema.traces.box %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-candlestick.html b/content/reference_pages/javascript/2020-07-20-candlestick.html new file mode 100644 index 00000000000..0486eb9450b --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-candlestick.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/candlestick/ +layout: langindex +page_type: reference +language: plotly_js +name: candlestick Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: candlestick Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="candlestick" trace_data=site.data.plotschema.traces.candlestick %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-carpet.html b/content/reference_pages/javascript/2020-07-20-carpet.html new file mode 100644 index 00000000000..1602dd22e3a --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-carpet.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/carpet/ +layout: langindex +page_type: reference +language: plotly_js +name: carpet Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: carpet Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="carpet" trace_data=site.data.plotschema.traces.carpet %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-choropleth.html b/content/reference_pages/javascript/2020-07-20-choropleth.html new file mode 100644 index 00000000000..076532ca611 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-choropleth.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/choropleth/ +layout: langindex +page_type: reference +language: plotly_js +name: choropleth Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: choropleth Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="choropleth" trace_data=site.data.plotschema.traces.choropleth %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-choroplethmap.html b/content/reference_pages/javascript/2020-07-20-choroplethmap.html new file mode 100644 index 00000000000..8fd926f4813 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-choroplethmap.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/choroplethmap/ +layout: langindex +page_type: reference +language: plotly_js +name: choroplethmap Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: choroplethmap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="choroplethmap" trace_data=site.data.plotschema.traces.choroplethmap %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-choroplethmapbox.html b/content/reference_pages/javascript/2020-07-20-choroplethmapbox.html new file mode 100644 index 00000000000..f6d7694e4e9 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-choroplethmapbox.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/choroplethmapbox/ +layout: langindex +page_type: reference +language: plotly_js +name: choroplethmapbox Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: choroplethmapbox Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="choroplethmapbox" trace_data=site.data.plotschema.traces.choroplethmapbox %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-coloraxis.html b/content/reference_pages/javascript/2020-07-20-coloraxis.html new file mode 100644 index 00000000000..c405abd308b --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-coloraxis.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/coloraxis/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.coloraxis +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.coloraxis

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="coloraxis" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-cone.html b/content/reference_pages/javascript/2020-07-20-cone.html new file mode 100644 index 00000000000..32bee7faf12 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-cone.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/cone/ +layout: langindex +page_type: reference +language: plotly_js +name: cone Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: cone Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="cone" trace_data=site.data.plotschema.traces.cone %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-contour.html b/content/reference_pages/javascript/2020-07-20-contour.html new file mode 100644 index 00000000000..94bc67169c0 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-contour.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/contour/ +layout: langindex +page_type: reference +language: plotly_js +name: contour Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: contour Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="contour" trace_data=site.data.plotschema.traces.contour %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-contourcarpet.html b/content/reference_pages/javascript/2020-07-20-contourcarpet.html new file mode 100644 index 00000000000..551a375a7af --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-contourcarpet.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/contourcarpet/ +layout: langindex +page_type: reference +language: plotly_js +name: contourcarpet Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: contourcarpet Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="contourcarpet" trace_data=site.data.plotschema.traces.contourcarpet %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-densitymap.html b/content/reference_pages/javascript/2020-07-20-densitymap.html new file mode 100644 index 00000000000..5c540d9c5c3 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-densitymap.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/densitymap/ +layout: langindex +page_type: reference +language: plotly_js +name: densitymap Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: densitymap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="densitymap" trace_data=site.data.plotschema.traces.densitymap %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-densitymapbox.html b/content/reference_pages/javascript/2020-07-20-densitymapbox.html new file mode 100644 index 00000000000..51e34b0c06a --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-densitymapbox.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/densitymapbox/ +layout: langindex +page_type: reference +language: plotly_js +name: densitymapbox Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: densitymapbox Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="densitymapbox" trace_data=site.data.plotschema.traces.densitymapbox %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-funnel.html b/content/reference_pages/javascript/2020-07-20-funnel.html new file mode 100644 index 00000000000..fde8cab72a3 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-funnel.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/funnel/ +layout: langindex +page_type: reference +language: plotly_js +name: funnel Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: funnel Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="funnel" trace_data=site.data.plotschema.traces.funnel %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-funnelarea.html b/content/reference_pages/javascript/2020-07-20-funnelarea.html new file mode 100644 index 00000000000..e878cd589fc --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-funnelarea.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/funnelarea/ +layout: langindex +page_type: reference +language: plotly_js +name: funnelarea Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: funnelarea Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="funnelarea" trace_data=site.data.plotschema.traces.funnelarea %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-geo.html b/content/reference_pages/javascript/2020-07-20-geo.html new file mode 100644 index 00000000000..c07c7f4030e --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-geo.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/geo/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.geo +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.geo

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="geo" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-global.html b/content/reference_pages/javascript/2020-07-20-global.html new file mode 100644 index 00000000000..d33bd71c4e2 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-global.html @@ -0,0 +1,26 @@ +--- +permalink: /javascript/reference/layout/ +layout: langindex +page_type: reference +language: plotly_js +name: layout +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="global" %} + +{%- for trace in site.data.plotschema.traces -%} +{% if trace[1].layoutAttributes %} +{% assign attribute=trace[1].layoutAttributes %} +{% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" %} +{% endif %} +{%- endfor -%} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-heatmap.html b/content/reference_pages/javascript/2020-07-20-heatmap.html new file mode 100644 index 00000000000..e5c5543fb37 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-heatmap.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/heatmap/ +layout: langindex +page_type: reference +language: plotly_js +name: heatmap Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: heatmap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="heatmap" trace_data=site.data.plotschema.traces.heatmap %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-histogram.html b/content/reference_pages/javascript/2020-07-20-histogram.html new file mode 100644 index 00000000000..ef851f6bbd3 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-histogram.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/histogram/ +layout: langindex +page_type: reference +language: plotly_js +name: histogram Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: histogram Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="histogram" trace_data=site.data.plotschema.traces.histogram %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-histogram2d.html b/content/reference_pages/javascript/2020-07-20-histogram2d.html new file mode 100644 index 00000000000..1e314b5b6a0 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-histogram2d.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/histogram2d/ +layout: langindex +page_type: reference +language: plotly_js +name: histogram2d Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: histogram2d Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="histogram2d" trace_data=site.data.plotschema.traces.histogram2d %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-histogram2dcontour.html b/content/reference_pages/javascript/2020-07-20-histogram2dcontour.html new file mode 100644 index 00000000000..959041d979d --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-histogram2dcontour.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/histogram2dcontour/ +layout: langindex +page_type: reference +language: plotly_js +name: histogram2dcontour Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: histogram2dcontour Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="histogram2dcontour" trace_data=site.data.plotschema.traces.histogram2dcontour %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-icicle.html b/content/reference_pages/javascript/2020-07-20-icicle.html new file mode 100644 index 00000000000..f43387cc1ba --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-icicle.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/icicle/ +layout: langindex +page_type: reference +language: plotly_js +name: icicle Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: icicle Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="icicle" trace_data=site.data.plotschema.traces.icicle %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-image.html b/content/reference_pages/javascript/2020-07-20-image.html new file mode 100644 index 00000000000..36df07f2e68 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-image.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/image/ +layout: langindex +page_type: reference +language: plotly_js +name: image Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: image Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="image" trace_data=site.data.plotschema.traces.image %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-images.html b/content/reference_pages/javascript/2020-07-20-images.html new file mode 100644 index 00000000000..e5e1f99d0b7 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-images.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/images/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.images +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.images

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="images" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-indicator.html b/content/reference_pages/javascript/2020-07-20-indicator.html new file mode 100644 index 00000000000..53a041edd07 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-indicator.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/indicator/ +layout: langindex +page_type: reference +language: plotly_js +name: indicator Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: indicator Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="indicator" trace_data=site.data.plotschema.traces.indicator %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-isosurface.html b/content/reference_pages/javascript/2020-07-20-isosurface.html new file mode 100644 index 00000000000..9abc7b36bab --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-isosurface.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/isosurface/ +layout: langindex +page_type: reference +language: plotly_js +name: isosurface Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: isosurface Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="isosurface" trace_data=site.data.plotschema.traces.isosurface %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-mapbox.html b/content/reference_pages/javascript/2020-07-20-mapbox.html new file mode 100644 index 00000000000..a79d682bace --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-mapbox.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/mapbox/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.mapbox +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.mapbox

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="mapbox" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-mesh3d.html b/content/reference_pages/javascript/2020-07-20-mesh3d.html new file mode 100644 index 00000000000..e39f2709838 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-mesh3d.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/mesh3d/ +layout: langindex +page_type: reference +language: plotly_js +name: mesh3d Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: mesh3d Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="mesh3d" trace_data=site.data.plotschema.traces.mesh3d %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-ohlc.html b/content/reference_pages/javascript/2020-07-20-ohlc.html new file mode 100644 index 00000000000..126f885ff9a --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-ohlc.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/ohlc/ +layout: langindex +page_type: reference +language: plotly_js +name: ohlc Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: ohlc Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="ohlc" trace_data=site.data.plotschema.traces.ohlc %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-parcats.html b/content/reference_pages/javascript/2020-07-20-parcats.html new file mode 100644 index 00000000000..2fbddce2c5a --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-parcats.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/parcats/ +layout: langindex +page_type: reference +language: plotly_js +name: parcats Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: parcats Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="parcats" trace_data=site.data.plotschema.traces.parcats %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-parcoords.html b/content/reference_pages/javascript/2020-07-20-parcoords.html new file mode 100644 index 00000000000..7d71073b3e1 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-parcoords.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/parcoords/ +layout: langindex +page_type: reference +language: plotly_js +name: parcoords Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: parcoords Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="parcoords" trace_data=site.data.plotschema.traces.parcoords %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-pie.html b/content/reference_pages/javascript/2020-07-20-pie.html new file mode 100644 index 00000000000..b47320d41bb --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-pie.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/pie/ +layout: langindex +page_type: reference +language: plotly_js +name: pie Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: pie Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="pie" trace_data=site.data.plotschema.traces.pie %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-polar.html b/content/reference_pages/javascript/2020-07-20-polar.html new file mode 100644 index 00000000000..5be2f4f4f50 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-polar.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/polar/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.polar +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.polar

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="polar" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-sankey.html b/content/reference_pages/javascript/2020-07-20-sankey.html new file mode 100644 index 00000000000..c7c8b45abe1 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-sankey.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/sankey/ +layout: langindex +page_type: reference +language: plotly_js +name: sankey Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: sankey Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="sankey" trace_data=site.data.plotschema.traces.sankey %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scatter.html b/content/reference_pages/javascript/2020-07-20-scatter.html new file mode 100644 index 00000000000..69589b0c2db --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scatter.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scatter/ +layout: langindex +page_type: reference +language: plotly_js +name: scatter Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scatter Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatter" trace_data=site.data.plotschema.traces.scatter %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scatter3d.html b/content/reference_pages/javascript/2020-07-20-scatter3d.html new file mode 100644 index 00000000000..3e2b48d189a --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scatter3d.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scatter3d/ +layout: langindex +page_type: reference +language: plotly_js +name: scatter3d Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scatter3d Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatter3d" trace_data=site.data.plotschema.traces.scatter3d %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scattercarpet.html b/content/reference_pages/javascript/2020-07-20-scattercarpet.html new file mode 100644 index 00000000000..a3622ba221d --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scattercarpet.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scattercarpet/ +layout: langindex +page_type: reference +language: plotly_js +name: scattercarpet Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scattercarpet Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattercarpet" trace_data=site.data.plotschema.traces.scattercarpet %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scattergeo.html b/content/reference_pages/javascript/2020-07-20-scattergeo.html new file mode 100644 index 00000000000..f04328db645 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scattergeo.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scattergeo/ +layout: langindex +page_type: reference +language: plotly_js +name: scattergeo Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scattergeo Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattergeo" trace_data=site.data.plotschema.traces.scattergeo %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scattergl.html b/content/reference_pages/javascript/2020-07-20-scattergl.html new file mode 100644 index 00000000000..5dec9c6abe7 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scattergl.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scattergl/ +layout: langindex +page_type: reference +language: plotly_js +name: scattergl Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scattergl Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattergl" trace_data=site.data.plotschema.traces.scattergl %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scattermap.html b/content/reference_pages/javascript/2020-07-20-scattermap.html new file mode 100644 index 00000000000..1fa6df0b36f --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scattermap.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scattermap/ +layout: langindex +page_type: reference +language: plotly_js +name: scattermap Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scattermap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattermap" trace_data=site.data.plotschema.traces.scattermap %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scattermapbox.html b/content/reference_pages/javascript/2020-07-20-scattermapbox.html new file mode 100644 index 00000000000..e1678d9b4dc --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scattermapbox.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scattermapbox/ +layout: langindex +page_type: reference +language: plotly_js +name: scattermapbox Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scattermapbox Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattermapbox" trace_data=site.data.plotschema.traces.scattermapbox %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scatterpolar.html b/content/reference_pages/javascript/2020-07-20-scatterpolar.html new file mode 100644 index 00000000000..37bf23f3f9f --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scatterpolar.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scatterpolar/ +layout: langindex +page_type: reference +language: plotly_js +name: scatterpolar Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scatterpolar Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatterpolar" trace_data=site.data.plotschema.traces.scatterpolar %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scatterpolargl.html b/content/reference_pages/javascript/2020-07-20-scatterpolargl.html new file mode 100644 index 00000000000..749d19d5a9a --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scatterpolargl.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scatterpolargl/ +layout: langindex +page_type: reference +language: plotly_js +name: scatterpolargl Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scatterpolargl Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatterpolargl" trace_data=site.data.plotschema.traces.scatterpolargl %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scattersmith.html b/content/reference_pages/javascript/2020-07-20-scattersmith.html new file mode 100644 index 00000000000..6c16ce1361f --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scattersmith.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scattersmith/ +layout: langindex +page_type: reference +language: plotly_js +name: scattersmith Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scattersmith Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattersmith" trace_data=site.data.plotschema.traces.scattersmith %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scatterternary.html b/content/reference_pages/javascript/2020-07-20-scatterternary.html new file mode 100644 index 00000000000..5ccab89bc94 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scatterternary.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/scatterternary/ +layout: langindex +page_type: reference +language: plotly_js +name: scatterternary Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: scatterternary Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatterternary" trace_data=site.data.plotschema.traces.scatterternary %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-scene.html b/content/reference_pages/javascript/2020-07-20-scene.html new file mode 100644 index 00000000000..6cce83ca60d --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-scene.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/scene/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.scene +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.scene

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="scene" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-selections.html b/content/reference_pages/javascript/2020-07-20-selections.html new file mode 100644 index 00000000000..73a1d2570a7 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-selections.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/selections/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.selections +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.selections

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="selections" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-shapes.html b/content/reference_pages/javascript/2020-07-20-shapes.html new file mode 100644 index 00000000000..4ec0bad5042 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-shapes.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/shapes/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.shapes +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.shapes

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="shapes" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-sliders.html b/content/reference_pages/javascript/2020-07-20-sliders.html new file mode 100644 index 00000000000..dd9de438441 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-sliders.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/sliders/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.sliders +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.sliders

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="sliders" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-smith.html b/content/reference_pages/javascript/2020-07-20-smith.html new file mode 100644 index 00000000000..fc9a26447cb --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-smith.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/smith/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.smith +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.smith

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="smith" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-splom.html b/content/reference_pages/javascript/2020-07-20-splom.html new file mode 100644 index 00000000000..df0f515e65e --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-splom.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/splom/ +layout: langindex +page_type: reference +language: plotly_js +name: splom Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: splom Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="splom" trace_data=site.data.plotschema.traces.splom %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-streamtube.html b/content/reference_pages/javascript/2020-07-20-streamtube.html new file mode 100644 index 00000000000..9e4f455895e --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-streamtube.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/streamtube/ +layout: langindex +page_type: reference +language: plotly_js +name: streamtube Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: streamtube Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="streamtube" trace_data=site.data.plotschema.traces.streamtube %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-sunburst.html b/content/reference_pages/javascript/2020-07-20-sunburst.html new file mode 100644 index 00000000000..4f7dacf9dff --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-sunburst.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/sunburst/ +layout: langindex +page_type: reference +language: plotly_js +name: sunburst Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: sunburst Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="sunburst" trace_data=site.data.plotschema.traces.sunburst %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-surface.html b/content/reference_pages/javascript/2020-07-20-surface.html new file mode 100644 index 00000000000..1d38999348e --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-surface.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/surface/ +layout: langindex +page_type: reference +language: plotly_js +name: surface Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: surface Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="surface" trace_data=site.data.plotschema.traces.surface %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-table.html b/content/reference_pages/javascript/2020-07-20-table.html new file mode 100644 index 00000000000..9d9b1db620b --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-table.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/table/ +layout: langindex +page_type: reference +language: plotly_js +name: table Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: table Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="table" trace_data=site.data.plotschema.traces.table %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-ternary.html b/content/reference_pages/javascript/2020-07-20-ternary.html new file mode 100644 index 00000000000..d702efeba7a --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-ternary.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/ternary/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.ternary +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.ternary

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="ternary" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-treemap.html b/content/reference_pages/javascript/2020-07-20-treemap.html new file mode 100644 index 00000000000..09bb271df82 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-treemap.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/treemap/ +layout: langindex +page_type: reference +language: plotly_js +name: treemap Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: treemap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="treemap" trace_data=site.data.plotschema.traces.treemap %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-updatemenus.html b/content/reference_pages/javascript/2020-07-20-updatemenus.html new file mode 100644 index 00000000000..dffea1b6a8d --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-updatemenus.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/updatemenus/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.updatemenus +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.updatemenus

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="updatemenus" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-violin.html b/content/reference_pages/javascript/2020-07-20-violin.html new file mode 100644 index 00000000000..61087c44d25 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-violin.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/violin/ +layout: langindex +page_type: reference +language: plotly_js +name: violin Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: violin Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="violin" trace_data=site.data.plotschema.traces.violin %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-volume.html b/content/reference_pages/javascript/2020-07-20-volume.html new file mode 100644 index 00000000000..1d9a0244b6e --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-volume.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/volume/ +layout: langindex +page_type: reference +language: plotly_js +name: volume Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: volume Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="volume" trace_data=site.data.plotschema.traces.volume %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-waterfall.html b/content/reference_pages/javascript/2020-07-20-waterfall.html new file mode 100644 index 00000000000..027faa15d36 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-waterfall.html @@ -0,0 +1,18 @@ +--- +permalink: /javascript/reference/waterfall/ +layout: langindex +page_type: reference +language: plotly_js +name: waterfall Traces +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: waterfall Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="waterfall" trace_data=site.data.plotschema.traces.waterfall %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-xaxis.html b/content/reference_pages/javascript/2020-07-20-xaxis.html new file mode 100644 index 00000000000..ce024ddb742 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-xaxis.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/xaxis/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.xaxis +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.xaxis

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="xaxis" %} + +
+
diff --git a/content/reference_pages/javascript/2020-07-20-yaxis.html b/content/reference_pages/javascript/2020-07-20-yaxis.html new file mode 100644 index 00000000000..64d6254ab49 --- /dev/null +++ b/content/reference_pages/javascript/2020-07-20-yaxis.html @@ -0,0 +1,19 @@ +--- +permalink: /javascript/reference/layout/yaxis/ +layout: langindex +page_type: reference +language: plotly_js +name: layout.yaxis +description: Figure attribute reference for Plotly's JavaScript open-source graphing library. +--- + +

JavaScript Figure Reference: layout.yaxis

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="yaxis" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-annotations.html b/content/reference_pages/python/2020-07-20-annotations.html new file mode 100644 index 00000000000..c0a72bffe3c --- /dev/null +++ b/content/reference_pages/python/2020-07-20-annotations.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/annotations/ +layout: langindex +page_type: reference +language: python +name: layout.annotations +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.annotations

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="annotations" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-bar.html b/content/reference_pages/python/2020-07-20-bar.html new file mode 100644 index 00000000000..2d5abab2f97 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-bar.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/bar/ +layout: langindex +page_type: reference +language: python +name: bar Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: bar Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="bar" trace_data=site.data.plotschema.traces.bar %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-barpolar.html b/content/reference_pages/python/2020-07-20-barpolar.html new file mode 100644 index 00000000000..93567c636ac --- /dev/null +++ b/content/reference_pages/python/2020-07-20-barpolar.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/barpolar/ +layout: langindex +page_type: reference +language: python +name: barpolar Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: barpolar Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="barpolar" trace_data=site.data.plotschema.traces.barpolar %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-box.html b/content/reference_pages/python/2020-07-20-box.html new file mode 100644 index 00000000000..859eb3a46cd --- /dev/null +++ b/content/reference_pages/python/2020-07-20-box.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/box/ +layout: langindex +page_type: reference +language: python +name: box Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: box Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="box" trace_data=site.data.plotschema.traces.box %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-candlestick.html b/content/reference_pages/python/2020-07-20-candlestick.html new file mode 100644 index 00000000000..d3a214e256f --- /dev/null +++ b/content/reference_pages/python/2020-07-20-candlestick.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/candlestick/ +layout: langindex +page_type: reference +language: python +name: candlestick Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: candlestick Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="candlestick" trace_data=site.data.plotschema.traces.candlestick %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-carpet.html b/content/reference_pages/python/2020-07-20-carpet.html new file mode 100644 index 00000000000..c7bb5b9794c --- /dev/null +++ b/content/reference_pages/python/2020-07-20-carpet.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/carpet/ +layout: langindex +page_type: reference +language: python +name: carpet Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: carpet Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="carpet" trace_data=site.data.plotschema.traces.carpet %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-choropleth.html b/content/reference_pages/python/2020-07-20-choropleth.html new file mode 100644 index 00000000000..57559ff2a86 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-choropleth.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/choropleth/ +layout: langindex +page_type: reference +language: python +name: choropleth Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: choropleth Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="choropleth" trace_data=site.data.plotschema.traces.choropleth %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-choroplethmap.html b/content/reference_pages/python/2020-07-20-choroplethmap.html new file mode 100644 index 00000000000..6ed7520d082 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-choroplethmap.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/choroplethmap/ +layout: langindex +page_type: reference +language: python +name: choroplethmap Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: choroplethmap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="choroplethmap" trace_data=site.data.plotschema.traces.choroplethmap %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-choroplethmapbox.html b/content/reference_pages/python/2020-07-20-choroplethmapbox.html new file mode 100644 index 00000000000..f8635576da5 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-choroplethmapbox.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/choroplethmapbox/ +layout: langindex +page_type: reference +language: python +name: choroplethmapbox Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: choroplethmapbox Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="choroplethmapbox" trace_data=site.data.plotschema.traces.choroplethmapbox %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-coloraxis.html b/content/reference_pages/python/2020-07-20-coloraxis.html new file mode 100644 index 00000000000..18439c8534b --- /dev/null +++ b/content/reference_pages/python/2020-07-20-coloraxis.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/coloraxis/ +layout: langindex +page_type: reference +language: python +name: layout.coloraxis +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.coloraxis

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="coloraxis" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-cone.html b/content/reference_pages/python/2020-07-20-cone.html new file mode 100644 index 00000000000..2a65f6d6da5 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-cone.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/cone/ +layout: langindex +page_type: reference +language: python +name: cone Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: cone Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="cone" trace_data=site.data.plotschema.traces.cone %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-contour.html b/content/reference_pages/python/2020-07-20-contour.html new file mode 100644 index 00000000000..58471cf3bfe --- /dev/null +++ b/content/reference_pages/python/2020-07-20-contour.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/contour/ +layout: langindex +page_type: reference +language: python +name: contour Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: contour Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="contour" trace_data=site.data.plotschema.traces.contour %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-contourcarpet.html b/content/reference_pages/python/2020-07-20-contourcarpet.html new file mode 100644 index 00000000000..cee3ae525c1 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-contourcarpet.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/contourcarpet/ +layout: langindex +page_type: reference +language: python +name: contourcarpet Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: contourcarpet Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="contourcarpet" trace_data=site.data.plotschema.traces.contourcarpet %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-densitymap.html b/content/reference_pages/python/2020-07-20-densitymap.html new file mode 100644 index 00000000000..f7ea6577542 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-densitymap.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/densitymap/ +layout: langindex +page_type: reference +language: python +name: densitymap Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: densitymap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="densitymap" trace_data=site.data.plotschema.traces.densitymap %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-densitymapbox.html b/content/reference_pages/python/2020-07-20-densitymapbox.html new file mode 100644 index 00000000000..e29c6ee6778 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-densitymapbox.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/densitymapbox/ +layout: langindex +page_type: reference +language: python +name: densitymapbox Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: densitymapbox Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="densitymapbox" trace_data=site.data.plotschema.traces.densitymapbox %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-funnel.html b/content/reference_pages/python/2020-07-20-funnel.html new file mode 100644 index 00000000000..7a1e2de4a26 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-funnel.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/funnel/ +layout: langindex +page_type: reference +language: python +name: funnel Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: funnel Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="funnel" trace_data=site.data.plotschema.traces.funnel %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-funnelarea.html b/content/reference_pages/python/2020-07-20-funnelarea.html new file mode 100644 index 00000000000..1b4aa038a4b --- /dev/null +++ b/content/reference_pages/python/2020-07-20-funnelarea.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/funnelarea/ +layout: langindex +page_type: reference +language: python +name: funnelarea Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: funnelarea Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="funnelarea" trace_data=site.data.plotschema.traces.funnelarea %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-geo.html b/content/reference_pages/python/2020-07-20-geo.html new file mode 100644 index 00000000000..6eb79a4cc02 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-geo.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/geo/ +layout: langindex +page_type: reference +language: python +name: layout.geo +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.geo

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="geo" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-global.html b/content/reference_pages/python/2020-07-20-global.html new file mode 100644 index 00000000000..af783b74f65 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-global.html @@ -0,0 +1,26 @@ +--- +permalink: /python/reference/layout/ +layout: langindex +page_type: reference +language: python +name: layout +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="global" %} + +{%- for trace in site.data.plotschema.traces -%} +{% if trace[1].layoutAttributes %} +{% assign attribute=trace[1].layoutAttributes %} +{% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" %} +{% endif %} +{%- endfor -%} + +
+
diff --git a/content/reference_pages/python/2020-07-20-heatmap.html b/content/reference_pages/python/2020-07-20-heatmap.html new file mode 100644 index 00000000000..f3a117263bb --- /dev/null +++ b/content/reference_pages/python/2020-07-20-heatmap.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/heatmap/ +layout: langindex +page_type: reference +language: python +name: heatmap Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: heatmap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="heatmap" trace_data=site.data.plotschema.traces.heatmap %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-heatmapgl.html b/content/reference_pages/python/2020-07-20-heatmapgl.html new file mode 100644 index 00000000000..3a19bc8c757 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-heatmapgl.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/heatmapgl/ +layout: langindex +page_type: reference +language: python +name: heatmapgl Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: heatmapgl Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="heatmapgl" trace_data=site.data.plotschema.traces.heatmapgl %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-histogram.html b/content/reference_pages/python/2020-07-20-histogram.html new file mode 100644 index 00000000000..c065f32ee42 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-histogram.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/histogram/ +layout: langindex +page_type: reference +language: python +name: histogram Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: histogram Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="histogram" trace_data=site.data.plotschema.traces.histogram %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-histogram2d.html b/content/reference_pages/python/2020-07-20-histogram2d.html new file mode 100644 index 00000000000..18411d57817 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-histogram2d.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/histogram2d/ +layout: langindex +page_type: reference +language: python +name: histogram2d Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: histogram2d Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="histogram2d" trace_data=site.data.plotschema.traces.histogram2d %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-histogram2dcontour.html b/content/reference_pages/python/2020-07-20-histogram2dcontour.html new file mode 100644 index 00000000000..7e694a08d6a --- /dev/null +++ b/content/reference_pages/python/2020-07-20-histogram2dcontour.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/histogram2dcontour/ +layout: langindex +page_type: reference +language: python +name: histogram2dcontour Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: histogram2dcontour Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="histogram2dcontour" trace_data=site.data.plotschema.traces.histogram2dcontour %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-icicle.html b/content/reference_pages/python/2020-07-20-icicle.html new file mode 100644 index 00000000000..e01aba19e25 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-icicle.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/icicle/ +layout: langindex +page_type: reference +language: python +name: icicle Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: icicle Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="icicle" trace_data=site.data.plotschema.traces.icicle %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-image.html b/content/reference_pages/python/2020-07-20-image.html new file mode 100644 index 00000000000..9e4a9df5bab --- /dev/null +++ b/content/reference_pages/python/2020-07-20-image.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/image/ +layout: langindex +page_type: reference +language: python +name: image Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: image Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="image" trace_data=site.data.plotschema.traces.image %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-images.html b/content/reference_pages/python/2020-07-20-images.html new file mode 100644 index 00000000000..0cb55c3ea1c --- /dev/null +++ b/content/reference_pages/python/2020-07-20-images.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/images/ +layout: langindex +page_type: reference +language: python +name: layout.images +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.images

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="images" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-indicator.html b/content/reference_pages/python/2020-07-20-indicator.html new file mode 100644 index 00000000000..8e700c7b0c9 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-indicator.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/indicator/ +layout: langindex +page_type: reference +language: python +name: indicator Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: indicator Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="indicator" trace_data=site.data.plotschema.traces.indicator %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-isosurface.html b/content/reference_pages/python/2020-07-20-isosurface.html new file mode 100644 index 00000000000..6073dafd907 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-isosurface.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/isosurface/ +layout: langindex +page_type: reference +language: python +name: isosurface Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: isosurface Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="isosurface" trace_data=site.data.plotschema.traces.isosurface %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-mapbox.html b/content/reference_pages/python/2020-07-20-mapbox.html new file mode 100644 index 00000000000..7a033625b9b --- /dev/null +++ b/content/reference_pages/python/2020-07-20-mapbox.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/mapbox/ +layout: langindex +page_type: reference +language: python +name: layout.mapbox +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.mapbox

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="mapbox" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-mesh3d.html b/content/reference_pages/python/2020-07-20-mesh3d.html new file mode 100644 index 00000000000..13cd1284aa8 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-mesh3d.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/mesh3d/ +layout: langindex +page_type: reference +language: python +name: mesh3d Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: mesh3d Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="mesh3d" trace_data=site.data.plotschema.traces.mesh3d %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-ohlc.html b/content/reference_pages/python/2020-07-20-ohlc.html new file mode 100644 index 00000000000..b78e39c4f51 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-ohlc.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/ohlc/ +layout: langindex +page_type: reference +language: python +name: ohlc Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: ohlc Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="ohlc" trace_data=site.data.plotschema.traces.ohlc %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-parcats.html b/content/reference_pages/python/2020-07-20-parcats.html new file mode 100644 index 00000000000..e0a1430cc1d --- /dev/null +++ b/content/reference_pages/python/2020-07-20-parcats.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/parcats/ +layout: langindex +page_type: reference +language: python +name: parcats Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: parcats Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="parcats" trace_data=site.data.plotschema.traces.parcats %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-parcoords.html b/content/reference_pages/python/2020-07-20-parcoords.html new file mode 100644 index 00000000000..0a5379313cf --- /dev/null +++ b/content/reference_pages/python/2020-07-20-parcoords.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/parcoords/ +layout: langindex +page_type: reference +language: python +name: parcoords Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: parcoords Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="parcoords" trace_data=site.data.plotschema.traces.parcoords %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-pie.html b/content/reference_pages/python/2020-07-20-pie.html new file mode 100644 index 00000000000..221a45fd213 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-pie.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/pie/ +layout: langindex +page_type: reference +language: python +name: pie Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: pie Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="pie" trace_data=site.data.plotschema.traces.pie %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-pointcloud.html b/content/reference_pages/python/2020-07-20-pointcloud.html new file mode 100644 index 00000000000..4df8513d44c --- /dev/null +++ b/content/reference_pages/python/2020-07-20-pointcloud.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/pointcloud/ +layout: langindex +page_type: reference +language: python +name: pointcloud Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: pointcloud Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="pointcloud" trace_data=site.data.plotschema.traces.pointcloud %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-polar.html b/content/reference_pages/python/2020-07-20-polar.html new file mode 100644 index 00000000000..8a2d97e4b52 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-polar.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/polar/ +layout: langindex +page_type: reference +language: python +name: layout.polar +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.polar

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="polar" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-sankey.html b/content/reference_pages/python/2020-07-20-sankey.html new file mode 100644 index 00000000000..6d7821e072a --- /dev/null +++ b/content/reference_pages/python/2020-07-20-sankey.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/sankey/ +layout: langindex +page_type: reference +language: python +name: sankey Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: sankey Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="sankey" trace_data=site.data.plotschema.traces.sankey %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scatter.html b/content/reference_pages/python/2020-07-20-scatter.html new file mode 100644 index 00000000000..4487da3f9b4 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scatter.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scatter/ +layout: langindex +page_type: reference +language: python +name: scatter Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scatter Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatter" trace_data=site.data.plotschema.traces.scatter %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scatter3d.html b/content/reference_pages/python/2020-07-20-scatter3d.html new file mode 100644 index 00000000000..e5ee59b6519 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scatter3d.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scatter3d/ +layout: langindex +page_type: reference +language: python +name: scatter3d Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scatter3d Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatter3d" trace_data=site.data.plotschema.traces.scatter3d %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scattercarpet.html b/content/reference_pages/python/2020-07-20-scattercarpet.html new file mode 100644 index 00000000000..03c3268fb78 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scattercarpet.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scattercarpet/ +layout: langindex +page_type: reference +language: python +name: scattercarpet Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scattercarpet Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattercarpet" trace_data=site.data.plotschema.traces.scattercarpet %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scattergeo.html b/content/reference_pages/python/2020-07-20-scattergeo.html new file mode 100644 index 00000000000..2883f4a1b1e --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scattergeo.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scattergeo/ +layout: langindex +page_type: reference +language: python +name: scattergeo Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scattergeo Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattergeo" trace_data=site.data.plotschema.traces.scattergeo %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scattergl.html b/content/reference_pages/python/2020-07-20-scattergl.html new file mode 100644 index 00000000000..2bc3e81ba6e --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scattergl.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scattergl/ +layout: langindex +page_type: reference +language: python +name: scattergl Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scattergl Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattergl" trace_data=site.data.plotschema.traces.scattergl %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scattermap.html b/content/reference_pages/python/2020-07-20-scattermap.html new file mode 100644 index 00000000000..56a7debac52 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scattermap.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scattermap/ +layout: langindex +page_type: reference +language: python +name: scattermap Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scattermap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattermap" trace_data=site.data.plotschema.traces.scattermap %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scattermapbox.html b/content/reference_pages/python/2020-07-20-scattermapbox.html new file mode 100644 index 00000000000..36d389ee146 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scattermapbox.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scattermapbox/ +layout: langindex +page_type: reference +language: python +name: scattermapbox Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scattermapbox Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattermapbox" trace_data=site.data.plotschema.traces.scattermapbox %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scatterpolar.html b/content/reference_pages/python/2020-07-20-scatterpolar.html new file mode 100644 index 00000000000..574675f7357 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scatterpolar.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scatterpolar/ +layout: langindex +page_type: reference +language: python +name: scatterpolar Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scatterpolar Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatterpolar" trace_data=site.data.plotschema.traces.scatterpolar %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scatterpolargl.html b/content/reference_pages/python/2020-07-20-scatterpolargl.html new file mode 100644 index 00000000000..9f8c37ef96a --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scatterpolargl.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scatterpolargl/ +layout: langindex +page_type: reference +language: python +name: scatterpolargl Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scatterpolargl Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatterpolargl" trace_data=site.data.plotschema.traces.scatterpolargl %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scattersmith.html b/content/reference_pages/python/2020-07-20-scattersmith.html new file mode 100644 index 00000000000..5ae98b58ec1 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scattersmith.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scattersmith/ +layout: langindex +page_type: reference +language: python +name: scattersmith Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scattersmith Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scattersmith" trace_data=site.data.plotschema.traces.scattersmith %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scatterternary.html b/content/reference_pages/python/2020-07-20-scatterternary.html new file mode 100644 index 00000000000..2155685d7db --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scatterternary.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/scatterternary/ +layout: langindex +page_type: reference +language: python +name: scatterternary Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: scatterternary Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="scatterternary" trace_data=site.data.plotschema.traces.scatterternary %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-scene.html b/content/reference_pages/python/2020-07-20-scene.html new file mode 100644 index 00000000000..8019b25444d --- /dev/null +++ b/content/reference_pages/python/2020-07-20-scene.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/scene/ +layout: langindex +page_type: reference +language: python +name: layout.scene +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.scene

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="scene" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-selections.html b/content/reference_pages/python/2020-07-20-selections.html new file mode 100644 index 00000000000..3843b1a69b4 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-selections.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/selections/ +layout: langindex +page_type: reference +language: python +name: layout.selections +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.selections

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="selections" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-shapes.html b/content/reference_pages/python/2020-07-20-shapes.html new file mode 100644 index 00000000000..9eaca885080 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-shapes.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/shapes/ +layout: langindex +page_type: reference +language: python +name: layout.shapes +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.shapes

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="shapes" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-sliders.html b/content/reference_pages/python/2020-07-20-sliders.html new file mode 100644 index 00000000000..ba59b7e4b4e --- /dev/null +++ b/content/reference_pages/python/2020-07-20-sliders.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/sliders/ +layout: langindex +page_type: reference +language: python +name: layout.sliders +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.sliders

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="sliders" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-smith.html b/content/reference_pages/python/2020-07-20-smith.html new file mode 100644 index 00000000000..9b67a0c4b43 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-smith.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/smith/ +layout: langindex +page_type: reference +language: python +name: layout.smith +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.smith

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="smith" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-splom.html b/content/reference_pages/python/2020-07-20-splom.html new file mode 100644 index 00000000000..0b8a80039d0 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-splom.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/splom/ +layout: langindex +page_type: reference +language: python +name: splom Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: splom Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="splom" trace_data=site.data.plotschema.traces.splom %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-streamtube.html b/content/reference_pages/python/2020-07-20-streamtube.html new file mode 100644 index 00000000000..fd6731fad5d --- /dev/null +++ b/content/reference_pages/python/2020-07-20-streamtube.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/streamtube/ +layout: langindex +page_type: reference +language: python +name: streamtube Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: streamtube Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="streamtube" trace_data=site.data.plotschema.traces.streamtube %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-sunburst.html b/content/reference_pages/python/2020-07-20-sunburst.html new file mode 100644 index 00000000000..8a62a99a2b4 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-sunburst.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/sunburst/ +layout: langindex +page_type: reference +language: python +name: sunburst Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: sunburst Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="sunburst" trace_data=site.data.plotschema.traces.sunburst %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-surface.html b/content/reference_pages/python/2020-07-20-surface.html new file mode 100644 index 00000000000..899e9a2c9db --- /dev/null +++ b/content/reference_pages/python/2020-07-20-surface.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/surface/ +layout: langindex +page_type: reference +language: python +name: surface Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: surface Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="surface" trace_data=site.data.plotschema.traces.surface %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-table.html b/content/reference_pages/python/2020-07-20-table.html new file mode 100644 index 00000000000..bd108a02cf7 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-table.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/table/ +layout: langindex +page_type: reference +language: python +name: table Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: table Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="table" trace_data=site.data.plotschema.traces.table %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-ternary.html b/content/reference_pages/python/2020-07-20-ternary.html new file mode 100644 index 00000000000..001845d6c3a --- /dev/null +++ b/content/reference_pages/python/2020-07-20-ternary.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/ternary/ +layout: langindex +page_type: reference +language: python +name: layout.ternary +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.ternary

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="ternary" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-treemap.html b/content/reference_pages/python/2020-07-20-treemap.html new file mode 100644 index 00000000000..aa360a5d182 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-treemap.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/treemap/ +layout: langindex +page_type: reference +language: python +name: treemap Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: treemap Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="treemap" trace_data=site.data.plotschema.traces.treemap %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-updatemenus.html b/content/reference_pages/python/2020-07-20-updatemenus.html new file mode 100644 index 00000000000..9b407f69a00 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-updatemenus.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/updatemenus/ +layout: langindex +page_type: reference +language: python +name: layout.updatemenus +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.updatemenus

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="updatemenus" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-violin.html b/content/reference_pages/python/2020-07-20-violin.html new file mode 100644 index 00000000000..99f008f97ce --- /dev/null +++ b/content/reference_pages/python/2020-07-20-violin.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/violin/ +layout: langindex +page_type: reference +language: python +name: violin Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: violin Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="violin" trace_data=site.data.plotschema.traces.violin %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-volume.html b/content/reference_pages/python/2020-07-20-volume.html new file mode 100644 index 00000000000..b283166a0be --- /dev/null +++ b/content/reference_pages/python/2020-07-20-volume.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/volume/ +layout: langindex +page_type: reference +language: python +name: volume Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: volume Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="volume" trace_data=site.data.plotschema.traces.volume %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-waterfall.html b/content/reference_pages/python/2020-07-20-waterfall.html new file mode 100644 index 00000000000..4cc66511012 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-waterfall.html @@ -0,0 +1,18 @@ +--- +permalink: /python/reference/waterfall/ +layout: langindex +page_type: reference +language: python +name: waterfall Traces +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: waterfall Traces

+ +
+
+ + {% include posts/reference-trace.html trace_name="waterfall" trace_data=site.data.plotschema.traces.waterfall %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-xaxis.html b/content/reference_pages/python/2020-07-20-xaxis.html new file mode 100644 index 00000000000..7fc83217df4 --- /dev/null +++ b/content/reference_pages/python/2020-07-20-xaxis.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/xaxis/ +layout: langindex +page_type: reference +language: python +name: layout.xaxis +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.xaxis

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="xaxis" %} + +
+
diff --git a/content/reference_pages/python/2020-07-20-yaxis.html b/content/reference_pages/python/2020-07-20-yaxis.html new file mode 100644 index 00000000000..4f38d5e198b --- /dev/null +++ b/content/reference_pages/python/2020-07-20-yaxis.html @@ -0,0 +1,19 @@ +--- +permalink: /python/reference/layout/yaxis/ +layout: langindex +page_type: reference +language: python +name: layout.yaxis +description: Figure attribute reference for Plotly's Python open-source graphing library. +--- + +

Python Figure Reference: layout.yaxis

+ +
+
+ + {% assign attribute=site.data.plotschema.layout.layoutAttributes %} + {% include posts/reference-block.html parentlink="layout" block="layout" parentpath="layout" mustmatch="yaxis" %} + +
+
diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 00000000000..20b6c27cb6c --- /dev/null +++ b/docs/404.html @@ -0,0 +1,4518 @@ + + + + + + + + + + + + + + + + + + + Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/images/favicon.png b/docs/assets/images/favicon.png new file mode 100644 index 00000000000..1cf13b9f9d9 Binary files /dev/null and b/docs/assets/images/favicon.png differ diff --git a/docs/assets/javascripts/bundle.f55a23d4.min.js b/docs/assets/javascripts/bundle.f55a23d4.min.js new file mode 100644 index 00000000000..01a46ad8bcc --- /dev/null +++ b/docs/assets/javascripts/bundle.f55a23d4.min.js @@ -0,0 +1,16 @@ +"use strict";(()=>{var Wi=Object.create;var gr=Object.defineProperty;var Vi=Object.getOwnPropertyDescriptor;var Di=Object.getOwnPropertyNames,Vt=Object.getOwnPropertySymbols,zi=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,ao=Object.prototype.propertyIsEnumerable;var io=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&io(e,r,t[r]);if(Vt)for(var r of Vt(t))ao.call(t,r)&&io(e,r,t[r]);return e};var so=(e,t)=>{var r={};for(var o in e)yr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Vt)for(var o of Vt(e))t.indexOf(o)<0&&ao.call(e,o)&&(r[o]=e[o]);return r};var xr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ni=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Di(t))!yr.call(e,n)&&n!==r&&gr(e,n,{get:()=>t[n],enumerable:!(o=Vi(t,n))||o.enumerable});return e};var Lt=(e,t,r)=>(r=e!=null?Wi(zi(e)):{},Ni(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var co=(e,t,r)=>new Promise((o,n)=>{var i=p=>{try{s(r.next(p))}catch(c){n(c)}},a=p=>{try{s(r.throw(p))}catch(c){n(c)}},s=p=>p.done?o(p.value):Promise.resolve(p.value).then(i,a);s((r=r.apply(e,t)).next())});var lo=xr((Er,po)=>{(function(e,t){typeof Er=="object"&&typeof po!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Er,(function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(k){return!!(k&&k!==document&&k.nodeName!=="HTML"&&k.nodeName!=="BODY"&&"classList"in k&&"contains"in k.classList)}function p(k){var ft=k.type,qe=k.tagName;return!!(qe==="INPUT"&&a[ft]&&!k.readOnly||qe==="TEXTAREA"&&!k.readOnly||k.isContentEditable)}function c(k){k.classList.contains("focus-visible")||(k.classList.add("focus-visible"),k.setAttribute("data-focus-visible-added",""))}function l(k){k.hasAttribute("data-focus-visible-added")&&(k.classList.remove("focus-visible"),k.removeAttribute("data-focus-visible-added"))}function f(k){k.metaKey||k.altKey||k.ctrlKey||(s(r.activeElement)&&c(r.activeElement),o=!0)}function u(k){o=!1}function d(k){s(k.target)&&(o||p(k.target))&&c(k.target)}function y(k){s(k.target)&&(k.target.classList.contains("focus-visible")||k.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(k.target))}function L(k){document.visibilityState==="hidden"&&(n&&(o=!0),X())}function X(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function ee(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(k){k.target.nodeName&&k.target.nodeName.toLowerCase()==="html"||(o=!1,ee())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",L,!0),X(),r.addEventListener("focus",d,!0),r.addEventListener("blur",y,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)}))});var qr=xr((dy,On)=>{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var $a=/["'&<>]/;On.exports=Pa;function Pa(e){var t=""+e,r=$a.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Rt=="object"&&typeof Yr=="object"?Yr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Rt=="object"?Rt.ClipboardJS=r():t.ClipboardJS=r()})(Rt,function(){return(function(){var e={686:(function(o,n,i){"use strict";i.d(n,{default:function(){return Ui}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function u(D){try{return document.execCommand(D)}catch(A){return!1}}var d=function(A){var M=f()(A);return u("cut"),M},y=d;function L(D){var A=document.documentElement.getAttribute("dir")==="rtl",M=document.createElement("textarea");M.style.fontSize="12pt",M.style.border="0",M.style.padding="0",M.style.margin="0",M.style.position="absolute",M.style[A?"right":"left"]="-9999px";var F=window.pageYOffset||document.documentElement.scrollTop;return M.style.top="".concat(F,"px"),M.setAttribute("readonly",""),M.value=D,M}var X=function(A,M){var F=L(A);M.container.appendChild(F);var V=f()(F);return u("copy"),F.remove(),V},ee=function(A){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},F="";return typeof A=="string"?F=X(A,M):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?F=X(A.value,M):(F=f()(A),u("copy")),F},J=ee;function k(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?k=function(M){return typeof M}:k=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},k(D)}var ft=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=A.action,F=M===void 0?"copy":M,V=A.container,Y=A.target,$e=A.text;if(F!=="copy"&&F!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Y!==void 0)if(Y&&k(Y)==="object"&&Y.nodeType===1){if(F==="copy"&&Y.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(F==="cut"&&(Y.hasAttribute("readonly")||Y.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if($e)return J($e,{container:V});if(Y)return F==="cut"?y(Y):J(Y,{container:V})},qe=ft;function Fe(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fe=function(M){return typeof M}:Fe=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},Fe(D)}function ki(D,A){if(!(D instanceof A))throw new TypeError("Cannot call a class as a function")}function no(D,A){for(var M=0;M0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof V.action=="function"?V.action:this.defaultAction,this.target=typeof V.target=="function"?V.target:this.defaultTarget,this.text=typeof V.text=="function"?V.text:this.defaultText,this.container=Fe(V.container)==="object"?V.container:document.body}},{key:"listenClick",value:function(V){var Y=this;this.listener=c()(V,"click",function($e){return Y.onClick($e)})}},{key:"onClick",value:function(V){var Y=V.delegateTarget||V.currentTarget,$e=this.action(Y)||"copy",Wt=qe({action:$e,container:this.container,target:this.target(Y),text:this.text(Y)});this.emit(Wt?"success":"error",{action:$e,text:Wt,trigger:Y,clearSelection:function(){Y&&Y.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(V){return vr("action",V)}},{key:"defaultTarget",value:function(V){var Y=vr("target",V);if(Y)return document.querySelector(Y)}},{key:"defaultText",value:function(V){return vr("text",V)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(V){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(V,Y)}},{key:"cut",value:function(V){return y(V)}},{key:"isSupported",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Y=typeof V=="string"?[V]:V,$e=!!document.queryCommandSupported;return Y.forEach(function(Wt){$e=$e&&!!document.queryCommandSupported(Wt)}),$e}}]),M})(s()),Ui=Fi}),828:(function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,p){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}o.exports=a}),438:(function(o,n,i){var a=i(828);function s(l,f,u,d,y){var L=c.apply(this,arguments);return l.addEventListener(u,L,y),{destroy:function(){l.removeEventListener(u,L,y)}}}function p(l,f,u,d,y){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(L){return s(L,f,u,d,y)}))}function c(l,f,u,d){return function(y){y.delegateTarget=a(y.target,f),y.delegateTarget&&d.call(l,y)}}o.exports=p}),879:(function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}}),370:(function(o,n,i){var a=i(879),s=i(438);function p(u,d,y){if(!u&&!d&&!y)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(y))throw new TypeError("Third argument must be a Function");if(a.node(u))return c(u,d,y);if(a.nodeList(u))return l(u,d,y);if(a.string(u))return f(u,d,y);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(u,d,y){return u.addEventListener(d,y),{destroy:function(){u.removeEventListener(d,y)}}}function l(u,d,y){return Array.prototype.forEach.call(u,function(L){L.addEventListener(d,y)}),{destroy:function(){Array.prototype.forEach.call(u,function(L){L.removeEventListener(d,y)})}}}function f(u,d,y){return s(document.body,u,d,y)}o.exports=p}),817:(function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}o.exports=n}),279:(function(o){function n(){}n.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function z(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function q(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||p(d,L)})},y&&(n[d]=y(n[d])))}function p(d,y){try{c(o[d](y))}catch(L){u(i[0][3],L)}}function c(d){d.value instanceof nt?Promise.resolve(d.value.v).then(l,f):u(i[0][2],d)}function l(d){p("next",d)}function f(d){p("throw",d)}function u(d,y){d(y),i.shift(),i.length&&p(i[0][0],i[0][1])}}function uo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof he=="function"?he(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,p){a=e[i](a),n(s,p,a.done,a.value)})}}function n(i,a,s,p){Promise.resolve(p).then(function(c){i({value:c,done:s})},a)}}function H(e){return typeof e=="function"}function ut(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var zt=ut(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Qe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ue=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=he(a),p=s.next();!p.done;p=s.next()){var c=p.value;c.remove(this)}}catch(L){t={error:L}}finally{try{p&&!p.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(H(l))try{l()}catch(L){i=L instanceof zt?L.errors:[L]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=he(f),d=u.next();!d.done;d=u.next()){var y=d.value;try{ho(y)}catch(L){i=i!=null?i:[],L instanceof zt?i=q(q([],z(i)),z(L.errors)):i.push(L)}}}catch(L){o={error:L}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new zt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ho(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Qe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Qe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})();var Tr=Ue.EMPTY;function Nt(e){return e instanceof Ue||e&&"closed"in e&&H(e.remove)&&H(e.add)&&H(e.unsubscribe)}function ho(e){H(e)?e():e.unsubscribe()}var Pe={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var dt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Tr:(this.currentObservers=null,s.push(r),new Ue(function(){o.currentObservers=null,Qe(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new To(r,o)},t})(j);var To=(function(e){oe(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Tr},t})(g);var _r=(function(e){oe(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t})(g);var _t={now:function(){return(_t.delegate||Date).now()},delegate:void 0};var At=(function(e){oe(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=_t);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,p=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+p)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),p=0;p0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t})(gt);var Lo=(function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t})(yt);var kr=new Lo(Oo);var Mo=(function(e){oe(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=vt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&o===r._scheduled&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(vt.cancelAnimationFrame(o),r._scheduled=void 0)},t})(gt);var _o=(function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o;r?o=r.id:(o=this._scheduled,this._scheduled=void 0);var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t})(yt);var me=new _o(Mo);var S=new j(function(e){return e.complete()});function Kt(e){return e&&H(e.schedule)}function Hr(e){return e[e.length-1]}function Xe(e){return H(Hr(e))?e.pop():void 0}function ke(e){return Kt(Hr(e))?e.pop():void 0}function Yt(e,t){return typeof Hr(e)=="number"?e.pop():t}var xt=(function(e){return e&&typeof e.length=="number"&&typeof e!="function"});function Bt(e){return H(e==null?void 0:e.then)}function Gt(e){return H(e[bt])}function Jt(e){return Symbol.asyncIterator&&H(e==null?void 0:e[Symbol.asyncIterator])}function Xt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Zt=Zi();function er(e){return H(e==null?void 0:e[Zt])}function tr(e){return fo(this,arguments,function(){var r,o,n,i;return Dt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,nt(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,nt(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,nt(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function rr(e){return H(e==null?void 0:e.getReader)}function U(e){if(e instanceof j)return e;if(e!=null){if(Gt(e))return ea(e);if(xt(e))return ta(e);if(Bt(e))return ra(e);if(Jt(e))return Ao(e);if(er(e))return oa(e);if(rr(e))return na(e)}throw Xt(e)}function ea(e){return new j(function(t){var r=e[bt]();if(H(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function ta(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):le,Te(1),r?Ve(t):Qo(function(){return new nr}))}}function jr(e){return e<=0?function(){return S}:E(function(t,r){var o=[];t.subscribe(T(r,function(n){o.push(n),e=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,p=s===void 0?!0:s;return function(c){var l,f,u,d=0,y=!1,L=!1,X=function(){f==null||f.unsubscribe(),f=void 0},ee=function(){X(),l=u=void 0,y=L=!1},J=function(){var k=l;ee(),k==null||k.unsubscribe()};return E(function(k,ft){d++,!L&&!y&&X();var qe=u=u!=null?u:r();ft.add(function(){d--,d===0&&!L&&!y&&(f=Ur(J,p))}),qe.subscribe(ft),!l&&d>0&&(l=new at({next:function(Fe){return qe.next(Fe)},error:function(Fe){L=!0,X(),f=Ur(ee,n,Fe),qe.error(Fe)},complete:function(){y=!0,X(),f=Ur(ee,a),qe.complete()}}),U(k).subscribe(l))})(c)}}function Ur(e,t){for(var r=[],o=2;oe.next(document)),e}function P(e,t=document){return Array.from(t.querySelectorAll(e))}function R(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(e,t=document){return t.querySelector(e)||void 0}function Ie(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var wa=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(_e(1),Q(void 0),m(()=>Ie()||document.body),G(1));function et(e){return wa.pipe(m(t=>e.contains(t)),K())}function Ht(e,t){return C(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?kt(r=>Le(+!r*t)):le,Q(e.matches(":hover"))))}function Jo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Jo(e,r)}function x(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)Jo(o,n);return o}function sr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function wt(e){let t=x("script",{src:e});return C(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(v(()=>$r(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),Te(1))))}var Xo=new g,Ta=C(()=>typeof ResizeObserver=="undefined"?wt("https://unpkg.com/resize-observer-polyfill"):I(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>Xo.next(t)))),v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function ce(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return Ta.pipe(w(r=>r.observe(t)),v(r=>Xo.pipe(b(o=>o.target===t),_(()=>r.unobserve(t)))),m(()=>ce(e)),Q(ce(e)))}function Tt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function cr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function Zo(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function De(e){return{x:e.offsetLeft,y:e.offsetTop}}function en(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function tn(e){return O(h(window,"load"),h(window,"resize")).pipe(Me(0,me),m(()=>De(e)),Q(De(e)))}function pr(e){return{x:e.scrollLeft,y:e.scrollTop}}function ze(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe(Me(0,me),m(()=>pr(e)),Q(pr(e)))}var rn=new g,Sa=C(()=>I(new IntersectionObserver(e=>{for(let t of e)rn.next(t)},{threshold:0}))).pipe(v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function tt(e){return Sa.pipe(w(t=>t.observe(e)),v(t=>rn.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function on(e,t=16){return ze(e).pipe(m(({y:r})=>{let o=ce(e),n=Tt(e);return r>=n.height-o.height-t}),K())}var lr={drawer:R("[data-md-toggle=drawer]"),search:R("[data-md-toggle=search]")};function nn(e){return lr[e].checked}function Je(e,t){lr[e].checked!==t&&lr[e].click()}function Ne(e){let t=lr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Oa(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function La(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function an(){let e=h(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:nn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Ie();if(typeof o!="undefined")return!Oa(o,r)}return!0}),pe());return La().pipe(v(t=>t?S:e))}function ye(){return new URL(location.href)}function lt(e,t=!1){if(B("navigation.instant")&&!t){let r=x("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function sn(){return new g}function cn(){return location.hash.slice(1)}function pn(e){let t=x("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Ma(e){return O(h(window,"hashchange"),e).pipe(m(cn),Q(cn()),b(t=>t.length>0),G(1))}function ln(e){return Ma(e).pipe(m(t=>fe(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function $t(e){let t=matchMedia(e);return ir(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function mn(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function zr(e,t){return e.pipe(v(r=>r?t():S))}function Nr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function je(e,t){return Nr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),G(1))}function fn(e,t){let r=new DOMParser;return Nr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),G(1))}function un(e,t){let r=new DOMParser;return Nr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),G(1))}function dn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function hn(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(dn),Q(dn()))}function bn(){return{width:innerWidth,height:innerHeight}}function vn(){return h(window,"resize",{passive:!0}).pipe(m(bn),Q(bn()))}function gn(){return N([hn(),vn()]).pipe(m(([e,t])=>({offset:e,size:t})),G(1))}function mr(e,{viewport$:t,header$:r}){let o=t.pipe(te("size")),n=N([o,r]).pipe(m(()=>De(e)));return N([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:p,y:c}])=>({offset:{x:a.x-p,y:a.y-c+i},size:s})))}function _a(e){return h(e,"message",t=>t.data)}function Aa(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function yn(e,t=new Worker(e)){let r=_a(t),o=Aa(t),n=new g;n.subscribe(o);let i=o.pipe(Z(),ie(!0));return n.pipe(Z(),Re(r.pipe(W(i))),pe())}var Ca=R("#__config"),St=JSON.parse(Ca.textContent);St.base=`${new URL(St.base,ye())}`;function xe(){return St}function B(e){return St.features.includes(e)}function Ee(e,t){return typeof t!="undefined"?St.translations[e].replace("#",t.toString()):St.translations[e]}function Se(e,t=document){return R(`[data-md-component=${e}]`,t)}function ae(e,t=document){return P(`[data-md-component=${e}]`,t)}function ka(e){let t=R(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>R(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function xn(e){if(!B("announce.dismiss")||!e.childElementCount)return S;if(!e.hidden){let t=R(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return C(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),ka(e).pipe(w(r=>t.next(r)),_(()=>t.complete()),m(r=>$({ref:e},r)))})}function Ha(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function En(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),Ha(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))}function Pt(e,t){return t==="inline"?x("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"})):x("div",{class:"md-tooltip",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"}))}function wn(...e){return x("div",{class:"md-tooltip2",role:"tooltip"},x("div",{class:"md-tooltip2__inner md-typeset"},e))}function Tn(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("a",{href:r,class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}else return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("span",{class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}function Sn(e){return x("button",{class:"md-clipboard md-icon",title:Ee("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}var Ln=Lt(qr());function Qr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(p=>!e.terms[p]).reduce((p,c)=>[...p,x("del",null,(0,Ln.default)(c))," "],[]).slice(0,-1),i=xe(),a=new URL(e.location,i.base);B("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,p])=>p).reduce((p,[c])=>`${p} ${c}`.trim(),""));let{tags:s}=xe();return x("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},x("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&x("div",{class:"md-search-result__icon md-icon"}),r>0&&x("h1",null,e.title),r<=0&&x("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&x("nav",{class:"md-tags"},e.tags.map(p=>{let c=s?p in s?`md-tag-icon md-tag--${s[p]}`:"md-tag-icon":"";return x("span",{class:`md-tag ${c}`},p)})),o>0&&n.length>0&&x("p",{class:"md-search-result__terms"},Ee("search.result.term.missing"),": ",...n)))}function Mn(e){let t=e[0].score,r=[...e],o=xe(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreQr(l,1)),...p.length?[x("details",{class:"md-search-result__more"},x("summary",{tabIndex:-1},x("div",null,p.length>0&&p.length===1?Ee("search.result.more.one"):Ee("search.result.more.other",p.length))),...p.map(l=>Qr(l,1)))]:[]];return x("li",{class:"md-search-result__item"},c)}function _n(e){return x("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>x("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?sr(r):r)))}function Kr(e){let t=`tabbed-control tabbed-control--${e}`;return x("div",{class:t,hidden:!0},x("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function An(e){return x("div",{class:"md-typeset__scrollwrap"},x("div",{class:"md-typeset__table"},e))}function Ra(e){var o;let t=xe(),r=new URL(`../${e.version}/`,t.base);return x("li",{class:"md-version__item"},x("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&x("span",{class:"md-version__alias"},e.aliases[0])))}function Cn(e,t){var o;let r=xe();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),x("div",{class:"md-version"},x("button",{class:"md-version__current","aria-label":Ee("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&x("span",{class:"md-version__alias"},t.aliases[0])),x("ul",{class:"md-version__list"},e.map(Ra)))}var Ia=0;function ja(e){let t=N([et(e),Ht(e)]).pipe(m(([o,n])=>o||n),K()),r=C(()=>Zo(e)).pipe(ne(ze),pt(1),He(t),m(()=>en(e)));return t.pipe(Ae(o=>o),v(()=>N([t,r])),m(([o,n])=>({active:o,offset:n})),pe())}function Fa(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Ia++}`;return C(()=>{let i=new g,a=new _r(!1);i.pipe(Z(),ie(!1)).subscribe(a);let s=a.pipe(kt(c=>Le(+!c*250,kr)),K(),v(c=>c?r:S),w(c=>c.id=n),pe());N([i.pipe(m(({active:c})=>c)),s.pipe(v(c=>Ht(c,250)),Q(!1))]).pipe(m(c=>c.some(l=>l))).subscribe(a);let p=a.pipe(b(c=>c),re(s,o),m(([c,l,{size:f}])=>{let u=e.getBoundingClientRect(),d=u.width/2;if(l.role==="tooltip")return{x:d,y:8+u.height};if(u.y>=f.height/2){let{height:y}=ce(l);return{x:d,y:-16-y}}else return{x:d,y:16+u.height}}));return N([s,i,p]).subscribe(([c,{offset:l},f])=>{c.style.setProperty("--md-tooltip-host-x",`${l.x}px`),c.style.setProperty("--md-tooltip-host-y",`${l.y}px`),c.style.setProperty("--md-tooltip-x",`${f.x}px`),c.style.setProperty("--md-tooltip-y",`${f.y}px`),c.classList.toggle("md-tooltip2--top",f.y<0),c.classList.toggle("md-tooltip2--bottom",f.y>=0)}),a.pipe(b(c=>c),re(s,(c,l)=>l),b(c=>c.role==="tooltip")).subscribe(c=>{let l=ce(R(":scope > *",c));c.style.setProperty("--md-tooltip-width",`${l.width}px`),c.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(K(),ve(me),re(s)).subscribe(([c,l])=>{l.classList.toggle("md-tooltip2--active",c)}),N([a.pipe(b(c=>c)),s]).subscribe(([c,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),a.pipe(b(c=>!c)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),ja(e).pipe(w(c=>i.next(c)),_(()=>i.complete()),m(c=>$({ref:e},c)))})}function mt(e,{viewport$:t},r=document.body){return Fa(e,{content$:new j(o=>{let n=e.title,i=wn(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t})}function Ua(e,t){let r=C(()=>N([tn(e),ze(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=ce(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return et(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),Te(+!o||1/0))))}function kn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return C(()=>{let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),tt(e).pipe(W(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),O(i.pipe(b(({active:s})=>s)),i.pipe(_e(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Me(16,me)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(W(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),h(n,"mousedown").pipe(W(a),re(i)).subscribe(([s,{active:p}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(p){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(c=Ie())==null||c.blur()}}),r.pipe(W(a),b(s=>s===o),Ge(125)).subscribe(()=>e.focus()),Ua(e,t).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function Wa(e){return e.tagName==="CODE"?P(".c, .c1, .cm",e):[e]}function Va(e){let t=[];for(let r of Wa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,p]=a;if(typeof p=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function Hn(e,t){t.append(...Array.from(e.childNodes))}function fr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Va(t)){let[,p]=s.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${p})`,e)&&(a.set(p,Tn(p,i)),s.replaceWith(a.get(p)))}return a.size===0?S:C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=[];for(let[l,f]of a)c.push([R(".md-typeset",f),R(`:scope > li:nth-child(${l})`,e)]);return o.pipe(W(p)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of c)l?Hn(f,u):Hn(u,f)}),O(...[...a].map(([,l])=>kn(l,t,{target$:r}))).pipe(_(()=>s.complete()),pe())})}function $n(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return $n(t)}}function Pn(e,t){return C(()=>{let r=$n(e);return typeof r!="undefined"?fr(r,e,t):S})}var Rn=Lt(Br());var Da=0;function In(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return In(t)}}function za(e){return ge(e).pipe(m(({width:t})=>({scrollable:Tt(e).width>t})),te("scrollable"))}function jn(e,t){let{matches:r}=matchMedia("(hover)"),o=C(()=>{let n=new g,i=n.pipe(jr(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Rn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${Da++}`;let l=Sn(c.id);c.insertBefore(l,e),B("content.tooltips")&&a.push(mt(l,{viewport$}))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=In(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||B("content.code.annotate"))){let l=fr(c,e,t);a.push(ge(s).pipe(W(i),m(({width:f,height:u})=>f&&u),K(),v(f=>f?l:S)))}}return P(":scope > span[id]",e).length&&e.classList.add("md-code__content"),za(e).pipe(w(c=>n.next(c)),_(()=>n.complete()),m(c=>$({ref:e},c)),Re(...a))});return B("content.lazy")?tt(e).pipe(b(n=>n),Te(1),v(()=>o)):o}function Na(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),w(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Fn(e,t){return C(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Na(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}var Un=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.flowchartTitleText{fill:var(--md-mermaid-label-fg-color)}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color)}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}.classDiagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs marker.marker.composition.class path,defs marker.marker.dependency.class path,defs marker.marker.extension.class path{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs marker.marker.aggregation.class path{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}.statediagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}[id^=entity] path,[id^=entity] rect{fill:var(--md-default-bg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs .marker.oneOrMore.er *,defs .marker.onlyOne.er *,defs .marker.zeroOrMore.er *,defs .marker.zeroOrOne.er *{stroke:var(--md-mermaid-edge-color)!important}text:not([class]):last-child{fill:var(--md-mermaid-label-fg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var Gr,Qa=0;function Ka(){return typeof mermaid=="undefined"||mermaid instanceof Element?wt("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):I(void 0)}function Wn(e){return e.classList.remove("mermaid"),Gr||(Gr=Ka().pipe(w(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Un,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),G(1))),Gr.subscribe(()=>co(null,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${Qa++}`,r=x("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),Gr.pipe(m(()=>({ref:e})))}var Vn=x("table");function Dn(e){return e.replaceWith(Vn),Vn.replaceWith(An(e)),I({ref:e})}function Ya(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>R(`label[for="${r.id}"]`))))).pipe(Q(R(`label[for="${t.id}"]`)),m(r=>({active:r})))}function zn(e,{viewport$:t,target$:r}){let o=R(".tabbed-labels",e),n=P(":scope > input",e),i=Kr("prev");e.append(i);let a=Kr("next");return e.append(a),C(()=>{let s=new g,p=s.pipe(Z(),ie(!0));N([s,ge(e),tt(e)]).pipe(W(p),Me(1,me)).subscribe({next([{active:c},l]){let f=De(c),{width:u}=ce(c);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=pr(o);(f.xd.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),N([ze(o),ge(o)]).pipe(W(p)).subscribe(([c,l])=>{let f=Tt(o);i.hidden=c.x<16,a.hidden=c.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(a,"click").pipe(m(()=>1))).pipe(W(p)).subscribe(c=>{let{width:l}=ce(o);o.scrollBy({left:l*c,behavior:"smooth"})}),r.pipe(W(p),b(c=>n.includes(c))).subscribe(c=>c.click()),o.classList.add("tabbed-labels--linked");for(let c of n){let l=R(`label[for="${c.id}"]`);l.replaceChildren(x("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(W(p),b(f=>!(f.metaKey||f.ctrlKey)),w(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&s.pipe(Ce(1),re(t)).subscribe(([{active:c},{offset:l}])=>{let f=c.innerText.trim();if(c.hasAttribute("data-md-switching"))c.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let y of P("[data-tabs]"))for(let L of P(":scope > input",y)){let X=R(`label[for="${L.id}"]`);if(X!==c&&X.innerText.trim()===f){X.setAttribute("data-md-switching",""),L.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),s.pipe(W(p)).subscribe(()=>{for(let c of P("audio, video",e))c.offsetWidth&&c.autoplay?c.play().catch(()=>{}):c.pause()}),Ya(n).pipe(w(c=>s.next(c)),_(()=>s.complete()),m(c=>$({ref:e},c)))}).pipe(Ke(se))}function Nn(e,{viewport$:t,target$:r,print$:o}){return O(...P(".annotate:not(.highlight)",e).map(n=>Pn(n,{target$:r,print$:o})),...P("pre:not(.mermaid) > code",e).map(n=>jn(n,{target$:r,print$:o})),...P("pre.mermaid",e).map(n=>Wn(n)),...P("table:not([class])",e).map(n=>Dn(n)),...P("details",e).map(n=>Fn(n,{target$:r,print$:o})),...P("[data-tabs]",e).map(n=>zn(n,{viewport$:t,target$:r})),...P("[title]",e).filter(()=>B("content.tooltips")).map(n=>mt(n,{viewport$:t})))}function Ba(e,{alert$:t}){return t.pipe(v(r=>O(I(!0),I(!1).pipe(Ge(2e3))).pipe(m(o=>({message:r,active:o})))))}function qn(e,t){let r=R(".md-typeset",e);return C(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ba(e,t).pipe(w(n=>o.next(n)),_(()=>o.complete()),m(n=>$({ref:e},n)))})}var Ga=0;function Ja(e,t){document.body.append(e);let{width:r}=ce(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=cr(t),n=typeof o!="undefined"?ze(o):I({x:0,y:0}),i=O(et(t),Ht(t)).pipe(K());return N([i,n]).pipe(m(([a,s])=>{let{x:p,y:c}=De(t),l=ce(t),f=t.closest("table");return f&&t.parentElement&&(p+=f.offsetLeft+t.parentElement.offsetLeft,c+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:p-s.x+l.width/2-r/2,y:c-s.y+l.height+8}}}))}function Qn(e){let t=e.title;if(!t.length)return S;let r=`__tooltip_${Ga++}`,o=Pt(r,"inline"),n=R(".md-typeset",o);return n.innerHTML=t,C(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(b(({active:a})=>a)),i.pipe(_e(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Me(16,me)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ja(o,e).pipe(w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))}).pipe(Ke(se))}function Xa({viewport$:e}){if(!B("header.autohide"))return I(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Be(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),K()),o=Ne("search");return N([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),K(),v(n=>n?r:I(!1)),Q(!1))}function Kn(e,t){return C(()=>N([ge(e),Xa(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),K((r,o)=>r.height===o.height&&r.hidden===o.hidden),G(1))}function Yn(e,{header$:t,main$:r}){return C(()=>{let o=new g,n=o.pipe(Z(),ie(!0));o.pipe(te("active"),He(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=ue(P("[title]",e)).pipe(b(()=>B("content.tooltips")),ne(a=>Qn(a)));return r.subscribe(o),t.pipe(W(n),m(a=>$({ref:e},a)),Re(i.pipe(W(n))))})}function Za(e,{viewport$:t,header$:r}){return mr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ce(e);return{active:n>0&&o>=n}}),te("active"))}function Bn(e,t){return C(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?S:Za(o,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))})}function Gn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),K()),n=o.pipe(v(()=>ge(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),te("bottom"))));return N([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:p},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-p,i)-Math.max(0,c+p-s)),{offset:a-i,height:c,active:a-i<=p})),K((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function es(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return I(...e).pipe(ne(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),G(1))}function Jn(e){let t=P("input",e),r=x("meta",{name:"theme-color"});document.head.appendChild(r);let o=x("meta",{name:"color-scheme"});document.head.appendChild(o);let n=$t("(prefers-color-scheme: light)");return C(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),p=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=p.getAttribute("data-md-color-scheme"),a.color.primary=p.getAttribute("data-md-color-primary"),a.color.accent=p.getAttribute("data-md-color-accent")}for(let[s,p]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,p);for(let s=0;sa.key==="Enter"),re(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Se("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(p=>(+p).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(ve(se)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),es(t).pipe(W(n.pipe(Ce(1))),ct(),w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))})}function Xn(e,{progress$:t}){return C(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(w(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Jr=Lt(Br());function ts(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Zn({alert$:e}){Jr.default.isSupported()&&new j(t=>{new Jr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ts(R(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(w(t=>{t.trigger.focus()}),m(()=>Ee("clipboard.copied"))).subscribe(e)}function ei(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function rs(e,t){let r=new Map;for(let o of P("url",e)){let n=R("loc",o),i=[ei(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of P("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(ei(new URL(s),t))}}return r}function ur(e){return un(new URL("sitemap.xml",e)).pipe(m(t=>rs(t,new URL(e))),de(()=>I(new Map)))}function os(e,t){if(!(e.target instanceof Element))return S;let r=e.target.closest("a");if(r===null)return S;if(r.target||e.metaKey||e.ctrlKey)return S;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),I(new URL(r.href))):S}function ti(e){let t=new Map;for(let r of P(":scope > *",e.head))t.set(r.outerHTML,r);return t}function ri(e){for(let t of P("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return I(e)}function ns(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=ti(document);for(let[o,n]of ti(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Se("container");return We(P("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),S}),Z(),ie(document))}function oi({location$:e,viewport$:t,progress$:r}){let o=xe();if(location.protocol==="file:")return S;let n=ur(o.base);I(document).subscribe(ri);let i=h(document.body,"click").pipe(He(n),v(([p,c])=>os(p,c)),pe()),a=h(window,"popstate").pipe(m(ye),pe());i.pipe(re(t)).subscribe(([p,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",p)}),O(i,a).subscribe(e);let s=e.pipe(te("pathname"),v(p=>fn(p,{progress$:r}).pipe(de(()=>(lt(p,!0),S)))),v(ri),v(ns),pe());return O(s.pipe(re(e,(p,c)=>c)),s.pipe(v(()=>e),te("hash")),e.pipe(K((p,c)=>p.pathname===c.pathname&&p.hash===c.hash),v(()=>i),w(()=>history.back()))).subscribe(p=>{var c,l;history.state!==null||!p.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",pn(p.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(te("offset"),_e(100)).subscribe(({offset:p})=>{history.replaceState(p,"")}),s}var ni=Lt(qr());function ii(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").replace(/&/g,"&").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,ni.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function It(e){return e.type===1}function dr(e){return e.type===3}function ai(e,t){let r=yn(e);return O(I(location.protocol!=="file:"),Ne("search")).pipe(Ae(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function si(e){var l;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:o,currentBaseURL:n}=e,i=(l=Xr(n))==null?void 0:l.pathname;if(i===void 0)return;let a=ss(o.pathname,i);if(a===void 0)return;let s=ps(t.keys());if(!t.has(s))return;let p=Xr(a,s);if(!p||!t.has(p.href))return;let c=Xr(a,r);if(c)return c.hash=o.hash,c.search=o.search,c}function Xr(e,t){try{return new URL(e,t)}catch(r){return}}function ss(e,t){if(e.startsWith(t))return e.slice(t.length)}function cs(e,t){let r=Math.min(e.length,t.length),o;for(o=0;oS)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>h(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),re(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let p=s.href;return!i.target.closest(".md-version")&&n.get(p)===a?S:(i.preventDefault(),I(new URL(p)))}}return S}),v(i=>ur(i).pipe(m(a=>{var s;return(s=si({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:ye(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(n=>lt(n,!0)),N([r,o]).subscribe(([n,i])=>{R(".md-header__topic").appendChild(Cn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var s;let i=new URL(t.base),a=__md_get("__outdated",sessionStorage,i);if(a===null){a=!0;let p=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(p)||(p=[p]);e:for(let c of p)for(let l of n.aliases.concat(n.version))if(new RegExp(c,"i").test(l)){a=!1;break e}__md_set("__outdated",a,sessionStorage,i)}if(a)for(let p of ae("outdated"))p.hidden=!1})}function ls(e,{worker$:t}){let{searchParams:r}=ye();r.has("q")&&(Je("search",!0),e.value=r.get("q"),e.focus(),Ne("search").pipe(Ae(i=>!i)).subscribe(()=>{let i=ye();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=et(e),n=O(t.pipe(Ae(It)),h(e,"keyup"),o).pipe(m(()=>e.value),K());return N([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),G(1))}function pi(e,{worker$:t}){let r=new g,o=r.pipe(Z(),ie(!0));N([t.pipe(Ae(It)),r],(i,a)=>a).pipe(te("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(te("focus")).subscribe(({focus:i})=>{i&&Je("search",i)}),h(e.form,"reset").pipe(W(o)).subscribe(()=>e.focus());let n=R("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),ls(e,{worker$:t}).pipe(w(i=>r.next(i)),_(()=>r.complete()),m(i=>$({ref:e},i)),G(1))}function li(e,{worker$:t,query$:r}){let o=new g,n=on(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=R(":scope > :first-child",e),s=R(":scope > :last-child",e);Ne("search").subscribe(l=>{s.setAttribute("role",l?"list":"presentation"),s.hidden=!l}),o.pipe(re(r),Wr(t.pipe(Ae(It)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?Ee("search.result.none"):Ee("search.result.placeholder");break;case 1:a.textContent=Ee("search.result.one");break;default:let u=sr(l.length);a.textContent=Ee("search.result.other",u)}});let p=o.pipe(w(()=>s.innerHTML=""),v(({items:l})=>O(I(...l.slice(0,10)),I(...l.slice(10)).pipe(Be(4),Dr(n),v(([f])=>f)))),m(Mn),pe());return p.subscribe(l=>s.appendChild(l)),p.pipe(ne(l=>{let f=fe("details",l);return typeof f=="undefined"?S:h(f,"toggle").pipe(W(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(dr),m(({data:l})=>l)).pipe(w(l=>o.next(l)),_(()=>o.complete()),m(l=>$({ref:e},l)))}function ms(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ye();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function mi(e,t){let r=new g,o=r.pipe(Z(),ie(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(W(o)).subscribe(n=>n.preventDefault()),ms(e,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))}function fi(e,{worker$:t,keyboard$:r}){let o=new g,n=Se("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(ve(se),m(()=>n.value),K());return o.pipe(He(i),m(([{suggest:s},p])=>{let c=p.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let l=s[s.length-1];l.startsWith(c[c.length-1])&&(c[c.length-1]=l)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(dr),m(({data:s})=>s)).pipe(w(s=>o.next(s)),_(()=>o.complete()),m(()=>({ref:e})))}function ui(e,{index$:t,keyboard$:r}){let o=xe();try{let n=ai(o.search,t),i=Se("search-query",e),a=Se("search-result",e);h(e,"click").pipe(b(({target:p})=>p instanceof Element&&!!p.closest("a"))).subscribe(()=>Je("search",!1)),r.pipe(b(({mode:p})=>p==="search")).subscribe(p=>{let c=Ie();switch(p.type){case"Enter":if(c===i){let l=new Map;for(let f of P(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}p.claim()}break;case"Escape":case"Tab":Je("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let l=[i,...P(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(c))+l.length+(p.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}p.claim();break;default:i!==Ie()&&i.focus()}}),r.pipe(b(({mode:p})=>p==="global")).subscribe(p=>{switch(p.type){case"f":case"s":case"/":i.focus(),i.select(),p.claim();break}});let s=pi(i,{worker$:n});return O(s,li(a,{worker$:n,query$:s})).pipe(Re(...ae("search-share",e).map(p=>mi(p,{query$:s})),...ae("search-suggest",e).map(p=>fi(p,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ye}}function di(e,{index$:t,location$:r}){return N([t,r.pipe(Q(ye()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>ii(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let p=s.textContent,c=o(p);c.length>p.length&&n.set(s,c)}for(let[s,p]of n){let{childNodes:c}=x("span",null,p);s.replaceWith(...Array.from(c))}return{ref:e,nodes:n}}))}function fs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return N([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),K((i,a)=>i.height===a.height&&i.locked===a.locked))}function Zr(e,o){var n=o,{header$:t}=n,r=so(n,["header$"]);let i=R(".md-sidebar__scrollwrap",e),{y:a}=De(i);return C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=s.pipe(Me(0,me));return c.pipe(re(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),c.pipe(Ae()).subscribe(()=>{for(let l of P(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2})}}}),ue(P("label[tabindex]",e)).pipe(ne(l=>h(l,"click").pipe(ve(se),m(()=>l),W(p)))).subscribe(l=>{let f=R(`[id="${l.htmlFor}"]`);R(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),fs(e,r).pipe(w(l=>s.next(l)),_(()=>s.complete()),m(l=>$({ref:e},l)))})}function hi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return st(je(`${r}/releases/latest`).pipe(de(()=>S),m(o=>({version:o.tag_name})),Ve({})),je(r).pipe(de(()=>S),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Ve({}))).pipe(m(([o,n])=>$($({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return je(r).pipe(m(o=>({repositories:o.public_repos})),Ve({}))}}function bi(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return st(je(`${r}/releases/permalink/latest`).pipe(de(()=>S),m(({tag_name:o})=>({version:o})),Ve({})),je(r).pipe(de(()=>S),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Ve({}))).pipe(m(([o,n])=>$($({},o),n)))}function vi(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return hi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return bi(r,o)}return S}var us;function ds(e){return us||(us=C(()=>{let t=__md_get("__source",sessionStorage);if(t)return I(t);if(ae("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return S}return vi(e.href).pipe(w(o=>__md_set("__source",o,sessionStorage)))}).pipe(de(()=>S),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),G(1)))}function gi(e){let t=R(":scope > :last-child",e);return C(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(_n(o)),t.classList.add("md-source__repository--active")}),ds(e).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function hs(e,{viewport$:t,header$:r}){return ge(document.body).pipe(v(()=>mr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),te("hidden"))}function yi(e,t){return C(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?I({hidden:!1}):hs(e,t)).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function bs(e,{viewport$:t,header$:r}){let o=new Map,n=P(".md-nav__link",e);for(let s of n){let p=decodeURIComponent(s.hash.substring(1)),c=fe(`[id="${p}"]`);typeof c!="undefined"&&o.set(s,c)}let i=r.pipe(te("height"),m(({height:s})=>{let p=Se("main"),c=R(":scope > :first-child",p);return s+.8*(c.offsetTop-p.offsetTop)}),pe());return ge(document.body).pipe(te("height"),v(s=>C(()=>{let p=[];return I([...o].reduce((c,[l,f])=>{for(;p.length&&o.get(p[p.length-1]).tagName>=f.tagName;)p.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return c.set([...p=[...p,l]].reverse(),u)},new Map))}).pipe(m(p=>new Map([...p].sort(([,c],[,l])=>c-l))),He(i),v(([p,c])=>t.pipe(Fr(([l,f],{offset:{y:u},size:d})=>{let y=u+d.height>=Math.floor(s.height);for(;f.length;){let[,L]=f[0];if(L-c=u&&!y)f=[l.pop(),...f];else break}return[l,f]},[[],[...p]]),K((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,p])=>({prev:s.map(([c])=>c),next:p.map(([c])=>c)})),Q({prev:[],next:[]}),Be(2,1),m(([s,p])=>s.prev.length{let i=new g,a=i.pipe(Z(),ie(!0));if(i.subscribe(({prev:s,next:p})=>{for(let[c]of p)c.classList.remove("md-nav__link--passed"),c.classList.remove("md-nav__link--active");for(let[c,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",c===s.length-1)}),B("toc.follow")){let s=O(t.pipe(_e(1),m(()=>{})),t.pipe(_e(250),m(()=>"smooth")));i.pipe(b(({prev:p})=>p.length>0),He(o.pipe(ve(se))),re(s)).subscribe(([[{prev:p}],c])=>{let[l]=p[p.length-1];if(l.offsetHeight){let f=cr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2,behavior:c})}}})}return B("navigation.tracking")&&t.pipe(W(a),te("offset"),_e(250),Ce(1),W(n.pipe(Ce(1))),ct({delay:250}),re(i)).subscribe(([,{prev:s}])=>{let p=ye(),c=s[s.length-1];if(c&&c.length){let[l]=c,{hash:f}=new URL(l.href);p.hash!==f&&(p.hash=f,history.replaceState({},"",`${p}`))}else p.hash="",history.replaceState({},"",`${p}`)}),bs(e,{viewport$:t,header$:r}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function vs(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Be(2,1),m(([a,s])=>a>s&&s>0),K()),i=r.pipe(m(({active:a})=>a));return N([i,n]).pipe(m(([a,s])=>!(a&&s)),K(),W(o.pipe(Ce(1))),ie(!0),ct({delay:250}),m(a=>({hidden:a})))}function Ei(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(W(a),te("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),h(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),vs(e,{viewport$:t,main$:o,target$:n}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))}function wi({document$:e,viewport$:t}){e.pipe(v(()=>P(".md-ellipsis")),ne(r=>tt(r).pipe(W(e.pipe(Ce(1))),b(o=>o),m(()=>r),Te(1))),b(r=>r.offsetWidth{let o=r.innerText,n=r.closest("a")||r;return n.title=o,B("content.tooltips")?mt(n,{viewport$:t}).pipe(W(e.pipe(Ce(1))),_(()=>n.removeAttribute("title"))):S})).subscribe(),B("content.tooltips")&&e.pipe(v(()=>P(".md-status")),ne(r=>mt(r,{viewport$:t}))).subscribe()}function Ti({document$:e,tablet$:t}){e.pipe(v(()=>P(".md-toggle--indeterminate")),w(r=>{r.indeterminate=!0,r.checked=!1}),ne(r=>h(r,"change").pipe(Vr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),re(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function gs(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Si({document$:e}){e.pipe(v(()=>P("[data-md-scrollfix]")),w(t=>t.removeAttribute("data-md-scrollfix")),b(gs),ne(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Oi({viewport$:e,tablet$:t}){N([Ne("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>I(r).pipe(Ge(r?400:100))),re(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ys(){return location.protocol==="file:"?wt(`${new URL("search/search_index.js",eo.base)}`).pipe(m(()=>__index),G(1)):je(new URL("search/search_index.json",eo.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ot=Go(),Ft=sn(),Ot=ln(Ft),to=an(),Oe=gn(),hr=$t("(min-width: 60em)"),Mi=$t("(min-width: 76.25em)"),_i=mn(),eo=xe(),Ai=document.forms.namedItem("search")?ys():Ye,ro=new g;Zn({alert$:ro});var oo=new g;B("navigation.instant")&&oi({location$:Ft,viewport$:Oe,progress$:oo}).subscribe(ot);var Li;((Li=eo.version)==null?void 0:Li.provider)==="mike"&&ci({document$:ot});O(Ft,Ot).pipe(Ge(125)).subscribe(()=>{Je("drawer",!1),Je("search",!1)});to.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&<(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&<(r);break;case"Enter":let o=Ie();o instanceof HTMLLabelElement&&o.click()}});wi({viewport$:Oe,document$:ot});Ti({document$:ot,tablet$:hr});Si({document$:ot});Oi({viewport$:Oe,tablet$:hr});var rt=Kn(Se("header"),{viewport$:Oe}),jt=ot.pipe(m(()=>Se("main")),v(e=>Gn(e,{viewport$:Oe,header$:rt})),G(1)),xs=O(...ae("consent").map(e=>En(e,{target$:Ot})),...ae("dialog").map(e=>qn(e,{alert$:ro})),...ae("palette").map(e=>Jn(e)),...ae("progress").map(e=>Xn(e,{progress$:oo})),...ae("search").map(e=>ui(e,{index$:Ai,keyboard$:to})),...ae("source").map(e=>gi(e))),Es=C(()=>O(...ae("announce").map(e=>xn(e)),...ae("content").map(e=>Nn(e,{viewport$:Oe,target$:Ot,print$:_i})),...ae("content").map(e=>B("search.highlight")?di(e,{index$:Ai,location$:Ft}):S),...ae("header").map(e=>Yn(e,{viewport$:Oe,header$:rt,main$:jt})),...ae("header-title").map(e=>Bn(e,{viewport$:Oe,header$:rt})),...ae("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?zr(Mi,()=>Zr(e,{viewport$:Oe,header$:rt,main$:jt})):zr(hr,()=>Zr(e,{viewport$:Oe,header$:rt,main$:jt}))),...ae("tabs").map(e=>yi(e,{viewport$:Oe,header$:rt})),...ae("toc").map(e=>xi(e,{viewport$:Oe,header$:rt,main$:jt,target$:Ot})),...ae("top").map(e=>Ei(e,{viewport$:Oe,header$:rt,main$:jt,target$:Ot})))),Ci=ot.pipe(v(()=>Es),Re(xs),G(1));Ci.subscribe();window.document$=ot;window.location$=Ft;window.target$=Ot;window.keyboard$=to;window.viewport$=Oe;window.tablet$=hr;window.screen$=Mi;window.print$=_i;window.alert$=ro;window.progress$=oo;window.component$=Ci;})(); +//# sourceMappingURL=bundle.f55a23d4.min.js.map + diff --git a/docs/assets/javascripts/bundle.f55a23d4.min.js.map b/docs/assets/javascripts/bundle.f55a23d4.min.js.map new file mode 100644 index 00000000000..e3de73ff9da --- /dev/null +++ b/docs/assets/javascripts/bundle.f55a23d4.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/escape-html/index.js", "node_modules/clipboard/dist/clipboard.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/tslib/tslib.es6.mjs", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/BehaviorSubject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/QueueAction.ts", "node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts", "node_modules/rxjs/src/internal/scheduler/queue.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounce.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip2/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/findurl/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*\n * Copyright (c) 2016-2025 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 60em)\")\nconst screen$ = watchMedia(\"(min-width: 76.25em)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ viewport$, document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n */\nexport class Subscription implements SubscriptionLike {\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param value The `next` value.\n */\n next(value: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param err The `error` exception.\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as ((value: T) => void) | undefined,\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent.\n * @param subscriber The stopped subscriber.\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @param subscribe The function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @param subscribe the subscriber function to be passed to the Observable constructor\n * @return A new observable.\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @param operator the operator defining the operation to take on the observable\n * @return A new observable with the Operator applied.\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param observerOrNext Either an {@link Observer} with some or all callback methods,\n * or the `next` handler that is called for each value emitted from the subscribed Observable.\n * @param error A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param complete A handler for a terminal event resulting from successful completion.\n * @return A subscription reference to the registered handlers.\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next A handler for each value emitted by the observable.\n * @return A promise that either resolves on observable completion or\n * rejects with the handled error.\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @return This instance of the observable.\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n *\n * @return The Observable result of all the operators having been called\n * in the order they were passed in.\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return Observable that this Subject casts to.\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n */\nexport class BehaviorSubject extends Subject {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param _bufferSize The size of the buffer to replay on subscription\n * @param _windowTime The amount of time the buffered items will stay buffered\n * @param _timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param state Some contextual data that the `work` function uses when called by the\n * Scheduler.\n * @param delay Time to wait before executing the work, where the time unit is implicit\n * and defined by the Scheduler.\n * @return A subscription in order to be able to unsubscribe the scheduled work.\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param work A function representing a task, or some unit of work to be\n * executed by the Scheduler.\n * @param delay Time to wait before executing the work, where the time unit is\n * implicit and defined by the Scheduler itself.\n * @param state Some contextual data that the `work` function uses when called\n * by the Scheduler.\n * @return A subscription in order to be able to unsubscribe the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction extends AsyncAction {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n", "import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n", "import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * Put every next task on a queue, instead of executing it immediately\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && id === scheduler._scheduled && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n let flushId;\n if (action) {\n flushId = action.id;\n } else {\n flushId = this._scheduled;\n this._scheduled = undefined;\n }\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:
\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/animations/index.html b/docs/examples/animations/index.html new file mode 100644 index 00000000000..041113e1237 --- /dev/null +++ b/docs/examples/animations/index.html @@ -0,0 +1,5003 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Intro to Animations - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

animations

+
+
+

+ animating-the-data +

+
+

The animate command lets you add dynamic behavior to Plotly graphs in a number of different ways. At its core, Plotly.animate transitions traces to a new state or sequence of states. When you tell Plotly to animate, it merges the properties you've supplied into the current state of the plot. Therefore to animate a trace, you must first plot the trace you wish to animate.

+

The example below transitions to new y-values each time the button is pressed. Since the transition animation occurs within a frame, frame.duration must be set at least as long as transition.duration. Note that to prevent artifacts while animating, the default line simplification algorithm is explicitly disabled. Currently, only scatter traces may be smoothly transitioned from one state to the next. Other traces are compatible with frames and animations but will be updated instantaneously.

+
+
Plotly.newPlot('myDiv', [{
+  x: [1, 2, 3],
+  y: [0, 0.5, 1],
+  line: {simplify: false},
+}]);
+
+function randomize() {
+  Plotly.animate('myDiv', {
+    data: [{y: [Math.random(), Math.random(), Math.random()]}],
+    traces: [0],
+    layout: {}
+  }, {
+    transition: {
+      duration: 500,
+      easing: 'cubic-in-out'
+    },
+    frame: {
+      duration: 500
+    }
+  })
+}
+
+ + + + + +
+
+
+ +
+
+

+ animating-the-layout +

+
+

The example below transitions to a new axis range each time the button is pressed. A present limitation of the animate API is that only one of either data or layout may be smoothly transitioned at a time. If both are provided, the data will be updated instantaneously after the layout is transitioned.

+
+
var n = 500;
+var x = [], y = [];
+for (var i = 0; i < n; i++) {
+  x[i] = i / (n - 1);
+  y[i] = x[i] + 0.2 * (Math.random() - 0.5);
+}
+
+Plotly.newPlot('myDiv', [{
+  x: x,
+  y: y,
+  mode: 'markers'
+}], {
+  xaxis: {range: [0, 1]},
+  yaxis: {range: [0, 1]}
+});
+
+function zoom() {
+  var min = 0.45 * Math.random();
+  var max = 0.55 + 0.45 * Math.random();
+  Plotly.animate('myDiv', {
+    layout: {
+      xaxis: {range: [min, max]},
+      yaxis: {range: [min, max]}
+    }
+  }, {
+    transition: {
+      duration: 500,
+      easing: 'cubic-in-out'
+    }
+  })
+}
+
+ + + + + +
+
+
+ +
+
+

+ defining-named-frames-with-plotly.addframes +

+
+

The above examples pass the data itself through the Plotly.animate command. You may instead predefine named frames through the Plotly.addFrames command. Then, instead of passing frames through Plotly.animate, you may simply refer to a frame by name.

+

Similar to traces, frames are assigned a serial index as they are added. Frames may be updated by passing an array of frame indices. For example, the command to update the frame with index 2 would be Plotly.addFrames('myDiv', [{...}], [2]). Frames can be similarly deleted with, for example, Plotly.deleteFrames('myDiv', [2]).

+

The following example uses frames together with an updatemenu for interactive transitions.

+
+
var frames = [
+  {name: 'sine', data: [{x: [], y: []}]},
+  {name: 'cosine', data: [{x: [], y: []}]},
+  {name: 'circle', data: [{x: [], y: []}]},
+];
+
+var n = 100;
+for (var i = 0; i < n; i++) {
+  var t = i / (n - 1) * 2 - 1;
+
+  // A sine wave:
+  frames[0].data[0].x[i] = t * Math.PI;
+  frames[0].data[0].y[i] = Math.sin(t * Math.PI);
+
+  // A cosine wave:
+  frames[1].data[0].x[i] = t * Math.PI;
+  frames[1].data[0].y[i] = Math.cos(t * Math.PI);
+
+  // A circle:
+  frames[2].data[0].x[i] = Math.sin(t * Math.PI);
+  frames[2].data[0].y[i] = Math.cos(t * Math.PI);
+}
+
+Plotly.newPlot('myDiv', [{
+  x: frames[0].data[0].x,
+  y: frames[0].data[0].y,
+  line: {simplify: false},
+}], {
+  xaxis: {range: [-Math.PI, Math.PI]},
+  yaxis: {range: [-1.2, 1.2]},
+  updatemenus: [{
+    buttons: [
+      {method: 'animate', args: [['sine']], label: 'sine'},
+      {method: 'animate', args: [['cosine']], label: 'cosine'},
+      {method: 'animate', args: [['circle']], label: 'circle'}
+    ]
+  }]
+}).then(function() {
+  Plotly.addFrames('myDiv', frames);
+});
+
+ + + + + +
+
+
+ +
+
+

+ animating-sequences-of-frames +

+
+

The above examples have used one frame at a time. Whether passing objects as frames or referring to frames by name, you may pass multiple frames together in an array. If null or undefined is passed as the second argument (i.e. Plotly.animate('myDiv')), then all defined frames will be animated in sequence.

+

The third argument of Plotly.animate contains animation options. The transition duration defines the amount of time spent interpolating a trace from one state to another (currently limited to scatter traces), while the frame duration defines the total time spent in that state, including time spent transitioning. The example below has two frames, each with their own transition and frame timing.

+
+
Plotly.newPlot('myDiv', [{
+  x: [0, 0],
+  y: [-1, 1],
+}], {
+  xaxis: {range: [-Math.PI, Math.PI]},
+  yaxis: {range: [-1.3, 1.3]}
+}).then(function () {
+  Plotly.addFrames('myDiv', [
+    {
+      data: [{x: [1, -1], y: [0, 0]}],
+      name: 'frame1'
+    }, {
+      data: [{x: [0, 0], y: [-1, 1]}],
+      name: 'frame2'
+    }
+  ]);
+})
+
+function startAnimation() {
+  Plotly.animate('myDiv', ['frame1', 'frame2'], {
+    frame: [
+      {duration: 1500},
+      {duration: 500},
+    ],
+    transition: [
+      {duration: 800, easing: 'elastic-in'},
+      {duration: 100, easing: 'cubic-in'},
+    ],
+    mode: 'afterall'
+  })
+}
+
+ + + + + +
+
+
+ +
+
+

+ animating-many-frames-quickly +

+
+

By default and to ensure any properties that cannot be animated are applied to the plot, a full redraw occurs after each transition. This is generally desirable, but hurts performance when you wish to animate frames as quickly as possible. The example below performs a live simulation of the Lorenz attractor and greatly improves the performance by eliminating the redraw with redraw: false.

+
+
var n = 100;
+var x = [], y = [], z = [];
+var dt = 0.015;
+
+for (i = 0; i < n; i++) {
+  x[i] = Math.random() * 2 - 1;
+  y[i] = Math.random() * 2 - 1;
+  z[i] = 30 + Math.random() * 10;
+}
+
+Plotly.newPlot('myDiv', [{
+  x: x,
+  y: z,
+  mode: 'markers'
+}], {
+  xaxis: {range: [-40, 40]},
+  yaxis: {range: [0, 60]}
+})
+
+function compute () {
+  var s = 10, b = 8/3, r = 28;
+  var dx, dy, dz;
+  var xh, yh, zh;
+  for (var i = 0; i < n; i++) {
+    dx = s * (y[i] - x[i]);
+    dy = x[i] * (r - z[i]) - y[i];
+    dz = x[i] * y[i] - b * z[i];
+
+    xh = x[i] + dx * dt * 0.5;
+    yh = y[i] + dy * dt * 0.5;
+    zh = z[i] + dz * dt * 0.5;
+
+    dx = s * (yh - xh);
+    dy = xh * (r - zh) - yh;
+    dz = xh * yh - b * zh;
+
+    x[i] += dx * dt;
+    y[i] += dy * dt;
+    z[i] += dz * dt;
+  }
+}
+
+function update () {
+  compute();
+
+  Plotly.animate('myDiv', {
+    data: [{x: x, y: z}]
+  }, {
+    transition: {
+      duration: 0
+    },
+    frame: {
+      duration: 0,
+      redraw: false
+    }
+  });
+
+  requestAnimationFrame(update);
+}
+
+requestAnimationFrame(update);
+
+ + + + + +
+
+
+ +
+
+

+ object-constancy +

+
+

For scatter traces, you may wish to retain a marker's identity as it is updated. If you include an array of string ids with the trace, the marker identity will be retained. By shuffling the ids, the example below shuffles the markers each time the button is pressed.

+
+
function shuffleInPlace(array) {
+  for (var i = array.length - 1; i > 0; i--) {
+    var j = Math.floor(Math.random() * (i + 1));
+    var temp = array[i];
+    array[i] = array[j];
+    array[j] = temp;
+  }
+}
+
+var ids = ['1', '2', '3', '4', '5', '6'];
+
+Plotly.newPlot('myDiv', [{
+  x: [1, 0.5, -0.5, -1, -0.5, 0.5],
+  y: [0, 0.866, 0.866, 0, -0.866, -0.866],
+  marker:{size:14,
+             color:['#631357', '#880E4F', '#AD1457',
+                      '#F06292', '#F48FB1']},
+  ids: ids,
+  mode: 'markers'
+}], {
+  xaxis: {range: [-3, 3]},
+  yaxis: {range: [-2, 2]}
+});
+
+function animateShuffle() {
+  shuffleInPlace(ids);
+  Plotly.animate('myDiv', [{
+    data: [{ids: ids}]
+  }]);
+}
+
+ + + + + +
+
+
+ +
+
+

+ frame-groups-and-animation-modes +

+
+

The following example combines many of these concepts to draw a glass filling with water.

+

The first row of buttons animates a different set of predefined frames by changing the second argument of Plotly.animate. Passing null or undefined animates all defined frames in sequence, while passing an array of strings (here, the frames in reverse) animates a specific sequence of frames. By passing a plain string (here, lower or upper), it filters the animated frames to those with a group property equal to that name. The stop button is accomplished by interrupting the current animation with an empty list of frames, therefore simply stopping the animation at the end of the current frame.

+

The second row of buttons animates all frames with different animation modes. The mode option defines whether an animation either interrupts or follows the current animation. immediate mode discards all queued frames and begins a new sequence immediately. The next mode is very similar but doesn't begin the new animation until the end of the current frame. Finally, afterall queues the new frames so that the new animation begins only after all previous animations have completed.

+
+
var i, j, t, x, y, name;
+var frames = [];
+var nFrames = 10;
+var n = 80;
+var reverseFrames = [];
+
+for (i = 0; i < nFrames; i++) {
+  var fill = 0.1 + 0.9 * i / (nFrames - 1);
+  x = [-1];
+  y = [0];
+
+  // A wave across the top:
+  for (j = 0; j < n; j++) {
+    t = j / (n - 1);
+    x.push(-1 - fill + (2 + 2 * fill) * t);
+    y.push(fill + 0.05 * Math.sin(t * Math.PI * 2 * i));
+  }
+
+  // Close the loop to draw the water:
+  x.push(1, -1);
+  y.push(0, 0);
+
+  // Choose a name:
+  name = 'frame' + i;
+
+  // Store it in an array so we can animate in reverse order:
+  reverseFrames.unshift(name);
+
+  // Create the frame:
+  frames.push({
+    name: name,
+    data: [{x: x, y: y}],
+    group: i < nFrames / 2 ? 'lower' : 'upper'
+  })
+}
+
+Plotly.newPlot('myDiv', [{
+  // Set up the initial water:
+  x: frames[0].data[0].x,
+  y: frames[0].data[0].y,
+  mode: 'lines',
+  fill: 'toself',
+  showlegend: false,
+  line: {simplify: false}
+}, {
+  // Draw a glass:
+  x: [-1, 1, 2.1, -2.1, -1],
+  y: [0, 0, 1.1, 1.1, 0],
+  mode: 'lines',
+  fill: 'toself',
+  showlegend: false,
+  fillcolor: 'rgba(0, 0, 0, 0.1)',
+  line: {color: 'rgba(100,100,100,0.2)'}
+}], {
+  xaxis: {range: [-3, 3]},
+  yaxis: {range: [-0.1, 1.5]}
+}).then(function() {
+  // Add the frames so we can animate them:
+  Plotly.addFrames('myDiv', frames);
+});
+
+// Stop the animation by animating to an empty set of frames:
+function stopAnimation () {
+  Plotly.animate('myDiv', [], {mode: 'next'});
+}
+
+function startAnimation (groupOrFrames, mode) {
+  Plotly.animate('myDiv', groupOrFrames, {
+    transition: {
+      duration: 500,
+      easing: 'linear'
+    },
+    frame: {
+      duration: 500,
+      redraw: false,
+    },
+    mode: mode
+  });
+}
+
+ + + + + +
+
+
+ + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/axes/index.html b/docs/examples/axes/index.html new file mode 100644 index 00000000000..e466b083f73 --- /dev/null +++ b/docs/examples/axes/index.html @@ -0,0 +1,6187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Axes - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

axes

+
+
+

+ set-and-style-axes-title-labels-and-ticks +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+  var x = unpack(rows, 'Date')
+  var y = unpack(rows, 'AAPL.Volume')
+
+  var trace = {
+    type: "scatter",
+    mode: "lines",
+    name: 'AAPL Volume',
+    x: x,
+    y: y,
+    line: {color: 'grey'}
+  }
+
+  var data = [trace];
+
+var layout = {
+  title: {text: 'Volume of Apple Shares Traded'},
+  xaxis: {
+    title: {
+      text: 'AXIS TITLE',
+      font: {
+          family: 'Arial, sans-serif',
+          size: 18,
+          color: 'lightgrey'
+      }
+    },
+    showticklabels: true,
+    tickangle: 'auto',
+    tickfont: {
+      family: 'Old Standard TT, serif',
+      size: 14,
+      color: 'black'
+    },
+    exponentformat: 'e',
+    showexponent: 'all'
+  },
+  yaxis: {
+    title: {
+      text: 'AXIS TITLE',
+      font: {
+        family: 'Arial, sans-serif',
+        size: 18,
+        color: 'lightgrey'
+      }
+    },
+    showticklabels: true,
+    tickangle: 45,
+    tickfont: {
+      family: 'Old Standard TT, serif',
+      size: 14,
+      color: 'black'
+    },
+    exponentformat: 'e',
+    showexponent: 'all'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ styling-and-coloring-axes-and-the-zero-line +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  xaxis: {
+    showgrid: true,
+    zeroline: true,
+    showline: true,
+    mirror: 'ticks',
+    gridcolor: '#bdbdbd',
+    gridwidth: 2,
+    zerolinecolor: '#969696',
+    zerolinewidth: 4,
+    linecolor: '#636363',
+    linewidth: 6
+  },
+  yaxis: {
+    showgrid: true,
+    zeroline: true,
+    showline: true,
+    mirror: 'ticks',
+    gridcolor: '#bdbdbd',
+    gridwidth: 2,
+    zerolinecolor: '#969696',
+    zerolinewidth: 4,
+    linecolor: '#636363',
+    linewidth: 6
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ tick-placement-color-and-style +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  xaxis: {
+    tickmode: 'linear',
+    ticks: 'outside',
+    tick0: 0,
+    dtick: 0.25,
+    ticklen: 8,
+    tickwidth: 4,
+    tickcolor: '#000'
+  },
+  yaxis: {
+    tickmode: 'linear',
+    ticks: 'outside',
+    tick0: 0,
+    dtick: 0.25,
+    ticklen: 8,
+    tickwidth: 4,
+    tickcolor: '#000'
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ toggling-axes-lines-ticks-labels-and-autorange +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  xaxis: {
+    autorange: true,
+    showgrid: false,
+    zeroline: false,
+    showline: false,
+    autotick: true,
+    ticks: '',
+    showticklabels: false
+  },
+  yaxis: {
+    autorange: true,
+    showgrid: false,
+    zeroline: false,
+    showline: false,
+    autotick: true,
+    ticks: '',
+    showticklabels: false
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ setting-the-range-of-axes-manually +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  xaxis: {range: [2, 5]},
+  yaxis: {range: [2, 5]}
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ nonnegative-tozero-and-normal-rangemode +

+
+ +
+
var data = [
+  {
+    x: [2, 4, 6],
+    y: [-3, 0, 3],
+    type: 'scatter'
+  }
+];
+var layout = {
+  showlegend: false,
+  xaxis: {
+    rangemode: 'tozero',
+    autorange: true
+  },
+  yaxis: {
+    rangemode: 'nonnegative',
+    autorange: true
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ enumerated-ticks-with-tickvals-and-ticktext +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/stockdata.csv', function(err, rows){
+function unpack(rows, key) {
+  return rows.map(function(row)
+  { return row[key]; });}
+
+var trace1 = {
+  x:unpack(rows, 'Date'),
+  y: unpack(rows, 'IBM'),
+  mode: 'markers',
+  marker: {
+    size: 7,
+    line: {
+    width: 0.5},
+    opacity: 0.8},
+  type: 'scatter'
+};
+
+var layout = {
+  title: {
+    text: 'IBM Stock Data: Jan 2007 - Mar 2016'
+  },
+  xaxis: {
+    tickvals: ['2007-01-01', '2007-09-01', '2008-01-01', '2008-09-01', '2009-01-01', '2010-01-01', '2011-01-01', '2011-02-14', '2012-01-01', '2013-01-01', '2014-01-01', '2015-01-01', '2016-01-01'],
+    ticktext: ['2007', 'Financial Crisis Starts', '2008', 'Financial Crisis Ends', '2009', '2010', '2011', 'IBM wins Jeopardy!', '2012', '2013', '2014', '2015', '2016']
+  }
+};
+
+var data = [trace1];
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ logarithmic-axes +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  xaxis: {
+    type: 'log',
+    autorange: true
+  },
+  yaxis: {
+    type: 'log',
+    autorange: true
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ set-axis-title-position +

+
+

This example sets standoff attribute to cartesian axes to determine the distance between the tick labels and the axis title. +Note that the axis title position is always constrained within the margins, so the actual standoff distance is always less than the set or default value. +By setting standoff and turning automargin on, plotly.js will push the margins to fit the axis title at given standoff distance.

+
+
var data = [{
+      mode: "lines+markers",
+      x:["December", "January", "February"],
+      y:[4,1,3]
+    }]
+
+ var layout = {
+      margin: {t:0,r:0,b:0,l:20},
+      xaxis: {
+        automargin: true,
+        tickangle: 90,
+        title: {
+          text: "Month",
+          standoff: 20
+        }},
+      yaxis: {
+        automargin: true,
+        tickangle: 90,
+        title: {
+          text: "Temperature",
+          standoff: 40
+        }}}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ reversed-axes +

+
+ +
+
var data = [
+  {
+    x: [1, 2],
+    y: [1, 2],
+    type: 'scatter'
+  }
+];
+var layout = {xaxis: {autorange: 'reversed'}};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ reversed-axes-with-range-(-min/max-)-specified +

+
+ +
+
var data = [
+  {
+    x: [0.0, 0.1, 0.2, 0.3, 0.4, 0.51, 0.61, 0.71, 0.81, 0.91, 1.01, 1.11, 1.21, 1.31, 1.41, 1.52, 1.62, 1.72, 1.82, 1.92, 2.02, 2.12, 2.22, 2.32, 2.42, 2.53, 2.63, 2.73, 2.83, 2.93, 3.03, 3.13, 3.23, 3.33, 3.43, 3.54, 3.64, 3.74, 3.84, 3.94, 4.04, 4.14, 4.24, 4.34, 4.44, 4.55, 4.65, 4.75, 4.85, 4.95, 5.05, 5.15, 5.25, 5.35, 5.45, 5.56, 5.66, 5.76, 5.86, 5.96, 6.06, 6.16, 6.26, 6.36, 6.46, 6.57, 6.67, 6.77, 6.87, 6.97, 7.07, 7.17, 7.27, 7.37, 7.47, 7.58, 7.68, 7.78, 7.88, 7.98, 8.08, 8.18, 8.28, 8.38, 8.48, 8.59, 8.69, 8.79, 8.89, 8.99, 9.09, 9.19, 9.29, 9.39, 9.49, 9.6, 9.7, 9.8, 9.9, 10.0],
+    y: [63, 65, 78, 92, 12, 50, 17, 31, 1, 25, 76, 66, 83, 38, 95, 23, 20, 88, 31, 26, 39, 74, 11, 84, 7, 13, 30, 85, 80, 47, 12, 89, 12, 35, 99, 78, 77, 56, 26, 13, 96, 55, 19, 88, 31, 1, 42, 39, 99, 62, 68, 61, 45, 44, 10, 25, 89, 82, 28, 2, 24, 1, 32, 16, 29, 40, 55, 75, 20, 41, 67, 33, 92, 14, 16, 22, 86, 55, 37, 42, 42, 85, 60, 11, 54, 3, 34, 29, 59, 28, 25, 67, 90, 10, 29, 16, 51, 17, 2, 34],
+    mode: "markers"
+  }
+];
+var layout = {
+  title: {
+    text: "Reversed Axis with Min/Max"
+  },
+  xaxis: {
+    range: [10, 0]
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ categorical-axes +

+
+ +
+
var trace1 = {
+  x: ['A12', 'BC2', 109, '12F', 215, 304],
+  y: [1, 6, 3, 5, 1, 4],
+  mode: 'markers',
+  type: 'bar',
+  name: 'Team A',
+  text: ['Apples', 'Pears', 'Peaches', 'Bananas', 'Pineapples', 'Cherries'],
+};
+
+var data = [ trace1 ];
+
+var layout = {
+  xaxis: {
+    type: 'category',
+    title: {
+        text: 'Product Code'
+    }
+    },
+    yaxis: {
+        range: [0, 7],
+        title: {
+            text: 'Number of Items in Stock'
+        }
+    },
+  title: {text: 'Inventory'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multi-category-axes +

+
+ +
+
var trace1 = {
+  x: [
+    ['SF Zoo','SF Zoo','SF Zoo'],
+    ['giraffes', 'orangutans', 'monkeys']
+  ],
+  y: [20, 14, 23],
+  name: 'SF Zoo',
+  type: 'bar'
+};
+
+var trace2 = {
+  x: [
+    ['LA Zoo','LA Zoo','LA Zoo'],
+    ['giraffes', 'orangutans', 'monkeys']
+  ],
+  y: [12, 18, 29],
+  name: 'LA Zoo',
+  type: 'bar'
+};
+
+var data = [trace1, trace2];
+var layout = {
+  showlegend: false,
+  xaxis: {
+    tickson: "boundaries",
+    ticklen: 15,
+    showdividers: true,
+    dividercolor: 'grey',
+    dividerwidth: 2
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ using-dates-on-the-x-axis +

+
+ +
+
var trace1 = {
+  x: ['2000-01-01', '2000-01-02', '2000-01-03', '2000-01-04', '2000-01-05', '2000-01-06', '2000-01-07', '2000-01-08', '2000-01-09', '2000-01-10', '2000-01-11', '2000-01-12', '2000-01-13', '2000-01-14', '2000-01-15', '2000-01-16', '2000-01-17', '2000-01-18', '2000-01-19', '2000-01-20', '2000-01-21', '2000-01-22', '2000-01-23', '2000-01-24', '2000-01-25', '2000-01-26', '2000-01-27', '2000-01-28', '2000-01-29', '2000-01-30', '2000-01-31'],
+  y: [4.3, 8.2, 4.1, 5.6, -3, -0.2, 0.3, 0.4, 4.1, 5, 4.6, -0.2, -8.5, -9.1, -2.7, -2.7, -17, -11.3, -5.5, -6.5, -16.9, -12, -6.1, -6.6, -7.9, -10.8, -14.8, -11, -4.4, -1.3, -1.1],
+  mode: 'lines',
+  type: 'scatter',
+  name: '2000'
+};
+
+var data = [ trace1 ];
+
+var layout = {
+  xaxis: {
+    type: 'date',
+    title: {
+      text: 'January Weather'
+    }
+  },
+  yaxis: {
+    title: {
+      text: 'Daily Mean Temperature'
+    }
+  },
+  title: {
+    text: '2000 Toronto January Weather'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ fixed-ratio-axes +

+
+ +
+
var trace0 = {
+  x: [0,1,1,0,0,1,1,2,2,3,3,2,2,3],
+  y: [0,0,1,1,3,3,2,2,3,3,1,1,0,0]
+}
+
+var trace1 = {
+  x: [0,1,2,3],
+  y: [1,2,4,8],
+  yaxis:"y2"
+}
+
+var trace2 = {
+  x: [1,10,100,10,1],
+  y: [0,1,2,3,4],
+  xaxis: "x2",
+  yaxis:"y3",
+}
+
+var trace3 = {
+  x: [1,100,30,80,1],
+  y: [1,1.5,2,2.5,3],
+  xaxis:"x2",
+  yaxis:"y4"
+}
+
+var data = [trace0,trace1,trace2,trace3]
+
+var layout = {
+  width: 800,
+  height: 500,
+  title: {
+      text: "fixed-ratio axes"
+  },
+  xaxis: {
+      nticks: 10,
+      domain: [0, 0.45],
+      title: {
+          text: "shared X axis"
+      }
+  },
+  yaxis: {
+      scaleanchor: "x",
+      domain: [0, 0.45],
+      title: {
+          text: "1:1"
+      }
+  },
+  yaxis2: {
+      scaleanchor: "x",
+      scaleratio: 0.2,
+      domain: [0.55, 1],
+      title: {
+          text: "1:5"
+      }
+  },
+  xaxis2: {
+      type: "log",
+      domain: [0.55, 1],
+      anchor: "y3",
+      title: {
+          text: "unconstrained log X"
+      }
+  },
+  yaxis3: {
+      domain: [0, 0.45],
+      anchor: "x2",
+      title: {
+          text: "Scale matches ->"
+      }
+  },
+  yaxis4: {
+      scaleanchor: "y3",
+      domain: [0.55, 1],
+      anchor: "x2",
+      title: {
+          text: "Scale matches <-"
+      }
+  },
+  showlegend: false
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ specifying-label-aliases +

+
+

This example uses labelalias to update the text displayed for the x-axis values.

+
+
var trace1 = {
+  x: ['UK', 'US', 'Germany', 'France'],
+  y: [8, 3, 10, 3],
+  type: 'bar',
+};
+
+var data = [trace1];
+
+var layout = {
+xaxis: {
+  labelalias: {
+    UK: '🇬🇧 United Kingdom',
+    US: '🇺🇸 United States',
+    Germany: '🇩🇪 Germany',
+    France: '🇫🇷 France'}
+  },
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ use-base64-encoded-typed-arrays +

+
+

Plotly.js 2.28.0 and later supports using base64-encoded typed arrays. To use a base64-encoded typed array, pass an object with the keys bdata (a base64-encoded string or the ArrayBuffer of an integer or float typed array) and dtype (the data type of the array, where the supported types are float64, float32, int32, uint32, int16, uint16, int8, uint8, and uint8c). You can also specify shape for multidimensional arrays. For example, '4,10' would be a 2D array with 4 rows and 10 columns.

+
+
var x = 'VVVVVVVV1b8AAAAAAAAAAFVVVVVVVdU/'
+var y = 'q6qqPquqqr4='
+var z = 'AABkAMgALAGQAfQB'
+
+var trace1 = {
+  x: {
+    bdata: x,
+    dtype: 'f8'
+  },
+  y: {
+    bdata: y,
+    dtype: 'f4'
+  },
+  z: {
+    bdata: z,
+    dtype: 'u2',
+    shape: '2,3'
+  },
+  type: 'surface'
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ zero-line-layer +

+
+

New in 3.1

+

By default, zero lines are displayed below traces. Set zerolinelayer="above traces" on an axis to display its zero line above traces.

+
+
var trace1 = {
+  x: ['A', 'B', 'C', 'D', 'A'],
+  y: [2, 0, 4, -3, 2],
+  fill: 'toself',
+  mode: 'none',
+  fillcolor: 'lightpink',
+  type: 'scatter'
+};
+
+var data = [trace1];
+
+var layout = {
+  yaxis: {
+    zerolinelayer: "above traces"  // Change to "below traces" to see the difference
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/bar-charts/index.html b/docs/examples/bar-charts/index.html new file mode 100644 index 00000000000..9ca7714c307 --- /dev/null +++ b/docs/examples/bar-charts/index.html @@ -0,0 +1,5951 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Bar Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

bar-charts

+
+
+

+ basic-bar-chart +

+
+ +
+
var data = [
+  {
+    x: ['giraffes', 'orangutans', 'monkeys'],
+    y: [20, 14, 23],
+    type: 'bar'
+  }
+];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-bar-chart +

+
+ +
+
var trace1 = {
+  x: ['giraffes', 'orangutans', 'monkeys'],
+  y: [20, 14, 23],
+  name: 'SF Zoo',
+  type: 'bar'
+};
+
+var trace2 = {
+  x: ['giraffes', 'orangutans', 'monkeys'],
+  y: [12, 18, 29],
+  name: 'LA Zoo',
+  type: 'bar'
+};
+
+var data = [trace1, trace2];
+
+var layout = {barmode: 'group'};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ stacked-bar-chart +

+
+ +
+
var trace1 = {
+  x: ['giraffes', 'orangutans', 'monkeys'],
+  y: [20, 14, 23],
+  name: 'SF Zoo',
+  type: 'bar'
+};
+
+var trace2 = {
+  x: ['giraffes', 'orangutans', 'monkeys'],
+  y: [12, 18, 29],
+  name: 'LA Zoo',
+  type: 'bar'
+};
+
+var data = [trace1, trace2];
+
+var layout = {barmode: 'stack'};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bar-chart-with-hover-text +

+
+ +
+
var trace1 = {
+  x: ['Liam', 'Sophie', 'Jacob', 'Mia', 'William', 'Olivia'],
+  y: [8.0, 8.0, 12.0, 12.0, 13.0, 20.0],
+  type: 'bar',
+  text: ['4.17 below the mean', '4.17 below the mean', '0.17 below the mean', '0.17 below the mean', '0.83 above the mean', '7.83 above the mean'],
+  marker: {
+    color: 'rgb(142,124,195)'
+  }
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'Number of Graphs Made this Week'
+  },
+  font:{
+    family: 'Raleway, sans-serif'
+  },
+  showlegend: false,
+  xaxis: {
+    tickangle: -45
+  },
+  yaxis: {
+    zeroline: false,
+    gridwidth: 2
+  },
+  bargap :0.05
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bar-chart-with-direct-labels +

+
+ +
+
var xValue = ['Product A', 'Product B', 'Product C'];
+
+var yValue = [20, 14, 23];
+
+var trace1 = {
+  x: xValue,
+  y: yValue,
+  type: 'bar',
+  text: yValue.map(String),
+  textposition: 'auto',
+  hoverinfo: 'none',
+  marker: {
+    color: 'rgb(158,202,225)',
+    opacity: 0.6,
+    line: {
+      color: 'rgb(8,48,107)',
+      width: 1.5
+    }
+  }
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'January 2013 Sales Report'
+  },
+  barmode: 'stack'
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-bar-chart-with-direct-labels +

+
+ +
+
var xValue = ['Product A', 'Product B', 'Product C'];
+
+var yValue = [20, 14, 23];
+var yValue2 = [24, 16, 20];
+
+var trace1 = {
+  x: xValue,
+  y: yValue,
+  type: 'bar',
+  text: yValue.map(String),
+  textposition: 'auto',
+  hoverinfo: 'none',
+  opacity: 0.5,
+  marker: {
+    color: 'rgb(158,202,225)',
+    line: {
+      color: 'rgb(8,48,107)',
+      width: 1.5
+    }
+  }
+};
+
+var trace2 = {
+  x: xValue,
+  y: yValue2,
+  type: 'bar',
+  text: yValue2.map(String),
+  textposition: 'auto',
+  hoverinfo: 'none',
+  marker: {
+    color: 'rgba(58,200,225,.5)',
+    line: {
+      color: 'rgb(8,48,107)',
+      width: 1.5
+    }
+  }
+};
+
+var data = [trace1,trace2];
+
+var layout = {
+  title: {
+    text: 'January 2013 Sales Report'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bar-chart-with-rotated-labels +

+
+ +
+
var trace1 = {
+  x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+  y: [20, 14, 25, 16, 18, 22, 19, 15, 12, 16, 14, 17],
+  type: 'bar',
+  name: 'Primary Product',
+  marker: {
+    color: 'rgb(49,130,189)',
+    opacity: 0.7,
+  }
+};
+
+var trace2 = {
+  x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+  y: [19, 14, 22, 14, 16, 19, 15, 14, 10, 12, 12, 16],
+  type: 'bar',
+  name: 'Secondary Product',
+  marker: {
+    color: 'rgb(204,204,204)',
+    opacity: 0.5
+  }
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: '2013 Sales Report'
+  },
+  xaxis: {
+    tickangle: -45
+  },
+  barmode: 'group'
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customizing-individual-bar-colors +

+
+ +
+
var trace1 = {
+  x: ['Feature A', 'Feature B', 'Feature C', 'Feature D', 'Feature E'],
+  y: [20, 14, 23, 25, 22],
+  marker:{
+    color: ['rgba(204,204,204,1)', 'rgba(222,45,38,0.8)', 'rgba(204,204,204,1)', 'rgba(204,204,204,1)', 'rgba(204,204,204,1)']
+  },
+  type: 'bar'
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'Least Used Feature'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customizing-individual-bar-widths +

+
+ +
+
var trace0 = {
+  type: 'bar',
+  x: [1, 2, 3, 5.5, 10],
+  y: [10, 8, 6, 4, 2],
+  width: [0.8, 0.8, 0.8, 3.5, 4]
+}
+
+var data = [trace0]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customizing-individual-bar-base +

+
+ +
+
var data = [
+  {
+    type: 'bar',
+    x: ['2016','2017','2018'],
+    y: [500,600,700],
+    base: [-500,-600,-700],
+    hovertemplate: '%{base}',
+    marker: {
+      color: 'red'
+    },
+    name: 'expenses'
+  },
+  {
+    type: 'bar',
+    x: ['2016','2017','2018'],
+    y: [300,400,700],
+    base: 0,
+    marker: {
+      color: 'blue'
+    },
+    name: 'revenue'
+  }]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ colored-and-styled-bar-chart +

+
+ +
+
var trace1 = {
+  x: [1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012],
+  y: [219, 146, 112, 127, 124, 180, 236, 207, 236, 263, 350, 430, 474, 526, 488, 537, 500, 439],
+  name: 'Rest of world',
+  marker: {color: 'rgb(55, 83, 109)'},
+  type: 'bar'
+};
+
+var trace2 = {
+  x: [1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012],
+  y: [16, 13, 10, 11, 28, 37, 43, 55, 56, 88, 105, 156, 270, 299, 340, 403, 549, 499],
+  name: 'China',
+  marker: {color: 'rgb(26, 118, 255)'},
+  type: 'bar'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: 'US Export of Plastic Scrap'
+  },
+  xaxis: {tickfont: {
+      size: 14,
+      color: 'rgb(107, 107, 107)'
+    }},
+  yaxis: {
+    title: {
+        text: 'USD (millions)',
+        font: {
+            size: 16,
+            color: 'rgb(107, 107, 107)'
+        }
+    },
+    tickfont: {
+      size: 14,
+      color: 'rgb(107, 107, 107)'
+    }
+  },
+  legend: {
+    x: 0,
+    y: 1.0,
+    bgcolor: 'rgba(255, 255, 255, 0)',
+    bordercolor: 'rgba(255, 255, 255, 0)'
+  },
+  barmode: 'group',
+  bargap: 0.15,
+  bargroupgap: 0.1
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ rounded-corners-on-bars +

+
+

To create rounded corners on bars, set barcornerradius on the layout to a number of pixels, or a string with a percentage of the bar width, for example, 25%. +You can also configure traces individually with marker.cornerradius on the trace.

+
+
var trace1 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [24, 10, 9],
+  name: 'Gold',
+  type: 'bar',
+};
+
+var trace2 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [13, 15, 12],
+  name: 'Silver',
+  type: 'bar',
+};
+
+var trace3 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [11, 8, 12],
+  name: 'Bronze',
+  type: 'bar',
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  scattermode: 'group',
+  title: {
+    text: 'Grouped by Country'
+  },
+  xaxis: {
+    title: {
+      text: 'Country'
+    }
+  },
+  yaxis: {
+    title: {
+      text: 'Medals'
+    }
+  },
+  barcornerradius: 15,
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ waterfall-bar-chart +

+
+ +
+
// Base
+
+var xData = ['Product<br>Revenue', 'Services<br>Revenue',
+  'Total<br>Revenue', 'Fixed<br>Costs',
+  'Variable<br>Costs', 'Total<br>Costs', 'Total'
+];
+
+var yData = [400, 660, 660, 590, 400, 400, 340];
+
+var textList = ['$430K', '$260K', '$690K', '$-120K', '$-200K', '$-320K', '$370K'];
+
+//Base
+
+var trace1 = {
+  x: xData,
+  y: [0, 430, 0, 570, 370, 370, 0],
+  marker: {
+    color: 'rgba(1,1,1,0.0)'
+  },
+  type: 'bar'
+};
+
+//Revenue
+
+var trace2 = {
+  x: xData,
+  y: [430, 260, 690, 0, 0, 0, 0],
+  type: 'bar',
+  marker: {
+    color: 'rgba(55,128,191,0.7)',
+    line: {
+      color: 'rgba(55,128,191,1.0)',
+      width: 2
+    }
+  }
+};
+
+//Cost
+
+var trace3 = {
+  x: xData,
+  y: [0, 0, 0, 120, 200, 320, 0],
+  type: 'bar',
+  marker: {
+    color: 'rgba(219, 64, 82, 0.7)',
+    line: {
+      color: 'rgba(219, 64, 82, 1.0)',
+      width: 2
+    }
+  }
+};
+
+//Profit
+
+var trace4 = {
+  x: xData,
+  y: [0, 0, 0, 0, 0, 0, 370],
+  type: 'bar',
+  marker: {
+    color: 'rgba(50,171, 96, 0.7)',
+    line: {
+      color: 'rgba(50,171,96,1.0)',
+      width: 2
+    }
+  }
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {
+    text: 'Annual Profit 2015'
+  },
+  barmode: 'stack',
+  paper_bgcolor: 'rgba(245,246,249,1)',
+  plot_bgcolor: 'rgba(245,246,249,1)',
+  width: 600,
+  height: 600,
+  showlegend: false,
+  annotations: []
+};
+
+for ( var i = 0 ; i < 7 ; i++ ) {
+  var result = {
+    x: xData[i],
+    y: yData[i],
+    text: textList[i],
+    font: {
+      family: 'Arial',
+      size: 14,
+      color: 'rgba(245,246,249,1)'
+    },
+    showarrow: false
+  };
+  layout.annotations.push(result);
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bar-chart-with-relative-barmode +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [1, 4, 9, 16],
+  name: 'Trace1',
+  type: 'bar'
+};
+var trace2 = {
+  x: [1, 2, 3, 4],
+  y: [6, -8, -4.5, 8],
+  name: 'Trace2',
+  type: 'bar'
+};
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [-15, -3, 4.5, -8],
+  name: 'Trace3',
+  type: 'bar'
+ }
+
+ var trace4 = {
+  x: [1, 2, 3, 4],
+  y: [-1, 3, -3, -4],
+  name: 'Trace4',
+  type: 'bar'
+ }
+
+var data = [trace1, trace2, trace3, trace4];
+var layout = {
+  xaxis: {
+    title: {
+      text: 'X axis'
+    }
+  },
+  yaxis: {
+    title: {
+      text: 'Y axis'
+    }
+  },
+  barmode: 'relative',
+  title: {
+    text: 'Relative Barmode'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/box-plots/index.html b/docs/examples/box-plots/index.html new file mode 100644 index 00000000000..8a19e20bc18 --- /dev/null +++ b/docs/examples/box-plots/index.html @@ -0,0 +1,5661 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Box Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

box-plots

+
+
+

+ basic-box-plot +

+
+ +
+
var y0 = [];
+var y1 = [];
+for (var i = 0; i < 50; i ++) {
+    y0[i] = Math.random();
+    y1[i] = Math.random() + 1;
+}
+
+var trace1 = {
+  y: y0,
+  type: 'box'
+};
+
+var trace2 = {
+  y: y1,
+  type: 'box'
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ box-plot-that-displays-the-underlying-data +

+
+ +
+
var data = [
+  {
+    y: [0, 1, 1, 2, 3, 5, 8, 13, 21],
+    boxpoints: 'all',
+    jitter: 0.3,
+    pointpos: -1.8,
+    type: 'box'
+  }
+];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ horizontal-box-plot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4, 4, 4, 8, 9, 10],
+  type: 'box',
+  name: 'Set 1'
+};
+
+var trace2 = {
+  x: [2, 3, 3, 3, 3, 5, 6, 6, 7],
+  type: 'box',
+  name: 'Set 2'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: 'Horizontal Box Plot'
+  },
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-box-plot +

+
+ +
+
var x = ['day 1', 'day 1', 'day 1', 'day 1', 'day 1', 'day 1',
+         'day 2', 'day 2', 'day 2', 'day 2', 'day 2', 'day 2']
+
+var trace1 = {
+  y: [0.2, 0.2, 0.6, 1.0, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3],
+  x: x,
+  name: 'kale',
+  marker: {color: '#3D9970'},
+  type: 'box'
+};
+
+var trace2 = {
+  y: [0.6, 0.7, 0.3, 0.6, 0.0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2],
+  x: x,
+  name: 'radishes',
+  marker: {color: '#FF4136'},
+  type: 'box'
+};
+
+var trace3 = {
+  y: [0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1.0, 0.3, 0.6, 0.8, 0.5],
+  x: x,
+  name: 'carrots',
+  marker: {color: '#FF851B'},
+  type: 'box'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  yaxis: {
+    title: {
+      text: 'normalized moisture'
+    },
+    zeroline: false
+  },
+  boxmode: 'group'
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ box-plot-styling-outliers +

+
+ +
+
var trace1 = {
+  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],
+  type: 'box',
+  name: 'All Points',
+  jitter: 0.3,
+  pointpos: -1.8,
+  marker: {
+    color: 'rgb(7,40,89)'
+  },
+  boxpoints: 'all'
+};
+
+var trace2 = {
+  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],
+  type: 'box',
+  name: 'Only Wiskers',
+  marker: {
+    color: 'rgb(9,56,125)'
+  },
+  boxpoints: false
+};
+
+var trace3 = {
+  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],
+  type: 'box',
+  name: 'Suspected Outlier',
+  marker: {
+    color: 'rgb(8,81,156)',
+    outliercolor: 'rgba(219, 64, 82, 0.6)',
+    line: {
+      outliercolor: 'rgba(219, 64, 82, 1.0)',
+      outlierwidth: 2
+    }
+  },
+  boxpoints: 'suspectedoutliers'
+};
+
+var trace4 = {
+  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],
+  type: 'box',
+  name: 'Wiskers and Outliers',
+  marker: {
+    color: 'rgb(107,174,214)'
+  },
+  boxpoints: 'Outliers'
+};
+
+
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {
+    text: 'Box Plot Styling Outliers'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ box-plot-styling-mean-and-standard-deviation +

+
+ +
+
var trace1 = {
+  y: [2.37, 2.16, 4.82, 1.73, 1.04, 0.23, 1.32, 2.91, 0.11, 4.51, 0.51, 3.75, 1.35, 2.98, 4.50, 0.18, 4.66, 1.30, 2.06, 1.19],
+  type: 'box',
+  name: 'Only Mean',
+  marker: {
+    color: 'rgb(8,81,156)'
+  },
+  boxmean: true
+};
+
+var trace2 = {
+  y: [2.37, 2.16, 4.82, 1.73, 1.04, 0.23, 1.32, 2.91, 0.11, 4.51, 0.51, 3.75, 1.35, 2.98, 4.50, 0.18, 4.66, 1.30, 2.06, 1.19],
+  type: 'box',
+  name: 'Mean and Standard Deviation',
+  marker: {
+    color: 'rgb(10,140,208)'
+  },
+  boxmean: 'sd'
+};
+
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: 'Box Plot Styling Mean and Standard Deviation'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-horizontal-box-plot +

+
+ +
+
var y = ['day 1', 'day 1', 'day 1', 'day 1', 'day 1', 'day 1',
+         'day 2', 'day 2', 'day 2', 'day 2', 'day 2', 'day 2']
+
+var trace1 = {
+  x: [0.2, 0.2, 0.6, 1.0, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3],
+  y: y,
+  name: 'kale',
+  marker: {color: '#3D9970'},
+  type: 'box',
+  boxmean: false,
+  orientation: 'h'
+};
+
+var trace2 = {
+  x: [0.6, 0.7, 0.3, 0.6, 0.0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2],
+  y: y,
+  name: 'radishes',
+  marker: {color: '#FF4136'},
+  type: 'box',
+  boxmean: false,
+  orientation: 'h'
+};
+
+var trace3 = {
+  x: [0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1.0, 0.3, 0.6, 0.8, 0.5],
+  y: y,
+  name: 'carrots',
+  marker: {color: '#FF851B'},
+  type: 'box',
+  boxmean: false,
+  orientation: 'h'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  title: {
+    text: 'Grouped Horizontal Box Plot'
+  },
+  xaxis: {
+    title: {
+      text: 'normalized moisture'
+    },
+    zeroline: false
+  },
+  boxmode: 'group'
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ colored-box-plot +

+
+ +
+
var trace1 = {
+  y: [1, 2, 3, 4, 4, 4, 8, 9, 10],
+  type: 'box',
+  name: 'Sample A',
+  marker:{
+    color: 'rgb(214,12,140)'
+  }
+};
+
+var trace2 = {
+  y: [2, 3, 3, 3, 3, 5, 6, 6, 7],
+  type: 'box',
+  name: 'Sample B',
+  marker:{
+    color: 'rgb(0,128,128)'
+  }
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: 'Colored Box Plot'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ fully-styled-box-plot +

+
+ +
+
var xData = ['Carmelo<br>Anthony', 'Dwyane<br>Wade',
+      'Deron<br>Williams', 'Brook<br>Lopez',
+      'Damian<br>Lillard', 'David<br>West',
+      'Blake<br>Griffin', 'David<br>Lee',
+      'Demar<br>Derozan'];
+
+function getrandom(num , mul) {
+    var value = [ ];
+    for ( i = 0; i <= num; i++ ) {
+        var rand = Math.random() * mul;
+        value.push(rand);
+    }
+    return value;
+}
+
+var yData = [
+        getrandom(30 ,10),
+        getrandom(30, 20),
+        getrandom(30, 25),
+        getrandom(30, 40),
+        getrandom(30, 45),
+        getrandom(30, 30),
+        getrandom(30, 20),
+        getrandom(30, 15),
+        getrandom(30, 43),
+    ];
+var colors = ['rgba(93, 164, 214, 0.5)', 'rgba(255, 144, 14, 0.5)', 'rgba(44, 160, 101, 0.5)', 'rgba(255, 65, 54, 0.5)', 'rgba(207, 114, 255, 0.5)', 'rgba(127, 96, 0, 0.5)', 'rgba(255, 140, 184, 0.5)', 'rgba(79, 90, 117, 0.5)', 'rgba(222, 223, 0, 0.5)'];
+
+var data = [];
+
+for ( var i = 0; i < xData.length; i ++ ) {
+    var result = {
+        type: 'box',
+        y: yData[i],
+        name: xData[i],
+        boxpoints: 'all',
+        jitter: 0.5,
+        whiskerwidth: 0.2,
+        fillcolor: 'cls',
+        marker: {
+            size: 2
+        },
+        line: {
+            width: 1
+        }
+    };
+    data.push(result);
+};
+
+layout = {
+    title: {
+        text: 'Points Scored by the Top 9 Scoring NBA Players in 2012'
+    },
+    yaxis: {
+        autorange: true,
+        showgrid: true,
+        zeroline: true,
+        dtick: 5,
+        gridcolor: 'rgb(255, 255, 255)',
+        gridwidth: 1,
+        zerolinecolor: 'rgb(255, 255, 255)',
+        zerolinewidth: 2
+    },
+    margin: {
+        l: 40,
+        r: 30,
+        b: 80,
+        t: 100
+    },
+    paper_bgcolor: 'rgb(243, 243, 243)',
+    plot_bgcolor: 'rgb(243, 243, 243)',
+    showlegend: false
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ rainbow-box-plot +

+
+ +
+
function linspace(a,b,n) {
+  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});
+}
+var boxNumber = 30;
+var boxColor = [];
+var allColors = linspace(0, 360, boxNumber);
+var data = [];
+var yValues = [];
+
+//Colors
+
+for( var i = 0; i < boxNumber;  i++ ){
+  var result = 'hsl('+ allColors[i] +',50%'+',50%)';
+  boxColor.push(result);
+}
+
+function getRandomArbitrary(min, max) {
+  return Math.random() * (max - min) + min;
+};
+
+//Create Y Values
+
+for( var i = 0; i < boxNumber;  i++ ){
+  var ySingleArray = [];
+    for( var j = 0; j < 10;  j++ ){
+      var randomNum = getRandomArbitrary(0, 1);
+      var yIndValue = 3.5*Math.sin(Math.PI * i/boxNumber) + i/boxNumber+(1.5+0.5*Math.cos(Math.PI*i/boxNumber))*randomNum;
+      ySingleArray.push(yIndValue);
+    }
+  yValues.push(ySingleArray);
+}
+
+//Create Traces
+
+for( var i = 0; i < boxNumber;  i++ ){
+  var result = {
+    y: yValues[i],
+    type:'box',
+    marker:{
+      color: boxColor[i]
+    }
+  };
+  data.push(result);
+};
+
+//Format the layout
+
+var layout = {
+  xaxis: {
+    showgrid: false,
+    zeroline: false,
+    tickangle: 60,
+    showticklabels: false
+  },
+  yaxis: {
+    zeroline: false,
+    gridcolor: 'white'
+  },
+  paper_bgcolor: 'rgb(233,233,233)',
+  plot_bgcolor: 'rgb(233,233,233)',
+  showlegend:false
+};
+
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/bubble-charts/index.html b/docs/examples/bubble-charts/index.html new file mode 100644 index 00000000000..a3a957a4b66 --- /dev/null +++ b/docs/examples/bubble-charts/index.html @@ -0,0 +1,5071 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Bubble Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

bubble-charts

+
+
+

+ marker-size-on-bubble-charts +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 11, 12, 13],
+  mode: 'markers',
+  marker: {
+    size: [40, 60, 80, 100]
+  }
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'Marker Size'
+  },
+  showlegend: false,
+  height: 600,
+  width: 600
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ hover-text-on-bubble-charts +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 11, 12, 13],
+  text: ['A<br>size: 40', 'B<br>size: 60', 'C<br>size: 80', 'D<br>size: 100'],
+  mode: 'markers',
+  marker: {
+    color: ['rgb(93, 164, 214)', 'rgb(255, 144, 14)',  'rgb(44, 160, 101)', 'rgb(255, 65, 54)'],
+    size: [40, 60, 80, 100]
+  }
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'Bubble Chart Hover Text'
+  },
+  showlegend: false,
+  height: 600,
+  width: 600
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ marker-size-and-color-on-bubble-charts +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 11, 12, 13],
+  mode: 'markers',
+  marker: {
+    color: ['rgb(93, 164, 214)', 'rgb(255, 144, 14)',  'rgb(44, 160, 101)', 'rgb(255, 65, 54)'],
+    opacity: [1, 0.8, 0.6, 0.4],
+    size: [40, 60, 80, 100]
+  }
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'Marker Size and Color'
+  },
+  showlegend: false,
+  height: 600,
+  width: 600
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bubble-size-scaling-on-charts +

+
+ +
+
// To scale the bubble size, use the attribute sizeref. We recommend using the following formula to calculate a sizeref value:
+// sizeref = 2.0 * Math.max(...size) / (desired_maximum_marker_size**2)
+// Note that setting 'sizeref' to a value greater than 1, decreases the rendered marker sizes, while setting 'sizeref' to less than 1, increases the rendered marker sizes. See https://plotly.com/python/reference/scatter/#scatter-marker-sizeref for more information. Additionally, we recommend setting the sizemode attribute: https://plotly.com/python/reference/scatter/#scatter-marker-sizemode to area.
+
+var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 11, 12, 13],
+  text: ['A<br>size: 40', 'B<br>size: 60', 'C<br>size: 80', 'D<br>size: 100'],
+  mode: 'markers',
+  marker: {
+    size: [400, 600, 800, 1000],
+    sizemode: 'area'
+  }
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4],
+  y: [14, 15, 16, 17],
+  text: ['A</br>size: 40</br>sixeref: 0.2', 'B</br>size: 60</br>sixeref: 0.2', 'C</br>size: 80</br>sixeref: 0.2', 'D</br>size: 100</br>sixeref: 0.2'],
+  mode: 'markers',
+  marker: {
+    size: [400, 600, 800, 1000],
+    //setting 'sizeref' to lower than 1 decreases the rendered size
+    sizeref: 2,
+    sizemode: 'area'
+  }
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [20, 21, 22, 23],
+  text: ['A</br>size: 40</br>sixeref: 2', 'B</br>size: 60</br>sixeref: 2', 'C</br>size: 80</br>sixeref: 2', 'D</br>size: 100</br>sixeref: 2'],
+  mode: 'markers',
+  marker: {
+    size: [400, 600, 800, 1000],
+    //setting 'sizeref' to less than 1, increases the rendered marker sizes
+    sizeref: 0.2,
+    sizemode: 'area'
+  }
+};
+
+// sizeref using above formula
+var desired_maximum_marker_size = 40;
+var size = [400, 600, 800, 1000];
+var trace4 = {
+  x: [1, 2, 3, 4],
+  y: [26, 27, 28, 29],
+  text: ['A</br>size: 40</br>sixeref: 1.25', 'B</br>size: 60</br>sixeref: 1.25', 'C</br>size: 80</br>sixeref: 1.25', 'D</br>size: 100</br>sixeref: 1.25'],
+  mode: 'markers',
+  marker: {
+    size: size,
+    //set 'sizeref' to an 'ideal' size given by the formula sizeref = 2. * max(array_of_size_values) / (desired_maximum_marker_size ** 2)
+    sizeref: 2.0 * Math.max(...size) / (desired_maximum_marker_size**2),
+    sizemode: 'area'
+  }
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {
+    text: 'Size Scaling in Bubble Charts'
+  },
+  showlegend: false,
+  height: 600,
+  width: 600
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ marker-size-color-and-symbol-as-an-array +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 11, 12, 13],
+  mode: 'markers',
+  marker: {
+    color: ['hsl(0,100,40)', 'hsl(33,100,40)', 'hsl(66,100,40)', 'hsl(99,100,40)'],
+    size: [12, 22, 32, 42],
+    opacity: [0.6, 0.7, 0.8, 0.9]
+  },
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4],
+  y: [11, 12, 13, 14],
+  mode: 'markers',
+  marker: {
+    color: 'rgb(31, 119, 180)',
+    size: 18,
+    symbol: ['circle', 'square', 'diamond', 'cross']
+  },
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [12, 13, 14, 15],
+  mode: 'markers',
+  marker: {
+    size: 18,
+    line: {
+      color: ['rgb(120,120,120)', 'rgb(120,120,120)', 'red', 'rgb(120,120,120)'],
+      width: [2, 2, 6, 2]
+    }
+  },
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {showlegend: false};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/bubble-maps/index.html b/docs/examples/bubble-maps/index.html new file mode 100644 index 00000000000..765826ae9b1 --- /dev/null +++ b/docs/examples/bubble-maps/index.html @@ -0,0 +1,4797 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Bubble Maps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

bubble-maps

+
+
+

+ europe-bubble-map +

+
+ +
+
var data = [{
+    type: 'scattergeo',
+    mode: 'markers',
+    locations: ['FRA', 'DEU', 'RUS', 'ESP'],
+    marker: {
+        size: [20, 30, 15, 10],
+        color: [10, 20, 40, 50],
+        cmin: 0,
+        cmax: 50,
+        colorscale: 'Greens',
+        colorbar: {
+            title: {text: 'Some rate'},
+            ticksuffix: '%',
+            showticksuffix: 'last'
+        },
+        line: {
+            color: 'black'
+        }
+    },
+    name: 'europe data'
+}];
+
+var layout = {
+    'geo': {
+        'scope': 'europe',
+        'resolution': 50
+    }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ usa-bubble-map +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_us_cities.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });
+    }
+
+    var cityName = unpack(rows, 'name'),
+        cityPop = unpack(rows, 'pop'),
+        cityLat = unpack(rows, 'lat'),
+        cityLon = unpack(rows, 'lon'),
+        color = [,"rgb(255,65,54)","rgb(133,20,75)","rgb(255,133,27)","lightgrey"],
+        citySize = [],
+        hoverText = [],
+        scale = 50000;
+
+    for ( var i = 0 ; i < cityPop.length; i++) {
+        var currentSize = cityPop[i] / scale;
+        var currentText = cityName[i] + " pop: " + cityPop[i];
+        citySize.push(currentSize);
+        hoverText.push(currentText);
+    }
+
+    var data = [{
+        type: 'scattergeo',
+        locationmode: 'USA-states',
+        lat: cityLat,
+        lon: cityLon,
+        hoverinfo: 'text',
+        text: hoverText,
+        marker: {
+            size: citySize,
+            line: {
+                color: 'black',
+                width: 2
+            },
+        }
+    }];
+
+    var layout = {
+        title: {text: '2014 US City Populations'},
+        showlegend: false,
+        geo: {
+            scope: 'usa',
+            projection: {
+                type: 'albers usa'
+            },
+            showland: true,
+            landcolor: 'rgb(217, 217, 217)',
+            subunitwidth: 1,
+            countrywidth: 1,
+            subunitcolor: 'rgb(255,255,255)',
+            countrycolor: 'rgb(255,255,255)'
+        },
+    };
+
+    Plotly.newPlot("myDiv", data, layout, {showLink: false});
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/bullet-charts/index.html b/docs/examples/bullet-charts/index.html new file mode 100644 index 00000000000..5da5a51cb52 --- /dev/null +++ b/docs/examples/bullet-charts/index.html @@ -0,0 +1,4987 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Bullet Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

bullet-charts

+
+
+

+ basic-bullet-charts +

+
+

Stephen Few's Bullet Chart was invented to replace dashboard gauges and meters, combining both types of charts into simple bar charts with qualitative bars (steps), quantitative bar (bar) and performance line (threshold); all into one simple layout. +Steps typically are broken into several values, which are defined with an array. The bar represent the actual value that a particular variable reached, and the threshold usually indicate a goal point relative to the value achieved by the bar. See indicator page for more detail.

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+gauge+delta",
+    gauge: { shape: "bullet" },
+    delta: { reference: 300 },
+    value: 220,
+    domain: { x: [0, 1], y: [0, 1] },
+    title: { text: "Profit" }
+  }
+];
+
+var layout = { width: 600, height: 250 };
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-steps-and-threshold +

+
+

Below is the same example using "steps" attribute, which is shown as shading, and "threshold" to determine boundaries that visually alert you if the value cross a defined threshold.

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+gauge+delta",
+    value: 220,
+    domain: { x: [0, 1], y: [0, 1] },
+    title: {
+      text: "<b>Profit</b>"
+    },
+    delta: { reference: 200 },
+    gauge: {
+      shape: "bullet",
+      axis: { range: [null, 300] },
+      threshold: {
+        line: { color: "red", width: 2 },
+        thickness: 0.75,
+        value: 280
+      },
+      steps: [
+        { range: [0, 150], color: "lightgray" },
+        { range: [150, 250], color: "gray" }
+      ]
+    }
+  }
+];
+
+var layout = { width: 600, height: 250 };
+var config = { responsive: true };
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ custom-bullet-chart +

+
+

The following example shows how to customize your charts. For more information about all possible options check our reference page.

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+gauge+delta",
+    value: 220,
+    domain: { x: [0, 1], y: [0, 1] },
+    delta: { reference: 280, position: "top" },
+    title: {
+      text:
+        "<b>Profit</b><br><span style='color: gray; font-size:0.8em'>U.S. $</span>",
+      font: { size: 14 }
+    },
+    gauge: {
+      shape: "bullet",
+      axis: { range: [null, 300] },
+      threshold: {
+        line: { color: "red", width: 2, gradient: { yanchor: "vertical" } },
+        thickness: 0.75,
+        value: 270
+      },
+      bgcolor: "white",
+      steps: [{ range: [0, 150], color: "cyan" }],
+      bar: { color: "darkblue" }
+    }
+  }
+];
+
+var layout = { width: 400, height: 230 };
+var config = { responsive: true };
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multi-bullet +

+
+

Bullet charts can be stacked for comparing several values at once as illustrated below:

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+gauge+delta",
+    value: 180,
+    delta: { reference: 200 },
+    domain: { x: [0.25, 1], y: [0.08, 0.25] },
+    title: { text: "Revenue" },
+    gauge: {
+      shape: "bullet",
+      axis: { range: [null, 300] },
+      threshold: {
+        line: { color: "black", width: 2 },
+        thickness: 0.75,
+        value: 170
+      },
+      steps: [
+        { range: [0, 150], color: "gray" },
+        {
+          range: [150, 250],
+          color: "lightgray"
+        }
+      ],
+      bar: { color: "black" }
+    }
+  },
+  {
+    type: "indicator",
+    mode: "number+gauge+delta",
+    value: 35,
+    delta: { reference: 200 },
+    domain: { x: [0.25, 1], y: [0.4, 0.6] },
+    title: { text: "Profit" },
+    gauge: {
+      shape: "bullet",
+      axis: { range: [null, 100] },
+      threshold: {
+        line: { color: "black", width: 2 },
+        thickness: 0.75,
+        value: 50
+      },
+      steps: [
+        { range: [0, 25], color: "gray" },
+        { range: [25, 75], color: "lightgray" }
+      ],
+      bar: { color: "black" }
+    }
+  },
+  {
+    type: "indicator",
+    mode: "number+gauge+delta",
+    value: 220,
+    delta: { reference: 200 },
+    domain: { x: [0.25, 1], y: [0.7, 0.9] },
+    title: { text: "Satisfaction" },
+    gauge: {
+      shape: "bullet",
+      axis: { range: [null, 300] },
+      threshold: {
+        line: { color: "black", width: 2 },
+        thickness: 0.75,
+        value: 210
+      },
+      steps: [
+        { range: [0, 150], color: "gray" },
+        { range: [150, 250], color: "lightgray" }
+      ],
+      bar: { color: "black" }
+    }
+  }
+];
+
+var layout = {
+  width: 600, height: 250,
+  margin: { t: 10, r: 25, l: 25, b: 10 }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/candlestick-charts/index.html b/docs/examples/candlestick-charts/index.html new file mode 100644 index 00000000000..1994f224e8a --- /dev/null +++ b/docs/examples/candlestick-charts/index.html @@ -0,0 +1,5268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Candlestick Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

candlestick-charts

+
+
+

+ simple-candlestick-chart +

+
+ +
+
var trace1 = {
+
+  x: ['2017-01-04', '2017-01-05', '2017-01-06', '2017-01-09', '2017-01-10', '2017-01-11', '2017-01-12', '2017-01-13', '2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10', '2017-02-13', '2017-02-14', '2017-02-15'],
+
+  close: [116.019997, 116.610001, 117.910004, 118.989998, 119.110001, 119.75, 119.25, 119.040001, 120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995, 133.289993, 135.020004, 135.509995],
+
+  decreasing: {line: {color: '#7F7F7F'}},
+
+  high: [116.510002, 116.860001, 118.160004, 119.43, 119.379997, 119.93, 119.300003, 119.620003, 120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002, 133.820007, 135.089996, 136.270004],
+
+  increasing: {line: {color: '#17BECF'}},
+
+  line: {color: 'rgba(31,119,180,1)'},
+
+  low: [115.75, 115.809998, 116.470001, 117.940002, 118.300003, 118.599998, 118.209999, 118.809998, 118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003, 132.75, 133.25, 134.619995],
+
+  open: [115.849998, 115.919998, 116.779999, 117.949997, 118.769997, 118.739998, 118.900002, 119.110001, 118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007, 133.080002, 133.470001, 135.520004],
+
+  type: 'candlestick',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace1];
+
+var layout = {
+  dragmode: 'zoom',
+  margin: {
+    r: 10,
+    t: 25,
+    b: 40,
+    l: 60
+  },
+  showlegend: false,
+  xaxis: {
+    autorange: true,
+    domain: [0, 1],
+    range: ['2017-01-03 12:00', '2017-02-15 12:00'],
+    rangeslider: {range: ['2017-01-03 12:00', '2017-02-15 12:00']},
+    title: {
+      text: 'Date'
+    },
+    type: 'date'
+  },
+  yaxis: {
+    autorange: true,
+    domain: [0, 1],
+    range: [114.609999778, 137.410004222],
+    type: 'linear'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ candlestick-chart-without-rangeslider +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var trace = {
+  x: unpack(rows, 'Date'),
+  close: unpack(rows, 'AAPL.Close'),
+  high: unpack(rows, 'AAPL.High'),
+  low: unpack(rows, 'AAPL.Low'),
+  open: unpack(rows, 'AAPL.Open'),
+
+  // cutomise colors
+  increasing: {line: {color: 'black'}},
+  decreasing: {line: {color: 'red'}},
+
+  type: 'candlestick',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace];
+
+var layout = {
+  dragmode: 'zoom',
+  showlegend: false,
+  xaxis: {
+    rangeslider: {
+         visible: false
+     }
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customise-candlestick-chart-with-shapes-and-annotations +

+
+ +
+
var trace1 = {
+
+  x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'],
+
+  close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995],
+
+  decreasing: {line: {color: '#7F7F7F'}},
+
+  high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002],
+
+  increasing: {line: {color: '#17BECF'}},
+
+  line: {color: 'rgba(31,119,180,1)'},
+
+  low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003],
+
+  open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007],
+
+  type: 'candlestick',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace1];
+
+var layout = {
+  dragmode: 'zoom',
+  margin: {
+    r: 10,
+    t: 25,
+    b: 40,
+    l: 60
+  },
+  showlegend: false,
+  xaxis: {
+    autorange: true,
+    rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']},
+    title: {
+      text: 'Date'
+    },
+    type: 'date'
+  },
+  yaxis: {
+    autorange: true,
+    type: 'linear'
+  },
+
+  annotations: [
+    {
+      x: '2017-01-31',
+      y: 0.9,
+      xref: 'x',
+      yref: 'paper',
+      text: 'largest movement',
+      font: {color: 'magenta'},
+      showarrow: true,
+      xanchor: 'right',
+      ax: -20,
+      ay: 0
+    }
+  ],
+
+  shapes: [
+      {
+          type: 'rect',
+          xref: 'x',
+          yref: 'paper',
+          x0: '2017-01-31',
+          y0: 0,
+          x1: '2017-02-01',
+          y1: 1,
+          fillcolor: '#d3d3d3',
+          opacity: 0.2,
+          line: {
+              width: 0
+          }
+      }
+    ]
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customizing-candlestick-chart-colors +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var trace = {
+  x: unpack(rows, 'Date'),
+  close: unpack(rows, 'AAPL.Close'),
+  high: unpack(rows, 'AAPL.High'),
+  low: unpack(rows, 'AAPL.Low'),
+  open: unpack(rows, 'AAPL.Open'),
+
+  // cutomise colors
+  increasing: {line: {color: 'black'}},
+  decreasing: {line: {color: 'red'}},
+
+  type: 'candlestick',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace];
+
+var layout = {
+  dragmode: 'zoom',
+  showlegend: false,
+  xaxis: {
+    title: {
+      text: 'Date'
+    },
+    range: ['2016-06-01 12:00', '2017-01-01 12:00']
+  },
+  yaxis: {
+    autorange: true,
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-rangeselector +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var trace = {
+  x: unpack(rows, 'Date'),
+  close: unpack(rows, 'AAPL.Close'),
+  high: unpack(rows, 'AAPL.High'),
+  low: unpack(rows, 'AAPL.Low'),
+  open: unpack(rows, 'AAPL.Open'),
+
+  // cutomise colors
+  increasing: {line: {color: 'black'}},
+  decreasing: {line: {color: 'red'}},
+
+  type: 'candlestick',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace];
+
+var layout = {
+  dragmode: 'zoom',
+  showlegend: false,
+  xaxis: {
+    autorange: true,
+    title: {
+      text: 'Date'
+    },
+      rangeselector: {
+        x: 0,
+        y: 1.2,
+        xanchor: 'left',
+        font: {size:8},
+        buttons: [{
+            step: 'month',
+            stepmode: 'backward',
+            count: 1,
+            label: '1 month'
+        }, {
+            step: 'month',
+            stepmode: 'backward',
+            count: 6,
+            label: '6 months'
+        }, {
+            step: 'all',
+            label: 'All dates'
+        }]
+      }
+  },
+  yaxis: {
+    autorange: true,
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/carpet-contour/index.html b/docs/examples/carpet-contour/index.html new file mode 100644 index 00000000000..03b5967e204 --- /dev/null +++ b/docs/examples/carpet-contour/index.html @@ -0,0 +1,5205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Carpet Contour Plot - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

carpet-contour

+
+
+

+ basic-carpet-plot +

+
+ +
+
var trace1  = {
+    type: 'carpet',
+    a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3],
+    b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6],
+    x: [2, 3, 4, 5, 2.2, 3.1, 4.1, 5.1, 1.5, 2.5, 3.5, 4.5],
+    y: [1, 1.4, 1.6, 1.75, 2, 2.5, 2.7, 2.75, 3, 3.5, 3.7, 3.75],
+    aaxis: {
+      tickprefix: "a = ",
+      smoothing: 0,
+      minorgridcount: 9,
+      type: 'linear'
+},
+    baxis: {
+      tickprefix: "b = ",
+      smoothing: 0,
+      minorgridcount: 9,
+      type: 'linear'
+    }
+}
+
+var layout = {
+    title: {
+      text: "Cheater plot with 1d input"
+    },
+    margin: {
+      t: 40, r: 30, b: 30, l: 30
+    },
+    yaxis: {
+      range: [0.388,4.361]
+    },
+    xaxis: {
+      range: [0.667,5.932]
+    }
+}
+
+var data = [trace1]
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-contours +

+
+ +
+
var trace1 = {
+    type: 'contourcarpet',
+    a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3],
+    b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6],
+    z: [1, 1.96, 2.56, 3.0625, 4, 5.0625, 1, 7.5625, 9, 12.25, 15.21, 14.0625],
+    autocontour: false,
+    contours: {
+      start: 1,
+      end: 14,
+      size: 1
+    },
+    line: {
+      width: 2,
+      smoothing: 0
+    },
+    colorbar: {
+      len: 0.4,
+      y: 0.25
+    }
+}
+
+var trace2  = {
+    type: 'carpet',
+    a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3],
+    b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6],
+    x: [2, 3, 4, 5, 2.2, 3.1, 4.1, 5.1, 1.5, 2.5, 3.5, 4.5],
+    y: [1, 1.4, 1.6, 1.75, 2, 2.5, 2.7, 2.75, 3, 3.5, 3.7, 3.75],
+    aaxis: {
+      tickprefix: "a = ",
+      smoothing: 0,
+      minorgridcount: 9,
+      type: 'linear'
+},
+    baxis: {
+      tickprefix: "b = ",
+      smoothing: 0,
+      minorgridcount: 9,
+      type: 'linear'
+    }
+}
+
+var layout = {
+    title: {
+      text: "Cheater plot with 1d input"
+    },
+    margin: {
+      t: 40, r: 30, b: 30, l: 30
+    },
+    yaxis: {
+      range: [0.388,4.361]
+    },
+    xaxis: {
+      range: [0.667,5.932]
+    }
+}
+
+var data = [trace1,trace2]
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-multiple-traces +

+
+ +
+
function Get(url){
+    var Httpreq = new XMLHttpRequest();
+    Httpreq.open("GET",url,false);
+    Httpreq.send(null);
+    return Httpreq.responseText;
+}
+
+var json_obj = JSON.parse(Get("https://raw.githubusercontent.com/bcdunbar/datasets/master/airfoil_data.json"));
+
+var trace1 = {
+      a: json_obj[0].a,
+      b: json_obj[0].b,
+      baxis: {
+        startline: false,
+        endline: false,
+        showticklabels: "none",
+        smoothing: 0,
+        showgrid: false
+      },
+      x: json_obj[0].x,
+      y: json_obj[0].y,
+      type: "carpet",
+      aaxis:{
+        startlinewidth: 2,
+        startline: true,
+        showticklabels: "none",
+        endline: true,
+        showgrid: false,
+        endlinewidth: 2,
+        smoothing: 0
+      }
+    }
+
+ var trace2 = {
+      autocolorscale: false,
+      zmax: 1,
+      name: "Pressure",
+      colorscale: "Viridis",
+      zmin: -8,
+      colorbar: {
+        y: 0,
+        yanchor: "bottom",
+        title: {side:
+          'right'
+        },
+        len: 0.75,
+        title: {
+          text: "Pressure coefficient, c<sub>p</sub>"
+        },
+      },
+      contours: {
+        start: -1,
+        size: 0.025,
+        end: 1.000,
+        showlines: false
+      },
+      line: {
+        smoothing: 0
+      },
+      z: json_obj[1].z,
+      type: "contourcarpet",
+      autocontour: false,
+      zauto: false
+    }
+
+ var trace3 = {
+      opacity: 0.300,
+      showlegend: true,
+      name: "Streamlines",
+      autocontour: true,
+      ncontours: 50,
+      contours: {
+        coloring: "none"
+      },
+      line: {
+        color: "white",
+        width: 1
+      },
+      z: json_obj[2].z,
+      type: "contourcarpet"
+    }
+
+ var trace4 = {
+      showlegend: true,
+      name: "Pressure<br>contours",
+      autocontour: false,
+      z: json_obj[3].z,
+      type: "contourcarpet",
+      line: {
+        color: "rgba(0, 0, 0, 0.5)",
+        smoothing: 1
+      },
+      contours: {
+        size: 0.250,
+        start: -4,
+        coloring: "none",
+        end: 1.000,
+        showlines: true
+      }
+    }
+
+ var trace5 = {
+      legendgroup: "g1",
+      name: "Surface<br>pressure",
+      mode: "lines",
+      hoverinfo: "skip",
+      x: json_obj[4].x,
+      y: json_obj[4].y,
+      line: {
+        color: "rgba(255, 0, 0, 0.5)",
+        width: 1,
+        shape: "spline",
+        smoothing: 1
+      },
+      fill: "toself",
+      type: "scatter",
+      fillcolor: "rgba(255, 0, 0, 0.2)"
+    }
+
+ var trace6 = {
+      showlegend: false,
+      legendgroup: "g1",
+      mode: "lines",
+      hoverinfo: "skip",
+      x: json_obj[5].x,
+      y: json_obj[5].y,
+      line: {
+        color: "rgba(255, 0, 0, 0.3)",
+        width: 1
+      },
+      type: "scatter"
+    }
+
+ var trace7 = {
+      showlegend: false,
+      legendgroup: "g1",
+      name: "cp",
+      text: json_obj[6].text,
+      mode: "lines",
+      hoverinfo: "text",
+      x: json_obj[6].x,
+      y: json_obj[6].y,
+      line: {
+        color: "rgba(255, 0, 0, 0.2)",
+        width: 0
+      },
+      type: "scatter"
+    }
+
+data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7]
+
+var layout = {
+    yaxis: {
+      zeroline: false,
+      range: [-1.800,1.800],
+      showgrid: false
+    },
+    dragmode: "pan",
+    height: 700,
+    xaxis: {
+      zeroline: false,
+      scaleratio: 1,
+      scaleanchor: "y",
+      range: [-3.800,3.800],
+      showgrid: false
+    },
+    title: {
+      text: "Flow over a Karman-Trefftz airfoil"
+    },
+    hovermode: "closest",
+    margin: {
+      r: 60,
+      b: 40,
+      l: 40,
+      t: 80
+    },
+    width: 900
+  }
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/carpet-plot/index.html b/docs/examples/carpet-plot/index.html new file mode 100644 index 00000000000..ede1fc445ed --- /dev/null +++ b/docs/examples/carpet-plot/index.html @@ -0,0 +1,4840 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Carpet Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

carpet-plot

+
+
+

+ set-x-and-y-coordinates +

+
+ +
+
var data = {
+    type: 'carpet',
+    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10]
+}
+
+var data = [data]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-parameter-values +

+
+ +
+
var data = {
+    type: 'carpet',
+    a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6],
+    b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
+    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10]
+}
+
+var data = [data]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-a-and-b-axis +

+
+ +
+
var data = {
+    type: 'carpet',
+    a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6],
+    b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
+    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],
+    aaxis: {
+      tickprefix: 'a = ',
+      ticksuffix: 'm',
+      smoothing: 1,
+      minorgridcount: 9
+    },
+    baxis: {
+      tickprefix: 'b = ',
+      ticksuffix: 'Pa',
+      smoothing: 1,
+      minorgridcount: 9
+    }
+}
+
+var data = [data]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ style-a-and-b-axis +

+
+ +
+
var trace1 = {
+    type: "carpet",
+    a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6],
+    b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
+    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],
+    aaxis: {
+        tickprefix: 'a = ',
+        ticksuffix: 'm',
+        smoothing: 1,
+        minorgridcount: 9,
+        minorgridcolor: 'white',
+        gridcolor: 'white',
+        color: 'white'
+    },
+    baxis: {
+        tickprefix: 'b = ',
+        ticksuffix: 'pa',
+        smoothing: 1,
+        minorgridcount: 9,
+        minorgridcolor: 'white',
+        gridcolor: 'white',
+        color: 'white'
+    }
+}
+
+var layout = {
+  plot_bgcolor: 'black',
+  paper_bgcolor: 'black'
+}
+
+Plotly.newPlot('myDiv', [trace1], layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-points-and-contours +

+
+ + +
+ To add points and lines see Carpet Scatter Plots or to add contours see Carpet Contour Plots +
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/carpet-scatter/index.html b/docs/examples/carpet-scatter/index.html new file mode 100644 index 00000000000..137bbfdb8c6 --- /dev/null +++ b/docs/examples/carpet-scatter/index.html @@ -0,0 +1,4945 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Carpet Scatter Plot - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

carpet-scatter

+
+
+

+ basic-carpet-plot +

+
+ +
+
var trace1 = {
+  type: 'carpet',
+  a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6),
+  b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6),
+  y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],
+  aaxis: {
+    tickprefix: 'a = ',
+    ticksuffix: 'm',
+    smoothing: 1,
+    minorgridcount: 9,
+  },
+  baxis: {
+    tickprefix: 'b = ',
+    ticksuffix: 'Pa',
+    smoothing: 1,
+    minorgridcount: 9,
+  }
+}
+
+var data = [trace1]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-carpet-scatter-trace +

+
+ +
+
var trace1 = {
+  type: 'carpet',
+  a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6),
+  b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6),
+  y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],
+  aaxis: {
+    tickprefix: 'a = ',
+    ticksuffix: 'm',
+    smoothing: 1,
+    minorgridcount: 9,
+  },
+  baxis: {
+    tickprefix: 'b = ',
+    ticksuffix: 'Pa',
+    smoothing: 1,
+    minorgridcount: 9,
+  }
+}
+
+var trace2 = {
+  type: 'scattercarpet',
+  a: [4, 4.5, 5, 6].map(a => a * 1e-6),
+  b: [1.5, 2.5, 1.5, 2.5].map(b => b * 1e6),
+  line: {shape: 'spline', smoothing: 1}
+}
+
+var data = [trace1,trace2]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-multiple-carpet-scatter-traces +

+
+ +
+
var trace1 = {
+      type: "carpet",
+      a: [0.1, 0.2, 0.3],
+      b: [1, 2, 3],
+      y: [
+        [1, 2.2, 3],
+        [1.5, 2.7, 3.5],
+        [1.7, 2.9, 3.7]
+      ],
+      cheaterslope: 1,
+      aaxis: {
+        title: {
+          text: "a"
+        },
+        tickmode: "linear",
+        dtick: 0.05,
+        minorgridcount: 9
+      },
+      baxis: {
+        title: {
+          text: "b"
+        },
+        tickmode: "linear",
+        dtick: 0.5,
+        minorgridcount: 9
+      }
+}
+
+var trace2 = {
+  type: "scattercarpet",
+  name: "b = 1.5",
+  a: [0.05, 0.15, 0.25, 0.35],
+  b: [1.5, 1.5, 1.5, 1.5]
+}
+
+var trace3 = {
+  type: "scattercarpet",
+  name: "b = 2",
+  a: [0.05, 0.15, 0.25, 0.35],
+  b: [2, 2, 2, 2]
+}
+
+var trace4 = {
+  type: "scattercarpet",
+  name: "b = 2.5",
+  a: [0.05, 0.15, 0.25, 0.35],
+  b: [2.5, 2.5, 2.5, 2.5]
+}
+
+var trace5 = {
+  type: "scattercarpet",
+  name: "a = 0.15",
+  a: [0.15, 0.15, 0.15, 0.15],
+  b: [0.5, 1.5, 2.5, 3.5],
+  line: {
+        smoothing: 1,
+        shape: "spline"
+  }
+}
+
+var trace6 = {
+  type: "scattercarpet",
+  name: "a = 0.2",
+  a: [0.2, 0.2, 0.2, 0.2],
+  b: [0.5, 1.5, 2.5, 3.5],
+  line: {
+        smoothing: 1,
+        shape: "spline"
+  },
+  marker: {
+        size: [10, 20, 30, 40],
+        color: ["#000", "#f00", "#ff0", "#fff"]
+  }
+}
+
+var trace7 = {
+  type: "scattercarpet",
+  name: "a = 0.25",
+  a: [0.25, 0.25, 0.25, 0.25],
+  b: [0.5, 1.5, 2.5, 3.5],
+  line: {
+        smoothing: 1,
+        shape: "spline"
+  }
+}
+
+var data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7]
+
+var layout = {
+  title: {
+    text: "scattercarpet extrapolation, clipping, and smoothing"
+  },
+  hovermode: "closest"
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/choropleth-maps/index.html b/docs/examples/choropleth-maps/index.html new file mode 100644 index 00000000000..291c2f84c05 --- /dev/null +++ b/docs/examples/choropleth-maps/index.html @@ -0,0 +1,5080 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Choropleth Maps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

choropleth-maps

+
+
+

+ world-choropleth-map-(robinson-projection) +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2010_alcohol_consumption_by_country.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+    var data = [{
+        type: 'choropleth',
+        locationmode: 'country names',
+        locations: unpack(rows, 'location'),
+        z: unpack(rows, 'alcohol'),
+        text: unpack(rows, 'location'),
+        autocolorscale: true
+    }];
+
+    var layout = {
+      title: {text: 'Pure alcohol consumption<br>among adults (age 15+) in 2010'},
+      geo: {
+          projection: {
+              type: 'robinson'
+          }
+      }
+    };
+
+    Plotly.newPlot("myDiv", data, layout, {showLink: false});
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ usa-choropleth-map +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_us_ag_exports.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+      var data = [{
+          type: 'choropleth',
+          locationmode: 'USA-states',
+          locations: unpack(rows, 'code'),
+          z: unpack(rows, 'total exports'),
+          text: unpack(rows, 'state'),
+          zmin: 0,
+          zmax: 17000,
+          colorscale: [
+              [0, 'rgb(242,240,247)'], [0.2, 'rgb(218,218,235)'],
+              [0.4, 'rgb(188,189,220)'], [0.6, 'rgb(158,154,200)'],
+              [0.8, 'rgb(117,107,177)'], [1, 'rgb(84,39,143)']
+          ],
+          colorbar: {
+              title: {text: 'Millions USD'},
+              thickness: 0.2
+          },
+          marker: {
+              line:{
+                  color: 'rgb(255,255,255)',
+                  width: 2
+              }
+          }
+      }];
+
+
+      var layout = {
+          title: {text: '2011 US Agriculture Exports by State'},
+          geo:{
+              scope: 'usa',
+              showlakes: true,
+              lakecolor: 'rgb(255,255,255)'
+          }
+      };
+
+      Plotly.newPlot("myDiv", data, layout, {showLink: false});
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ country-gdp-choropleth-map +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_world_gdp_with_codes.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+       var data = [{
+            type: 'choropleth',
+            locations: unpack(rows, 'CODE'),
+            z: unpack(rows, 'GDP (BILLIONS)'),
+            text: unpack(rows, 'COUNTRY'),
+            colorscale: [
+                [0,'rgb(5, 10, 172)'],[0.35,'rgb(40, 60, 190)'],
+                [0.5,'rgb(70, 100, 245)'], [0.6,'rgb(90, 120, 245)'],
+                [0.7,'rgb(106, 137, 247)'],[1,'rgb(220, 220, 220)']],
+            autocolorscale: false,
+            reversescale: true,
+            marker: {
+                line: {
+                    color: 'rgb(180,180,180)',
+                    width: 0.5
+                }
+            },
+            tick0: 0,
+            zmin: 0,
+            dtick: 1000,
+            colorbar: {
+                autotic: false,
+                tickprefix: '$',
+                title: {text: 'GDP<br>Billions US$'}
+            }
+      }];
+
+      var layout = {
+          title: {text: '2014 Global GDP<br>Source: <a href="https://www.cia.gov/library/publications/the-world-factbook/fields/2195.html"> CIA World Factbook</a>'},
+          geo:{
+              showframe: false,
+              showcoastlines: false,
+              projection:{
+                  type: 'mercator'
+              }
+          }
+      };
+      Plotly.newPlot("myDiv", data, layout, {showLink: false});
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ choropleth-map-of-2014-us-population-by-state +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv', function(err, rows){
+                function unpack(rows, key) {
+return rows.map(function(row) { return row[key]; });
+}
+var data = [{
+    type: 'choropleth',
+    locationmode: 'USA-states',
+    locations: unpack(rows, 'Postal'),
+    z: unpack(rows, 'Population'),
+    text: unpack(rows, 'State'),
+    autocolorscale: true
+}];
+
+var layout = {
+title: {text: '2014 US Popultaion by State'},
+    geo:{
+        scope: 'usa',
+        countrycolor: 'rgb(255, 255, 255)',
+        showland: true,
+        landcolor: 'rgb(217, 217, 217)',
+        showlakes: true,
+        lakecolor: 'rgb(255, 255, 255)',
+        subunitcolor: 'rgb(255, 255, 255)',
+        lonaxis: {},
+        lataxis: {}
+    }
+};
+Plotly.newPlot("myDiv", data, layout, {showLink: false});
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ choropleth-map-of-florida-counties-colored-by-political-party +

+
+ +
+
d3.json('https://raw.githubusercontent.com/plotly/datasets/master/florida-red-data.json', function(redjson) {
+
+  d3.json('https://raw.githubusercontent.com/plotly/datasets/master/florida-blue-data.json', function(bluejson) {
+
+    Plotly.newPlot('myDiv', [{
+      type: 'scattermap',
+      lat: [46],
+      lon: [-74]
+    }], {
+      title: {text: "Florida Counties"},
+      height: 600,
+      width: 600,
+      map: {
+        center: {
+          lat: 28,
+          lon: -84
+        },
+        style: 'light',
+        zoom: 4.8,
+        layers: [
+          {
+            sourcetype: 'geojson',
+            source: redjson,
+            type: 'fill',
+            color: 'rgba(163,22,19,0.8)'
+          },
+          {
+            sourcetype: 'geojson',
+            source: bluejson,
+            type: 'fill',
+            color: 'rgba(40,0,113,0.8)'
+          },
+        ]
+      }
+    });
+
+
+});
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/click-events/index.html b/docs/examples/click-events/index.html new file mode 100644 index 00000000000..a036c52b825 --- /dev/null +++ b/docs/examples/click-events/index.html @@ -0,0 +1,4680 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Click Events - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

click-events

+
+
+

+ click-event-data +

+
+ +
+
{
+  points: [{
+    curveNumber: 2,  // index in data of the trace associated with the selected point
+    pointNumber: 2,  // index of the selected point
+    x: 5,        // x value
+    y: 600,      // y value
+    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point
+    fullData: {/* */},   // ref to the trace including all the defaults
+   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point
+   yaxis: {/* */}    // ref to y-axis object " "
+  }, {
+    /* similarly for other selected points */
+  }]
+}
+
+ + +
+
+
+ +
+
+

+ binding-to-click-events +

+
+ +
+
var myPlot = document.getElementById('myDiv'),
+    N = 16,
+    x = d3.range(N),
+    y = d3.range(N).map( d3.random.normal() ),
+    data = [ { x:x, y:y, type:'scatter',
+            mode:'markers', marker:{size:16} } ],
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Click on Points'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_click', function(data){
+    var pts = '';
+    for(var i=0; i < data.points.length; i++){
+        pts = 'x = '+data.points[i].x +'\ny = '+
+            data.points[i].y.toPrecision(4) + '\n\n';
+    }
+    alert('Closest point clicked:\n\n'+pts);
+});
+
+ + + + + +
+
+
+ +
+
+

+ create-annotation-on-click-event +

+
+ +
+
var myPlot = document.getElementById('myDiv'),
+    N = 100,
+    x = d3.range(N),
+    y1 = d3.range(N).map( d3.random.normal() ),
+    y2 = d3.range(N).map( d3.random.normal(-2) ),
+    y3 = d3.range(N).map( d3.random.normal(2) ),
+    trace1 = { x:x, y:y1, type:'scatter', mode:'lines', name:'Jeff' },
+    trace2 = { x:x, y:y2, type:'scatter', mode:'lines', name:'Terren' },
+    trace3 = { x:x, y:y3, type:'scatter', mode:'lines', name:'Arthur' },
+    data = [ trace1, trace2, trace3 ],
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Click on Points to add an Annotation on it'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_click', function(data){
+    var pts = '';
+    for(var i=0; i < data.points.length; i++){
+        annotate_text = 'x = '+data.points[i].x +
+                      'y = '+data.points[i].y.toPrecision(4);
+
+        annotation = {
+          text: annotate_text,
+          x: data.points[i].x,
+          y: parseFloat(data.points[i].y.toPrecision(4))
+        }
+
+        annotations = self.layout.annotations || [];
+        annotations.push(annotation);
+        Plotly.relayout('myDiv',{annotations: annotations})
+    }
+});
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/colorway/index.html b/docs/examples/colorway/index.html new file mode 100644 index 00000000000..5fd4b5d249b --- /dev/null +++ b/docs/examples/colorway/index.html @@ -0,0 +1,4642 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Colorway - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

colorway

+
+
+

+ set-default-trace-colors-with-colorway +

+
+ +
+
function linspace(a,b,n) {
+  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});
+}
+
+const parabolaGen = (a, b) =>
+  x => x*x*a + b;
+
+var as = linspace(1, 3, 7);
+var bs = linspace(2, 14, 7);
+var x = linspace(-1, 3, 50);
+var data = [];
+
+for (i=0; i< as.length; i++ ){
+  data.push({
+    type: "scatter",
+    mode: "lines",
+    x: x,
+    y: x.map(parabolaGen(as[i],bs[i]))
+  })
+}
+
+var layout = {
+  colorway : ['#f3cec9', '#e7a4b6', '#cd7eaf', '#a262a9', '#6f4d96', '#3d3b72', '#182844']
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/cone-plot/index.html b/docs/examples/cone-plot/index.html new file mode 100644 index 00000000000..ec65c8e4b0e --- /dev/null +++ b/docs/examples/cone-plot/index.html @@ -0,0 +1,4973 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 3D Cone Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

cone-plot

+
+
+

+ basic-3d-cone +

+
+ +
+
var data = [{
+  type: "cone",
+  x: [1], y: [1], z: [1],
+  u: [1], v: [1], w: [0]
+}]
+
+var layout = {
+  "scene": {
+    "camera": {
+      "eye": {x: -0.76, y: 1.8, z: 0.92}
+    }
+  }
+}
+
+Plotly.newPlot('myDiv',data,layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-3d-cone +

+
+ +
+
var data = [{
+      type: "cone",
+      x: [1, 2, 3],
+      y: [1, 2, 3],
+      z: [1, 2, 3],
+      u: [1, 0, 0],
+      v: [0, 3, 0],
+      w: [0, 0, 2],
+      sizemode: "absolute",
+      sizeref: 2,
+      anchor: "tip",
+      colorbar: {
+        x: 0,
+        xanchor: "right",
+        side: "left"
+      }
+}]
+
+var layout = {
+    scene: {
+      domain: {x: [0, 1]},
+      camera: {
+        eye: {x: -1.57, y: 1.36, z: 0.58}
+      }
+    },
+    width: 800
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ 3d-cone-lighting +

+
+ +
+
var data = [{
+    type: "cone",
+    name: "base",
+    x: [1, 1, 1],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false
+  },
+  {
+    type: "cone",
+    name: "opacity:0.3",
+    x: [2, 2, 2],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false,
+    opacity: 0.3
+  },
+  {
+    type: "cone",
+    name: "lighting.ambient:0.3",
+    x: [3, 3, 3],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false,
+    lighting: {ambient: 0.3}
+  },
+  {
+    type: "cone",
+    name: "lighting.diffuse:0.3",
+    x: [4, 4, 4],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false,
+    lighting: {diffuse: 0.3}
+  },
+  {
+    type: "cone",
+    name: "lighting.specular:2",
+    x: [5, 5, 5],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false,
+    lighting: {specular: 2}
+  },
+  {
+    type: "cone",
+    name: "lighting.roughness:1",
+    x: [6, 6, 6],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false,
+    lighting: {roughness: 1}
+  },
+  {
+    type: "cone",
+    name: "lighting.fresnel:2",
+    x: [7, 7, 7],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false,
+    lighting: {fresnel: 2}
+  },
+  {
+    type: "cone",
+    name: "lighting.position x:0,y:0,z:1e5",
+    x: [8, 8, 8],
+    y: [1, 2, 3],
+    z: [1, 1, 1],
+    u: [1, 2, 3],
+    v: [1, 1, 2],
+    w: [4, 4, 1],
+    hoverinfo: "u+v+w+name",
+    showscale: false,
+    lightposition: {x: 0, y: 0, z: 1e5}
+}]
+
+var layout = {
+  scene: {
+    aspectmode: "data",
+    camera: {
+      eye: {x: 0.05, y: -2.6, z: 2}
+    }
+  },
+  width: 500,
+  height: 500,
+  margin: {t: 0, b: 0, l: 0, r: 0}
+}
+
+Plotly.newPlot('myDiv',data,layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/configuration-options/index.html b/docs/examples/configuration-options/index.html new file mode 100644 index 00000000000..decfd12c66e --- /dev/null +++ b/docs/examples/configuration-options/index.html @@ -0,0 +1,5736 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Configuration - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

configuration-options

+
+
+

+ scroll-and-zoom +

+
+ +
+
// mousewheel or two-finger scroll zooms the plot
+
+var trace1 = {
+    x:['2020-10-04', '2021-11-04', '2023-12-04'],
+    y: [90, 40, 60],
+    type: 'scatter'
+};
+
+var data = [trace1];
+
+var layout = {
+    title: {
+        text: 'Scroll and Zoom'
+    },
+    showlegend: false
+};
+
+Plotly.newPlot('myDiv', data, layout, {scrollZoom: true});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ editable-mode +

+
+

In editable mode, users can edit the chart title, axis labels and trace names in the legend.

+
+
var trace1 = {
+  x: [0, 1, 2, 3, 4],
+  y: [1, 5, 3, 7, 5],
+  mode: 'lines+markers',
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4, 5],
+  y: [4, 0, 4, 6, 8],
+  mode: 'lines+markers',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+var layout = {
+  title: {
+      text: 'Click Here<br>to Edit Chart Title'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout, {editable: true});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ making-a-static-chart +

+
+ +
+
var trace1 = {
+    x: [0, 1, 2, 3, 4, 5, 6],
+    y: [1, 9, 4, 7, 5, 2, 4],
+    mode: 'markers',
+    marker: {
+        size: [20, 40, 25, 10, 60, 90, 30],
+    }
+};
+
+var data = [trace1];
+
+var layout = {
+    title: {
+        text: 'Create a Static Chart'
+    },
+    showlegend: false
+};
+
+Plotly.newPlot('myDiv', data, layout, {staticPlot: true});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customize-download-plot-options +

+
+ +
+
var trace1 = {
+    x: [0, 1, 2, 3, 4, 5, 6],
+    y: [1, 9, 4, 7, 5, 2, 4],
+    mode: 'markers',
+    marker: {
+        size: [20, 40, 25, 10, 60, 90, 30],
+    }
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+      text: 'Download Chart as SVG instead of PNG'
+  },
+  showlegend: false
+};
+
+var config = {
+  toImageButtonOptions: {
+    format: 'svg', // one of png, svg, jpeg, webp
+    filename: 'custom_image',
+    height: 500,
+    width: 700,
+    scale: 1 // Multiply title/legend/axis/canvas sizes by this factor
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ force-the-modebar-to-always-be-visible +

+
+

When users hover over a figure generated with plotly.js, a modebar appears in the top-right of the figure. This presents users with several options for interacting with the figure.

+

By default, the modebar is only visible while the user is hovering over the chart. If you would like the modebar to always be visible regardless of whether or not the user is currently hovering over the figure, set the displayModeBar attribute in the config of your figure to true.

+
+
var data = [{
+    y:['Marc', 'Henrietta', 'Jean', 'Claude', 'Jeffrey', 'Jonathan', 'Jennifer', 'Zacharias'],
+      x: [90, 40, 60, 80, 75, 92, 87, 73],
+      type: 'bar',
+      orientation: 'h'}]
+
+var layout = {
+    title: {
+        text: 'Always Display the Modebar'
+    },
+    showlegend: false
+}
+
+Plotly.newPlot('myDiv', data, layout, {displayModeBar: true})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ never-display-the-modebar +

+
+

When users hover over a figure generated with plotly.js, a modebar appears in the top-right of the figure. This presents users with several options for interacting with the figure.

+

By default, the modebar is only visible while the user is hovering over the chart. If you would like the modebar to never be visible, then set the displayModeBar attribute in the config of your figure to false.

+
+
var trace1 = {
+    x:['Zebras', 'Lions', 'Pelicans'],
+    y: [90, 40, 60],
+    type: 'bar',
+    name: 'New York Zoo'
+};
+
+var trace2 = {
+    x:['Zebras', 'Lions', 'Pelicans'],
+    y: [10, 80, 45],
+    type: 'bar',
+    name: 'San Francisco Zoo'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+    title: {
+        text: 'Hide the Modebar'
+    },
+    showlegend: true
+};
+
+Plotly.newPlot('myDiv', data, layout, {displayModeBar: false});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ remove-modebar-buttons +

+
+

To delete buttons from the modebar, pass an array of strings containing the names of the buttons you want to remove to the modeBarButtonsToRemove attribute in the figure's configuration object. Note that different chart types have different default modebars. The following is a list of all the modebar buttons and the chart types they are associated with: + +

    +
  • -'2D', `zoom2d`, `pan2d`, `select2d`, `lasso2d`, `zoomIn2d`, `zoomOut2d`, `autoScale2d`, `resetScale2d`
  • +
  • -'3D', `zoom3d`, `pan3d`, `orbitRotation`, `tableRotation`, `handleDrag3d`, `resetCameraDefault3d`, `resetCameraLastSave3d`, `hoverClosest3d`
  • +
  • -'Cartesian', `hoverClosestCartesian`, `hoverCompareCartesian`
  • +
  • -'Geo', `zoomInGeo`, `zoomOutGeo`, `resetGeo`, `hoverClosestGeo`
  • +
  • -'Other', `hoverClosestGl2d`, `hoverClosestPie`, `toggleHover`, `resetViews`, `toImage`, `sendDataToCloud`, `toggleSpikelines`, `resetViewMapbox`
  • +
+

+
+
var data = [{
+    x:['trees', 'flowers', 'hedges'],
+    y: [90, 130, 40],
+    type: 'bar'}]
+
+var layout = {
+    title: {
+        text: 'Remove Modebar Buttons'
+    },
+    showlegend: false
+}
+
+Plotly.newPlot('myDiv', data, layout, {modeBarButtonsToRemove: ['toImage']})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-buttons-to-modebar +

+
+

The following example shows how to add a button to your modebar, either by using one of the Plotly icons or an arbitrary icon with a custom behaviour.

+
+
var icon1 = {
+  'width': 500,
+  'height': 600,
+  'path': 'M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z'
+}
+
+var colors = ['green', 'red', 'blue']
+var data = [{
+  mode: 'lines',
+  y: [2, 1, 2],
+  line: {color: colors[0], width: 3, shape: 'spline'}
+}]
+
+var layout = {
+  title: {
+    text: 'add mode bar button with custom icon'
+  }
+}
+
+var config = {
+  displayModeBar: true,
+  modeBarButtonsToAdd: [
+    {
+      name: 'color toggler',
+      icon: icon1,
+      click: function(gd) {
+        var newColor = colors[Math.floor(3 * Math.random())]
+        Plotly.restyle(gd, 'line.color', newColor)
+      }},
+    {
+      name: 'button1',
+      icon: Plotly.Icons.pencil,
+      direction: 'up',
+      click: function(gd) {alert('button1')
+    }}],
+  modeBarButtonsToRemove: ['pan2d','select2d','lasso2d','resetScale2d','zoomOut2d']}
+
+Plotly.newPlot('myDiv', data, layout, config)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ disabling-buttons-for-specific-axes +

+
+

New in 3.1

+

Disabling the zoom in, zoom out, and autoscale buttons for specific axes is supported on cartesian axes using the modebardisable attribute. In the following example, the zoom in and zoom out buttons are disabled on the xaxis, meaning these buttons only zoom in and out on the yaxis. Disable the autoscale button using modebardisable='autoscale'. You can also disable both autoscaling and zoom buttons using modebardisable='zoominout+autoscale'.

+
+
var data = [{
+  type: "scatter",
+  mode: "lines+markers",
+  x: ["2023-01-01", "2023-02-01", "2023-03-01", "2023-04-01", "2023-05-01", "2023-06-01"],
+  y: [150, 160, 155, 170, 165, 180],
+  name: "Google Stock Price"
+}];
+
+var layout = {
+  title: "Google Stock Price Over Time with Mode Bar Disabled",
+  xaxis: {
+    title: "Date",
+    type: "date",
+    // Try zooming in or out using the modebar buttons. These only apply to the yaxis in this example.
+    modebardisable: "zoominout"
+  },
+  yaxis: {
+    title: "Stock Price (USD)"
+  }
+};
+
+Plotly.newPlot("myDiv", data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+ +
+

Note: showLink now defaults to false.

+
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6],
+  y: [1, 9, 4, 7, 5, 2, 4],
+  mode: 'lines+markers',
+  type: 'scatter'
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+      text: 'Display the Edit Chart Link'
+  }
+};
+
+var config = {
+  showLink: true,
+  plotlyServerURL: "https://chart-studio.plotly.com"
+};
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+ +
+ +
+
var data = [{
+  z: [[0, 1, 2, 3, 4, 5, 6],
+      [1, 9, 4, 7, 5, 2, 4],
+      [2, 4, 2, 1, 6, 9, 3]],
+  type: 'heatmap'}]
+
+var layout = {
+  title: {
+      text: 'Customize The Edit Chart Link Text'
+  }
+};
+
+var config = {
+  showLink: true,
+  plotlyServerURL: "https://chart-studio.plotly.com",
+  linkText: 'This text is custom!'
+};
+
+Plotly.newPlot('myDiv', data, layout, config)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ display-edit-in-chart-studio-modebar-button +

+
+ +
+
var data = [{
+  values: [19, 26, 55],
+  labels: ['Residential', 'Non-Residential', 'Utility'],
+  type: 'pie'
+}];
+
+var layout = {
+  title: {
+      text: 'Show Edit in Chart Studio Modebar Button'
+  }
+};
+
+var config = {
+  showEditInChartStudio: true,
+  plotlyServerURL: "https://chart-studio.plotly.com"
+};
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ change-the-default-locale +

+
+

Load and register a non-default locale by adding <script src="https://cdn.plot.ly/plotly-locale-YOUR-LOCALE-latest.js"></script> +to your HTML after the plotly.js tag and then reference the locale in the config. For Example, the codepen example below has +<script src="https://cdn.plot.ly/plotly-locale-fr-latest.js"></script> in its HTML. For more information and a list of available locales, see +https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization

+
+
var trace1 = {
+  type: "scatter",
+  mode: "lines",
+  x: ['2018-01-01', '2018-08-31'],
+  y: [10, 5],
+  line: {color: '#17BECF'}
+};
+
+var trace2 = {
+  type: "scatter",
+  mode: "lines",
+  x: ['2018-01-01', '2018-08-31'],
+  y: [3,7],
+  line: {color: '#7F7F7F'}
+};
+
+var data = [trace1,trace2];
+
+var layout = {
+  title: {
+    text: 'Custom Locale'
+  }
+};
+
+var config = {locale: 'fr'};
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ hide-the-plotly-logo-on-the-modebar +

+
+ +
+
var trace1 = {
+    x:['trees', 'flowers', 'hedges'],
+    y: [90, 130, 40],
+    type: 'bar'
+};
+
+var data = [trace1];
+
+var layout = {
+    title: {
+        text: 'Hide the Plotly Logo on the Modebar'
+    },
+    showlegend: false
+};
+
+Plotly.newPlot('myDiv', data, layout, {displaylogo: false});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ making-a-responsive-chart +

+
+ +
+
var trace1 = {
+    type: 'bar',
+    x: [1, 2, 3, 4],
+    y: [5, 10, 2, 8],
+    marker: {
+        color: '#C8A2C8',
+        line: {
+            width: 2.5
+        }
+    }
+};
+
+var data = [ trace1 ];
+
+var layout = {
+    title: {
+      text: 'Responsive to window size!'
+    },
+    font: {size: 18}
+};
+
+Plotly.newPlot('myDiv', data, layout, {responsive: true});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ double-click-delay +

+
+

Sets the maximum delay between two consecutive clicks to be interpreted as a double-click in ms. This is the time interval between first mousedown, and' second mouseup. The default timing is 300 ms (less than half a second). +This setting propagates to all on-subplot double clicks, (except for geo, map, and mapbox).

+
+
var data = [{
+  type: "bar",
+  y: [3, 5, 3, 2],
+  x: ["2019-09-02", "2019-10-10", "2019-11-12", "2019-12-22"]
+}];
+
+var layout = {xaxis: {type: 'date'}};
+
+var config = {doubleClickDelay: 1000}
+
+Plotly.newPlot("myDiv", data, layout, config)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/continuous-error-bars/index.html b/docs/examples/continuous-error-bars/index.html new file mode 100644 index 00000000000..7fcc3ca3569 --- /dev/null +++ b/docs/examples/continuous-error-bars/index.html @@ -0,0 +1,4922 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Continuous Error Bars - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

continuous-error-bars

+
+
+

+ filled-lines +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], 
+  y: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 
+  fill: "tozerox", 
+  fillcolor: "rgba(0,100,80,0.2)", 
+  line: {color: "transparent"}, 
+  name: "Fair", 
+  showlegend: false, 
+  type: "scatter"
+};
+var trace2 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], 
+  y: [5.5, 3, 5.5, 8, 6, 3, 8, 5, 6, 5.5, 4.75, 5, 4, 7, 2, 4, 7, 4.4, 2, 4.5], 
+  fill: "tozerox", 
+  fillcolor: "rgba(0,176,246,0.2)", 
+  line: {color: "transparent"}, 
+  name: "Premium", 
+  showlegend: false, 
+  type: "scatter"
+};
+var trace3 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], 
+  y: [11, 9, 7, 5, 3, 1, 3, 5, 3, 1, -1, 1, 3, 1, -0.5, 1, 3, 5, 7, 9], 
+  fill: "tozerox", 
+  fillcolor: "rgba(231,107,243,0.2)", 
+  line: {color: "transparent"}, 
+  name: "Ideal", 
+  showlegend: false, 
+  type: "scatter"
+};
+var trace4 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 
+  y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 
+  line: {color: "rgb(0,100,80)"}, 
+  mode: "lines", 
+  name: "Fair", 
+  type: "scatter"
+};
+var trace5 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 
+  y: [5, 2.5, 5, 7.5, 5, 2.5, 7.5, 4.5, 5.5, 5], 
+  line: {color: "rgb(0,176,246)"}, 
+  mode: "lines", 
+  name: "Premium", 
+  type: "scatter"
+};
+var trace6 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 
+  y: [10, 8, 6, 4, 2, 0, 2, 4, 2, 0], 
+  line: {color: "rgb(231,107,243)"}, 
+  mode: "lines", 
+  name: "Ideal", 
+  type: "scatter"
+};
+var data = [trace1, trace2, trace3, trace4, trace5, trace6];
+var layout = {
+  paper_bgcolor: "rgb(255,255,255)", 
+  plot_bgcolor: "rgb(229,229,229)", 
+  xaxis: {
+    gridcolor: "rgb(255,255,255)", 
+    range: [1, 10], 
+    showgrid: true, 
+    showline: false, 
+    showticklabels: true, 
+    tickcolor: "rgb(127,127,127)", 
+    ticks: "outside", 
+    zeroline: false
+  }, 
+  yaxis: {
+    gridcolor: "rgb(255,255,255)", 
+    showgrid: true, 
+    showline: false, 
+    showticklabels: true, 
+    tickcolor: "rgb(127,127,127)", 
+    ticks: "outside", 
+    zeroline: false
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ asymmetric-error-bars-with-a-constant-offset +

+
+ +
+
function random_date(start, end, mul)
+  {
+    return new Date(start.getTime() + mul * (end.getTime() - start.getTime()));
+  }
+
+function date_list(y1,m1,d1,y2,m2,d2,count)
+  {
+    var a =[];
+    for(i=0;i<count;i++)
+    {
+      a.push(random_date(new Date(y1, m1, d1), new Date(y2,m2,d2),i));
+    }
+      return a;
+  }
+
+function random_number(num , mul)
+  {
+     var value = [ ];
+     for(i=0;i<=num;i++)
+      {
+        var rand = Math.random() * mul;
+        value.push(rand);
+      }
+     return value;
+  }
+
+var trace1 = {
+  x: date_list(2001,01,01,2001,02,01,50),
+  y: random_number(50,20),
+  line: {width: 0},
+  marker: {color: "444"},
+  mode: "lines",
+  name: "Lower Bound",
+  type: "scatter"
+};
+
+var trace2 = {
+  x: date_list(2001,01,01,2001,02,01,50),
+  y: random_number(50,21),
+  fill: "tonexty",
+  fillcolor: "rgba(68, 68, 68, 0.3)",
+  line: {color: "rgb(31, 119, 180)"},
+  mode: "lines",
+  name: "Measurement",
+  type: "scatter"
+};
+
+var trace3 = {
+  x: date_list(2001,01,01,2001,02,01,50),
+  y: random_number(50,22),
+  fill: "tonexty",
+  fillcolor: "rgba(68, 68, 68, 0.3)",
+  line: {width: 0},
+  marker: {color: "444"},
+  mode: "lines",
+  name: "Upper Bound",
+  type: "scatter"
+}
+
+var data = [trace1, trace2, trace3];
+var layout = {
+  showlegend: false,
+  title: {
+    text: "Continuous, variable value error bars<br>Notice the hover text!"
+  },
+  yaxis: {
+    title: {
+      text: "Wind speed (m/s)"
+    }
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/contour-plots/index.html b/docs/examples/contour-plots/index.html new file mode 100644 index 00000000000..78b1f353ee2 --- /dev/null +++ b/docs/examples/contour-plots/index.html @@ -0,0 +1,5841 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Contour Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

contour-plots

+
+
+

+ simple-contour-plot +

+
+ +
+
var size = 100, x = new Array(size), y = new Array(size), z = new Array(size), i, j;
+
+for(var i = 0; i < size; i++) {
+    x[i] = y[i] = -2 * Math.PI + 4 * Math.PI * i / size;
+    z[i] = new Array(size);
+}
+
+for(var i = 0; i < size; i++) {
+    for(j = 0; j < size; j++) {
+        var r2 = x[i]*x[i] + y[j]*y[j];
+        z[i][j] = Math.sin(x[i]) * Math.cos(y[j]) * Math.sin(r2) / Math.log(r2+1);
+    }
+}
+
+var data = [ {
+        z: z,
+        x: x,
+        y: y,
+        type: 'contour'
+    }
+];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ basic-contour-plot +

+
+ +
+
var data = [ {
+        z: [[10, 10.625, 12.5, 15.625, 20],
+    [5.625, 6.25, 8.125, 11.25, 15.625],
+    [2.5, 3.125, 5.0, 8.125, 12.5],
+    [0.625, 1.25, 3.125, 6.25, 10.625],
+    [0, 0.625, 2.5, 5.625, 10]],
+        type: 'contour'
+    }
+];
+
+var layout = {
+  title: {
+    text: 'Basic Contour Plot'
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ setting-x-and-y-coordinates-in-a-contour-plot +

+
+ +
+
var data = [{
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  x: [-9, -6, -5 , -3, -1],
+  y: [0, 1, 4, 5, 7],
+  type: 'contour'
+}];
+
+var layout = {
+  title: {
+    text: 'Setting the X and Y Coordinates in a Contour Plot'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ colorscale-for-contour-plot +

+
+ +
+
var data = [{
+  z: [[10, 10.625, 12.5, 15.625, 20],
+     [5.625, 6.25, 8.125, 11.25, 15.625],
+     [2.5, 3.125, 5., 8.125, 12.5],
+     [0.625, 1.25, 3.125, 6.25, 10.625],
+     [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorscale: 'Jet',
+}];
+
+var layout = {
+  title: {
+    text: 'Colorscale for Contour Plot'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customizing-size-and-range-of-a-contour-plot's-contours +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorscale: 'Jet',
+  autocontour: false,
+  contours: {
+    start: 0,
+    end: 8,
+    size: 2
+  }
+}];
+
+var layout = {
+  title: {
+    text: 'Customizing Size and Range of Contours'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customizing-spacing-between-x-and-y-ticks +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorscale: 'Jet',
+  dx: 10,
+  x0: 5,
+  dy: 10,
+  y0: 10
+}];
+
+var layout = {
+  title: {
+    text: 'Customizing Spacing Between X and Y Axis Ticks'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ connect-the-gaps-between-null-values-in-the-z-matrix +

+
+ +
+
var trace1 = {
+  z: [[null, null, null, 12, 13, 14, 15, 16],
+      [null, 1, null, 11, null, null, null, 17],
+      [null, 2, 6, 7, null, null, null, 18],
+      [null, 3, null, 8, null, null, null, 19],
+      [5, 4, 10, 9, null, null, null, 20],
+      [null, null, null, 27, null, null, null, 21],
+      [null, null, null, 26, 25, 24, 23, 22]],
+  type: 'contour',
+  showscale: false,
+  xaxis: 'x1',
+  yaxis: 'y1'
+};
+
+var trace2 = {
+  z: [[null, null, null, 12, 13, 14, 15, 16],
+      [null, 1, null, 11, null, null, null, 17],
+      [null, 2, 6, 7, null, null, null, 18],
+      [null, 3, null, 8, null, null, null, 19],
+      [5, 4, 10, 9, null, null, null, 20],
+      [null, null, null, 27, null, null, null, 21],
+      [null, null, null, 26, 25, 24, 23, 22]],
+  connectgaps: true,
+  type: 'contour',
+  showscale: false,
+  xaxis: 'x2',
+  yaxis: 'y2'
+};
+
+var trace3 = {
+  z: [[null, null, null, 12, 13, 14, 15, 16],
+      [null, 1, null, 11, null, null, null, 17],
+      [null, 2, 6, 7, null, null, null, 18],
+      [null, 3, null, 8, null, null, null, 19],
+      [5, 4, 10, 9, null, null, null, 20],
+      [null, null, null, 27, null, null, null, 21],
+      [null, null, null, 26, 25, 24, 23, 22]],
+  zsmooth: 'best',
+  type: 'heatmap',
+  showscale: false,
+  xaxis: 'x3',
+  yaxis: 'y3'
+};
+
+var trace4 = {
+  z: [[null, null, null, 12, 13, 14, 15, 16],
+      [null, 1, null, 11, null, null, null, 17],
+      [null, 2, 6, 7, null, null, null, 18],
+      [null, 3, null, 8, null, null, null, 19],
+      [5, 4, 10, 9, null, null, null, 20],
+      [null, null, null, 27, null, null, null, 21],
+      [null, null, null, 26, 25, 24, 23, 22]],
+  zsmooth: 'best',
+  type: 'heatmap',
+  showscale: false,
+  connectgaps: true,
+  xaxis: 'x4',
+  yaxis: 'y4'
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {
+    text: 'Connect the Gaps Between Null Values in the Z Matrix'
+  },
+  xaxis: {domain: [0, 0.45],
+    anchor: 'y1'},
+  yaxis: {domain: [0.55, 1],
+    anchor: 'x1'},
+  xaxis2: {domain: [0.55, 1],
+    anchor: 'y2'},
+  yaxis2: {domain: [0.55, 1],
+    anchor: 'x2'},
+  xaxis3: {domain: [0, 0.45],
+    anchor: 'y3'},
+  yaxis3: {domain: [0, 0.45],
+    anchor: 'x3'},
+  xaxis4: {domain: [0.55, 1],
+    anchor: 'y4'},
+  yaxis4: {domain: [0, 0.45],
+    anchor: 'x4'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ smoothing-contour-lines +

+
+ +
+
var data = [ {
+  z: [[2, 4, 7, 12, 13, 14, 15, 16],
+   [3, 1, 6, 11, 12, 13, 16, 17],
+   [4, 2, 7, 7, 11, 14, 17, 18],
+   [5, 3, 8, 8, 13, 15, 18, 19],
+   [7, 4, 10, 9, 16, 18, 20, 19],
+   [9, 10, 5, 27, 23, 21, 21, 21],
+   [11, 14, 17, 26, 25, 24, 23, 22]],
+  type: 'contour',
+  line:{
+    smoothing: 0
+  },
+  xaxis: 'x1',
+  yaxis: 'y1'
+},
+{
+  z: [[2, 4, 7, 12, 13, 14, 15, 16],
+   [3, 1, 6, 11, 12, 13, 16, 17],
+   [4, 2, 7, 7, 11, 14, 17, 18],
+   [5, 3, 8, 8, 13, 15, 18, 19],
+   [7, 4, 10, 9, 16, 18, 20, 19],
+   [9, 10, 5, 27, 23, 21, 21, 21],
+   [11, 14, 17, 26, 25, 24, 23, 22]],
+  type: 'contour',
+  line:{
+    smoothing: 0.85
+  },
+  xaxis: 'x2',
+  yaxis: 'y2'
+}];
+
+var layout = {
+  title: {
+    text: 'Smoothing Contour Lines'
+  },
+  xaxis: {domain: [0, 0.45],
+     anchor: 'y1'},
+  yaxis: {domain: [0, 1],
+         anchor: 'x1'},
+  xaxis2: {domain: [0.55, 1],
+         anchor: 'y2'},
+  yaxis2: {domain: [0, 1],
+         anchor: 'x2'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ contour-lines +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorscale: 'Jet',
+  contours:{
+    coloring: 'lines'
+  }
+}];
+
+var layout = {
+  title: {
+    text: 'Contour Lines'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ smooth-contour-coloring +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  contours: {
+    coloring: 'heatmap'
+  }
+}];
+
+var layout = {
+  title: {
+    text: 'Smooth Contour Coloring'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ contour-line-labels +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+      [5.625, 6.25, 8.125, 11.25, 15.625],
+      [2.5, 3.125, 5.0, 8.125, 12.5],
+      [0.625, 1.25, 3.125, 6.25, 10.625],
+      [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  contours: {
+    coloring: 'heatmap',
+    showlabels: true,
+    labelfont: {
+      family: 'Raleway',
+      size: 12,
+      color: 'white',
+    }
+  }
+}];
+
+var layout = {
+  title: {
+    text: 'Contour with Labels'
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ custom-colorscale-for-contour-plot +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorscale: [[0, 'rgb(166,206,227)'], [0.25, 'rgb(31,120,180)'], [0.45, 'rgb(178,223,138)'], [0.65, 'rgb(51,160,44)'], [0.85, 'rgb(251,154,153)'], [1, 'rgb(227,26,28)']]
+}
+];
+
+var layout = {
+  title: {
+    text: 'Custom Contour Plot Colorscale'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ color-bar-title +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorbar:{
+    title: {
+      text: 'Color Bar Title',
+      side: 'right',
+      font: {
+        size: 14,
+        family: 'Arial, sans-serif'
+      }
+    }
+  }
+}];
+
+var layout = {
+  title: {
+    text: 'Colorbar with a Title'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ color-bar-size +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorbar:{
+    thickness: 75,
+    thicknessmode: 'pixels',
+    len: 0.9,
+    lenmode: 'fraction',
+    outlinewidth: 0
+  }
+}];
+
+var layout = {
+  title: {
+    text: 'Colorbar Size for Contour Plots'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ styling-color-bar-ticks-for-contour-plots +

+
+ +
+
var data = [ {
+  z: [[10, 10.625, 12.5, 15.625, 20],
+       [5.625, 6.25, 8.125, 11.25, 15.625],
+       [2.5, 3.125, 5., 8.125, 12.5],
+       [0.625, 1.25, 3.125, 6.25, 10.625],
+       [0, 0.625, 2.5, 5.625, 10]],
+  type: 'contour',
+  colorbar:{
+    ticks: 'outside',
+    dtick: 1,
+    tickwidth: 2,
+    ticklen: 10,
+    tickcolor: 'grey',
+    showticklabels: true,
+    tickfont: {
+      size: 15
+    },
+    xpad: 50
+  }
+}];
+
+var layout = {
+  title: {
+    text: 'Styling Color Bar Ticks for Contour Plots'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/custom-buttons/index.html b/docs/examples/custom-buttons/index.html new file mode 100644 index 00000000000..e0d4b8c7dba --- /dev/null +++ b/docs/examples/custom-buttons/index.html @@ -0,0 +1,5409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Custom Buttons - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

custom-buttons

+
+
+

+ restyle-button-single-attribute +

+
+

The restyle method should be used when modifying the data and data attributes of the graph +This example demonstrates how to update a single data attribute: chart type with the restyle method.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){
+function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+var z_data=[ ]
+for(i=0;i<24;i++)
+{
+  z_data.push(unpack(rows,i));
+}
+
+var data = [{
+        z: z_data,
+        type:'surface',
+        colorscale:'Viridis'
+}]
+
+var updatemenus=[
+    {
+        buttons: [
+            {
+                args: ['type', 'surface'],
+                label: '3D Surface',
+                method: 'restyle'
+            },
+            {
+                args: ['type', 'heatmap'],
+                label:'Heatmap',
+                method:'restyle'
+            }
+        ],
+        direction: 'left',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'buttons',
+        x: 0.1,
+        xanchor: 'left',
+        y: 1.1,
+        yanchor: 'top'
+    }
+]
+
+var annotations = [
+    {
+      text: 'Trace type:',
+      x: 0,
+      y: 1.085,
+      yref: 'paper',
+      align: 'left',
+      showarrow: false
+    }
+]
+
+var layout = {
+    width: 800,
+    height: 900,
+    autosize: false,
+    margin: {t: 0, b: 0, l: 0, r: 0},
+    updatemenus: updatemenus,
+    annotations: annotations,
+    scene: {
+        xaxis:{
+            gridcolor: 'rgb(255, 255, 255)',
+            zerolinecolor: 'rgb(255, 255, 255)',
+            showbackground: true,
+            backgroundcolor:'rgb(230, 230,230)'
+        },
+        yaxis: {
+            gridcolor: 'rgb(255, 255, 255)',
+            zerolinecolor: 'rgb(255, 255, 255)',
+            showbackground: true,
+            backgroundcolor: 'rgb(230, 230, 230)'
+        },
+        zaxis: {
+            gridcolor: 'rgb(255, 255, 255)',
+            zerolinecolor: 'rgb(255, 255, 255)',
+            showbackground: true,
+            backgroundcolor: 'rgb(230, 230,230)'
+        },
+        aspectratio: {x: 1, y: 1, z: 0.7},
+        aspectmode: 'manual'
+  }
+}
+
+
+Plotly.newPlot("myDiv", data, layout);
+
+});
+
+ + + + + +
+
+
+ +
+
+

+ restyle-button-multiple-attributes +

+
+

This example demonstrates how to use a restyle button to update single attributes by passing a two element array +to a button's args attribute or update multiple attributes at the same time by passing an array containing an object.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){
+function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+var button_layer_1_height = 1.12
+var button_layer_2_height = 1.0
+var annotation_offset = 0.04
+
+var z_data=[ ]
+for(i=0;i<24;i++)
+{
+  z_data.push(unpack(rows,i));
+}
+
+var data = [{
+        z: z_data,
+        type:'surface',
+        colorscale:'Viridis'
+}]
+
+var updatemenus=[
+    {
+        buttons: [
+            {
+                args: ['type', 'surface'],
+                label: '3D Surface',
+                method: 'restyle'
+            },
+            {
+                args: ['type', 'heatmap'],
+                label:'Heatmap',
+                method:'restyle'
+            },
+            {
+                args: ['type', 'contour'],
+                label:'Contour',
+                method:'restyle'
+            }
+        ],
+        direction: 'left',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'buttons',
+        x: 0.15,
+        xanchor: 'left',
+        y: button_layer_2_height,
+        yanchor: 'top'
+    },
+    {
+        buttons: [
+            {
+                args: ['reversescale', true],
+                label: 'Reverse',
+                method: 'restyle'
+            },
+            {
+                args: ['reversescale', false],
+                label:'Undo Reverse',
+                method:'restyle'
+            }
+        ],
+        direction: 'down',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'dropdown',
+        x: 0.56,
+        xanchor: 'left',
+        y: button_layer_2_height,
+        yanchor: 'top'
+    },
+    {
+        buttons: [
+            {
+                args: [{'contours.showlines':false, 'type':'contour'}],
+                label: 'Hide lines',
+                method: 'restyle'
+            },
+            {
+                args: [{'contours.showlines':true, 'type':'contour'}],
+                label:'Show lines',
+                method:'restyle'
+            }
+        ],
+        direction: 'down',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'dropdown',
+        x: 0.78,
+        xanchor: 'left',
+        y: button_layer_2_height,
+        yanchor: 'top'
+    },
+    {
+        buttons: [
+            {
+                args: ['colorscale', 'Viridis'],
+                label: 'Viridis',
+                method: 'restyle'
+            },
+            {
+                args: ['colorscale', 'Electric'],
+                label:'Electric',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Earth'],
+                label:'Earth',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Hot'],
+                label:'Hot',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Jet'],
+                label:'Jet',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Portland'],
+                label:'Portland',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Rainbow'],
+                label:'Rainbow',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Blackbody'],
+                label:'Blackbody',
+                method:'restyle'
+            },
+
+            {
+                args: ['colorscale', 'Cividis'],
+                label:'Cividis',
+                method:'restyle'
+            }
+        ],
+        direction: 'left',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'buttons',
+        x: 0.15,
+        xanchor: 'left',
+        y: button_layer_1_height,
+        yanchor: 'top'
+    },
+]
+
+var annotations = [
+    {
+      text: 'Trace type:',
+      x: 0,
+      y: button_layer_2_height - annotation_offset,
+      yref: 'paper',
+      align: 'left',
+      showarrow: false
+    },
+    {
+      text: 'Colorscale:',
+      x: 0,
+      y: button_layer_1_height - annotation_offset,
+      yref: 'paper',
+      align: 'left',
+      showarrow: false
+    },
+]
+
+var layout = {
+    margin: {t: 0, b: 0, l: 0, r: 0},
+    updatemenus: updatemenus,
+    annotations: annotations,
+    scene: {
+        xaxis:{
+            gridcolor: 'rgb(255, 255, 255)',
+            zerolinecolor: 'rgb(255, 255, 255)',
+            showbackground: true,
+            backgroundcolor:'rgb(230, 230,230)'
+        },
+        yaxis: {
+            gridcolor: 'rgb(255, 255, 255)',
+            zerolinecolor: 'rgb(255, 255, 255)',
+            showbackground: true,
+            backgroundcolor: 'rgb(230, 230, 230)'
+        },
+        zaxis: {
+            gridcolor: 'rgb(255, 255, 255)',
+            zerolinecolor: 'rgb(255, 255, 255)',
+            showbackground: true,
+            backgroundcolor: 'rgb(230, 230,230)'
+        },
+        aspectratio: {x: 1, y: 1, z: 0.7},
+        aspectmode: 'manual'
+  }
+}
+
+
+Plotly.newPlot("myDiv", data, layout);
+
+});
+
+ + + + + +
+
+
+ +
+
+

+ relayout-button +

+
+

The relayout method should be used when modifying the layout attributes of the graph. +Update One Layout Attribute +This example demonstrates how to update a layout attribute: chart type with the relayout method.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/normal-clusters.csv', function(err, rows){
+function unpack(rows, key) {
+  return rows.map(function(row) { return parseFloat(row[key]); });
+}
+
+var button_layer_height = 1.2
+var x0 = unpack(rows,'x0')
+var x1 = unpack(rows,'x1')
+var x2 = unpack(rows,'x2')
+var y0 = unpack(rows,'y0')
+var y1 = unpack(rows,'y1')
+var y2 = unpack(rows,'y2')
+
+var data = [{
+    x: x0,
+    y: y0,
+    mode: 'markers',
+    marker: {color: '#835AF1'}
+  },
+  {
+    x: x1,
+    y: y1,
+    mode: 'markers',
+    marker: {color: '#7FA6EE'}
+  },
+  {
+    x: x2,
+    y: y2,
+    mode: 'markers',
+    marker: {color: '#B8F7D4'}
+  },
+
+]
+
+var cluster0 = {type: 'circle',
+                 xref: 'x', yref: 'y',
+                 x0: Math.min(...x0), y0: Math.min(...y0),
+                 x1: Math.max(...x0), y1: Math.max(...y0),
+                 opacity: 0.25,
+                 line: {color: '#835AF1'},
+                 fillcolor: '#835AF1'}
+
+var cluster1 = {type: 'circle',
+                 xref: 'x', yref: 'y',
+                 x0: Math.min(...x1), y0: Math.min(...y1),
+                 x1: Math.max(...x1), y1: Math.max(...y1),
+                 opacity: 0.25,
+                 line: {color: '#7FA6EE'},
+                 fillcolor: '#7FA6EE'}
+
+var cluster2 = {type: 'circle',
+                 xref: 'x', yref: 'y',
+                 x0: Math.min(...x2), y0: Math.min(...y2),
+                 x1: Math.max(...x2), y1: Math.max(...y2),
+                 opacity: 0.25,
+                 line: {color: '#B8F7D4'},
+                 fillcolor: '#B8F7D4'}
+
+var updatemenus=[
+    {
+        buttons: [
+            {
+                args: ['shapes', []],
+                label: 'None',
+                method: 'relayout'
+            },
+            {
+                args: ['shapes', [cluster0]],
+                label: 'Cluster 0',
+                method: 'relayout'
+            },
+            {
+                args: ['shapes', [cluster1]],
+                label: 'Cluster 1',
+                method: 'relayout'
+            },
+            {
+                args: ['shapes', [cluster2]],
+                label: 'Cluster 2',
+                method: 'relayout'
+            },
+            {
+                args: ['shapes', [cluster0, cluster1, cluster2]],
+                label: 'All',
+                method: 'relayout'
+            },
+        ],
+        direction: 'left',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'buttons',
+        x: 0.1,
+        xanchor: 'left',
+        y: button_layer_height,
+        yanchor: 'top'
+    },
+
+]
+
+var layout = {
+    updatemenus: updatemenus,
+    showlegend: false
+}
+
+
+Plotly.newPlot("myDiv", data, layout);
+
+});
+
+ + + + + +
+
+
+ +
+
+

+ update-button +

+
+

The update method should be used when modifying the data and layout sections of the graph. +This example demonstrates how to update which traces are displayed while simulaneously updating +layout attributes such as the chart title and annotations.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){
+function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+const arrAvg = arr => arr.reduce((a,b) => a + b, 0) / arr.length
+
+var button_layer_2_height = 1.2
+var high = unpack(rows, 'AAPL.High').map(x => parseFloat(x))
+var low = unpack(rows, 'AAPL.Low').map(x => parseFloat(x))
+var date = unpack(rows, 'Date')
+
+
+var high_ave = arrAvg(high)
+var high_max = Math.max(...high)
+var low_ave = arrAvg(low)
+var low_min = Math.min(...low)
+
+var data = [{
+    x: date,
+    y: high,
+    mode: 'lines',
+    name: 'High',
+    marker: {color: '#33CFA5'}
+  },
+  {
+    x: date,
+    y: date.map(a => high_ave),
+    mode: 'lines',
+    name: 'Low Average',
+    line: {color: '#33CFA5', dash: 'dash'},
+    visible: false
+  },
+  {
+    x: date,
+    y: low,
+    name: 'Low',
+    mode: 'lines',
+    marker: {color: '#F06A6A'}
+  },
+  {
+    x: date,
+    y: date.map(a => low_ave),
+    mode: 'lines',
+    name: 'High Average',
+    visible: false,
+    line: {color: '#F06A6A', dash: 'dash'}
+  },
+
+]
+
+var high_annotations = [
+    {
+      text: 'High Average:<br>' + high_ave.toFixed(2),
+      x: '2016-03-01',
+      y: high_ave,
+      yref: 'y', xref: 'x',
+      ay: -40, ax: 0
+    },
+    {
+      text: 'High Max:<br>' + high_max.toFixed(2),
+      x: date[high.indexOf(high_max)],
+      y: high_max,
+      yref: 'y', xref: 'x',
+      ay: -40, ax: 0
+    },
+]
+
+var low_annotations = [{
+      text: 'Low Average:<br>' + low_ave.toFixed(2),
+      x: '2015-05-01',
+      y: low_ave,
+      yref: 'y', xref: 'x',
+      ay: 40, ax: 0
+    },
+    {
+      text: 'Low Min:<br>' + low_min.toFixed(2),
+      x: date[low.indexOf(low_min)],
+      y: low_min,
+      yref: 'y', xref: 'x',
+      ay: 40, ax: 0
+    }
+ ]
+
+var updatemenus=[
+    {
+        buttons: [
+            {
+                args: [{'visible': [true, true, false, false]},
+                       {'title': 'Yahoo High',
+                        'annotations': high_annotations}],
+                label: 'High',
+                method: 'update'
+            },
+            {
+                args: [{'visible': [false, false, true, true,]},
+                       {'title': 'Yahoo Low',
+                        'annotations': low_annotations}],
+                label: 'Low',
+                method: 'update'
+            },
+            {
+                args: [{'visible': [true, true, true, true,]},
+                       {'title': 'Yahoo',
+                        'annotations': [...low_annotations, ...high_annotations]}],
+                label: 'Both',
+                method: 'update'
+            },
+            {
+                args: [{'visible': [true, false, true, false,]},
+                       {'title': 'Yahoo',
+                        'annotations': []}],
+                label: 'Reset',
+                method: 'update'
+            },
+
+        ],
+        direction: 'left',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'buttons',
+        x: 0.1,
+        xanchor: 'left',
+        y: button_layer_2_height,
+        yanchor: 'top'
+    },
+
+]
+
+var layout = {
+  title: {
+      text: 'Yahoo'
+  },
+  updatemenus: updatemenus,
+  showlegend: false
+}
+
+
+Plotly.newPlot("myDiv", data, layout);
+
+});
+
+ + + + + +
+
+
+ +
+
+

+ animate-button +

+
+

Refer to our animation docs: https://plotly.com/javascript/#animations for examples on how to use the animate method with Plotly buttons.

+ + +
+
+
+ +
+
+

+ style-the-buttons +

+
+

When adding buttons to Plotly charts, users have the option of styling the color, font, padding, +and position of the buttons. The example below demonstrates how to apply different styling options. +See all updatemenus styling attributes here: https://plotly.com/javascript/reference/layout/#layout-updatemenus.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){
+function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+var button_layer_1_height = 1.12
+var button_layer_2_height = 1.0
+var annotation_offset = 0.04
+
+var z_data=[ ]
+for(i=0;i<24;i++)
+{
+  z_data.push(unpack(rows,i));
+}
+
+var data = [{
+        z: z_data,
+        type:'surface',
+        colorscale:'Viridis'
+}]
+
+var updatemenus=[
+    {
+        buttons: [
+            {
+                args: ['type', 'surface'],
+                label: '3D Surface',
+                method: 'restyle'
+            },
+            {
+                args: ['type', 'heatmap'],
+                label:'Heatmap',
+                method:'restyle'
+            },
+            {
+                args: ['type', 'contour'],
+                label:'Contour',
+                method:'restyle'
+            }
+        ],
+        direction: 'left',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'buttons',
+        x: 0.15,
+        xanchor: 'left',
+        y: button_layer_2_height,
+        yanchor: 'top',
+        font: {color: '#5072a8'}
+    },
+    {
+        buttons: [
+            {
+                args: ['reversescale', true],
+                label: 'Reverse',
+                method: 'restyle'
+            },
+            {
+                args: ['reversescale', false],
+                label:'Undo Reverse',
+                method:'restyle'
+            }
+        ],
+        direction: 'down',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'dropdown',
+        x: 0.56,
+        xanchor: 'left',
+        y: button_layer_2_height,
+        yanchor: 'top',
+        active: 1,
+        font: {color: '#5072a8'}
+    },
+    {
+        buttons: [
+            {
+                args: [{'contours.showlines':false, 'type':'contour'}],
+                label: 'Hide lines',
+                method: 'restyle'
+            },
+            {
+                args: [{'contours.showlines':true, 'type':'contour'}],
+                label:'Show lines',
+                method:'restyle'
+            }
+        ],
+        direction: 'down',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'dropdown',
+        x: 0.78,
+        xanchor: 'left',
+        y: button_layer_2_height,
+        yanchor: 'top',
+        font: {color: '#5072a8'}
+    },
+    {
+        buttons: [
+            {
+                args: ['colorscale', 'Viridis'],
+                label: 'Viridis',
+                method: 'restyle'
+            },
+            {
+                args: ['colorscale', 'Electric'],
+                label:'Electric',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Earth'],
+                label:'Earth',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Hot'],
+                label:'Hot',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Jet'],
+                label:'Jet',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Portland'],
+                label:'Portland',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Rainbow'],
+                label:'Rainbow',
+                method:'restyle'
+            },
+            {
+                args: ['colorscale', 'Blackbody'],
+                label:'Blackbody',
+                method:'restyle'
+            },
+
+            {
+                args: ['colorscale', 'Cividis'],
+                label:'Cividis',
+                method:'restyle'
+            }
+        ],
+        direction: 'left',
+        pad: {'r': 10, 't': 10},
+        showactive: true,
+        type: 'buttons',
+        x: 0.15,
+        xanchor: 'left',
+        y: button_layer_1_height,
+        yanchor: 'top',
+        active: 1,
+        bgcolor: '#aaaaaa',
+        bordercolor: '#FFFFFF'
+    },
+]
+
+var annotations = [
+    {
+      text: 'Trace type:',
+      x: 0,
+      y: button_layer_2_height - annotation_offset,
+      yref: 'paper',
+      align: 'left',
+      showarrow: false
+    },
+    {
+      text: 'Colorscale:',
+      x: 0,
+      y: button_layer_1_height - annotation_offset,
+      yref: 'paper',
+      align: 'left',
+      showarrow: false
+    },
+]
+
+var layout = {
+    paper_bgcolor: 'black',
+    margin: {t: 0, b: 0, l: 0, r: 0},
+    updatemenus: updatemenus,
+    annotations: annotations,
+    scene: {
+        bgcolor: 'black',
+        aspectratio: {x: 1, y: 1, z: 0.7},
+        aspectmode: 'manual'
+  }
+}
+
+
+Plotly.newPlot("myDiv", data, layout);
+
+});
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/disable-zoom/index.html b/docs/examples/disable-zoom/index.html new file mode 100644 index 00000000000..1feefea2dd7 --- /dev/null +++ b/docs/examples/disable-zoom/index.html @@ -0,0 +1,4669 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Disable Zoom Events - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

disable-zoom

+
+
+

+ disabling-zoom-events-for-x-axis +

+
+ +
+
function makeplot() {
+    d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv", function(data){ processData(data) } );
+
+};
+
+function processData(allRows) {
+
+    console.log(allRows);
+    var x = [], y = [], standard_deviation = [];
+
+    for (var i=0; i < allRows.length; i++) {
+        row = allRows[i];
+        x.push( row['AAPL_x'] );
+        y.push( row['AAPL_y'] );
+    }
+    console.log( 'X',x, 'Y',y, 'SD',standard_deviation );
+    makePlotly( x, y, standard_deviation );
+}
+
+function makePlotly( x, y, standard_deviation ){
+    var plotDiv = document.getElementById("myDiv");
+    var traces = [{
+        x: x,
+        y: y
+    }];
+
+    var layout = {
+        title: {
+            text: 'Plotting CSV data from AJAX call'
+        },
+        xaxis: {
+            fixedrange: true
+        }
+    };
+
+    Plotly.newPlot('myDiv', traces, layout);
+};
+  makeplot();
+
+ + + + + +
+
+
+ +
+
+

+ disabling-zoom-events-for-x-and-y-axis +

+
+ +
+
function makeplot() {
+    d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv", function(data){ processData(data) } );
+
+};
+
+function processData(allRows) {
+
+    var x = [], y = [], standard_deviation = [];
+
+    for (var i=0; i < allRows.length; i++) {
+        row = allRows[i];
+        x.push( row['AAPL_x'] );
+        y.push( row['AAPL_y'] );
+    }
+    makePlotly( x, y, standard_deviation );
+}
+
+function makePlotly( x, y, standard_deviation ){
+    var plotDiv = document.getElementById("myDiv");
+    var traces = [{
+        x: x,
+        y: y
+    }];
+
+    var layout = {
+        title: {
+            text: 'Plotting CSV data from AJAX call'
+        },
+        yaxis: {fixedrange: true},
+        xaxis: {fixedrange: true}
+    };
+
+    Plotly.newPlot('myDiv', traces, layout);
+};
+  makeplot();
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/dot-plots/index.html b/docs/examples/dot-plots/index.html new file mode 100644 index 00000000000..0bcd62bd301 --- /dev/null +++ b/docs/examples/dot-plots/index.html @@ -0,0 +1,4755 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Dot Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

dot-plots

+
+
+

+ categorical-dot-plot +

+
+ +
+
var country = ['Switzerland (2011)', 'Chile (2013)', 'Japan (2014)', 'United States (2012)', 'Slovenia (2014)', 'Canada (2011)', 'Poland (2010)', 'Estonia (2015)', 'Luxembourg (2013)', 'Portugal (2011)'];
+
+var votingPop = [40, 45.7, 52, 53.6, 54.1, 54.2, 54.5, 54.7, 55.1, 56.6];
+
+var regVoters = [49.1, 42, 52.7, 84.3, 51.7, 61.1, 55.3, 64.2, 91.1, 58.9];
+
+var trace1 = {
+  type: 'scatter',
+  x: votingPop,
+  y: country,
+  mode: 'markers',
+  name: 'Percent of estimated voting age population',
+  marker: {
+    color: 'rgba(156, 165, 196, 0.95)',
+    line: {
+      color: 'rgba(156, 165, 196, 1.0)',
+      width: 1,
+    },
+    symbol: 'circle',
+    size: 16
+  }
+};
+
+var trace2 = {
+  x: regVoters,
+  y: country,
+  mode: 'markers',
+  name: 'Percent of estimated registered voters',
+  marker: {
+    color: 'rgba(204, 204, 204, 0.95)',
+    line: {
+      color: 'rgba(217, 217, 217, 1.0)',
+      width: 1,
+    },
+    symbol: 'circle',
+    size: 16
+  }
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+      text: 'Votes cast for ten lowest voting age population in OECD countries',
+      font: {
+          color: 'rgb(204, 204, 204)'
+      }
+  },
+  xaxis: {
+    showgrid: false,
+    showline: true,
+    linecolor: 'rgb(102, 102, 102)',
+    tickfont: {
+      font: {
+        color: 'rgb(102, 102, 102)'
+      }
+    },
+    tickmode: 'linear',
+    dtick: 10,
+    ticks: 'outside',
+    tickcolor: 'rgb(102, 102, 102)'
+  },
+  margin: {
+    l: 140,
+    r: 40,
+    b: 50,
+    t: 80
+  },
+  legend: {
+    font: {
+      size: 10,
+    },
+    yanchor: 'middle',
+    xanchor: 'right'
+  },
+  width: 600,
+  height: 600,
+  paper_bgcolor: 'rgb(254, 247, 234)',
+  plot_bgcolor: 'rgb(254, 247, 234)',
+  hovermode: 'closest'
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/dropdowns/index.html b/docs/examples/dropdowns/index.html new file mode 100644 index 00000000000..59d1ef23960 --- /dev/null +++ b/docs/examples/dropdowns/index.html @@ -0,0 +1,4725 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Dropdown Menus - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

dropdowns

+
+
+

+ add-two-dropdown-menus-to-a-chart-with-plotly.js +

+
+ +
+
function makeTrace(i) {
+    return {
+        y: Array.apply(null, Array(10)).map(() => Math.random()),
+        line: {
+            shape: 'spline' ,
+            color: 'red'
+        },
+        visible: i === 0,
+        name: 'Data set ' + i,
+    };
+}
+
+Plotly.newPlot('myDiv', [0, 1, 2, 3].map(makeTrace), {
+    updatemenus: [{
+        y: 0.8,
+        yanchor: 'top',
+        buttons: [{
+            method: 'restyle',
+            args: ['line.color', 'red'],
+            label: 'red'
+        }, {
+            method: 'restyle',
+            args: ['line.color', 'blue'],
+            label: 'blue'
+        }, {
+            method: 'restyle',
+            args: ['line.color', 'green'],
+            label: 'green'
+        }]
+    }, {
+        y: 1,
+        yanchor: 'top',
+        buttons: [{
+            method: 'restyle',
+            args: ['visible', [true, false, false, false]],
+            label: 'Data set 0'
+        }, {
+            method: 'restyle',
+            args: ['visible', [false, true, false, false]],
+            label: 'Data set 1'
+        }, {
+            method: 'restyle',
+            args: ['visible', [false, false, true, false]],
+            label: 'Data set 2'
+        }, {
+            method: 'restyle',
+            args: ['visible', [false, false, false, true]],
+            label: 'Data set 3'
+        }]
+    }],
+});
+
+ + + + + +
+
+
+ +
+
+

+ bind-dropdown-events-to-plotly.js-charts +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });
+    }
+
+    var allCountryNames = unpack(rows, 'country'),
+        allYear = unpack(rows, 'year'),
+        allGdp = unpack(rows, 'gdpPercap'),
+        listofCountries = [],
+        currentCountry,
+        currentGdp = [],
+        currentYear = [];
+
+    for (var i = 0; i < allCountryNames.length; i++ ){
+        if (listofCountries.indexOf(allCountryNames[i]) === -1 ){
+            listofCountries.push(allCountryNames[i]);
+        }
+    }
+
+    function getCountryData(chosenCountry) {
+        currentGdp = [];
+        currentYear = [];
+        for (var i = 0 ; i < allCountryNames.length ; i++){
+            if ( allCountryNames[i] === chosenCountry ) {
+                currentGdp.push(allGdp[i]);
+                currentYear.push(allYear[i]);
+            }
+        }
+    };
+
+    // Default Country Data
+    setBubblePlot('Afghanistan');
+
+    function setBubblePlot(chosenCountry) {
+        getCountryData(chosenCountry);
+
+        var trace1 = {
+            x: currentYear,
+            y: currentGdp,
+            mode: 'lines+markers',
+            marker: {
+                size: 12,
+                opacity: 0.5
+            }
+        };
+
+        var data = [trace1];
+
+        var layout = {
+            title: {text: 'Line and Scatter Plot'},
+            height: 400,
+            width: 480
+        };
+
+        Plotly.newPlot('myDiv', data, layout);
+    };
+
+    var innerContainer = document.querySelector('[data-num="0"'),
+        plotEl = innerContainer.querySelector('.plot'),
+        countrySelector = innerContainer.querySelector('.countrydata');
+
+    function assignOptions(textArray, selector) {
+        for (var i = 0; i < textArray.length;  i++) {
+            var currentOption = document.createElement('option');
+            currentOption.text = textArray[i];
+            selector.appendChild(currentOption);
+        }
+    }
+
+    assignOptions(listofCountries, countrySelector);
+
+    function updateCountry(){
+        setBubblePlot(countrySelector.value);
+    }
+
+    countrySelector.addEventListener('change', updateCountry, false);
+});
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/error-bars/index.html b/docs/examples/error-bars/index.html new file mode 100644 index 00000000000..5442e5d6737 --- /dev/null +++ b/docs/examples/error-bars/index.html @@ -0,0 +1,5040 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Error Bars - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

error-bars

+
+
+

+ basic-symmetric-error-bars +

+
+ +
+
var data = [
+  {
+    x: [0, 1, 2],
+    y: [6, 10, 2],
+    error_y: {
+      type: 'data',
+      array: [1, 2, 3],
+      visible: true
+    },
+    type: 'scatter'
+  }
+];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bar-chart-with-error-bars +

+
+ +
+
var trace1 = {
+  x: ['Trial 1', 'Trial 2', 'Trial 3'],
+  y: [3, 6, 4],
+  name: 'Control',
+  error_y: {
+    type: 'data',
+    array: [1, 0.5, 1.5],
+    visible: true
+  },
+  type: 'bar'
+};
+var trace2 = {
+  x: ['Trial 1', 'Trial 2', 'Trial 3'],
+  y: [4, 7, 3],
+  name: 'Experimental',
+  error_y: {
+    type: 'data',
+    array: [0.5, 1, 2],
+    visible: true
+  },
+  type: 'bar'
+};
+var data = [trace1, trace2];
+var layout = {barmode: 'group'};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ horizontal-error-bars +

+
+ +
+
var data = [
+  {
+    x: [1, 2, 3, 4],
+    y: [2, 1, 3, 4],
+    error_x: {
+      type: 'percent',
+      value: 10
+    },
+    type: 'scatter'
+  }
+];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ asymmetric-error-bars +

+
+ +
+
var data = [
+  {
+    x: [1, 2, 3, 4],
+    y: [2, 1, 3, 4],
+    error_y: {
+      type: 'data',
+      symmetric: false,
+      array: [0.1, 0.2, 0.1, 0.1],
+      arrayminus: [0.2, 0.4, 1, 0.2]
+    },
+    type: 'scatter'
+  }
+];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ colored-and-styled-error-bars +

+
+ +
+
function linspace(a,b,n) {
+  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});
+}
+x_theo = linspace(-4, 4, 100)
+sincx = Math.sin(x_theo) / x_theo
+var x = [-3.8, -3.03, -1.91, -1.46, -0.89, -0.24, -0.0, 0.41, 0.89, 1.01, 1.91, 2.28, 2.79, 3.56]
+var y = [-0.02, 0.04, -0.01, -0.27, 0.36, 0.75, 1.03, 0.65, 0.28, 0.02, -0.11, 0.16, 0.04, -0.15]
+
+var trace1 = {
+  x: x_theo,
+  y: sincx,
+  name: 'sinc(x)',
+  type: 'scatter'
+};
+var trace2 = {
+  x: x,
+  y: y,
+  mode: 'markers',
+  name: 'measured',
+  error_y: {
+    type: 'constant',
+    value: 0.1,
+    color: '#85144B',
+    thickness: 1.5,
+    width: 3,
+  },
+  error_x: {
+    type: 'constant',
+    value: 0.2,
+    color: '#85144B',
+    thickness: 1.5,
+    width: 3,
+  },
+  marker: {
+    color: '#85144B',
+    size: 8
+  },
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+Plotly.newPlot('myDiv', data, {}, {showSendToCloud: true});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ error-bars-as-a-percentage-of-the-y-value +

+
+ +
+
var data = [
+  {
+    x: [0, 1, 2],
+    y: [6, 10, 2],
+    error_y: {
+      type: 'percent',
+      value: 50,
+      visible: true
+    },
+    type: 'scatter'
+  }
+];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ asymmetric-error-bars-with-a-constant-offset +

+
+ +
+
var data = [
+  {
+    x: [1, 2, 3, 4],
+    y: [2, 1, 3, 4],
+    error_y: {
+      type: 'percent',
+      symmetric: false,
+      value: 15,
+      valueminus: 25
+    },
+    type: 'scatter'
+  }
+];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/figure-labels/index.html b/docs/examples/figure-labels/index.html new file mode 100644 index 00000000000..86a89c329f2 --- /dev/null +++ b/docs/examples/figure-labels/index.html @@ -0,0 +1,4813 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Setting the Title, Legend Entries, and Axis Titles - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

figure-labels

+
+
+

+ styling-names +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  name: 'Name of Trace 1',
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [1, 0, 3, 2, 5, 4, 7, 6, 8],
+  name: 'Name of Trace 2',
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  title: {
+    text:'Plot Title',
+    font: {
+      family: 'Courier New, monospace',
+      size: 24
+    },
+    xref: 'paper',
+    x: 0.05,
+  },
+  xaxis: {
+    title: {
+      text: 'x Axis',
+      font: {
+        family: 'Courier New, monospace',
+        size: 18,
+        color: '#7f7f7f'
+      }
+    },
+  },
+  yaxis: {
+    title: {
+      text: 'y Axis',
+      font: {
+        family: 'Courier New, monospace',
+        size: 18,
+        color: '#7f7f7f'
+      }
+    }
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ setting-title-automargin +

+
+

Set automargin to true to allow the title to push the figure margins. +With yref set to paper, automargin expands the margins to make the title visible, +but doesn't push outside the container. With yref set to container, automargin +expands the margins, but doesn't overlap with the plot area, tick labels, and axis titles.

+
+
var trace1 = {
+  x: [1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, 2002, 2007],
+  y: [69.39,
+      70.26,
+      71.24,
+      71.52,
+      71.89,
+      72.22,
+      73.84,
+      74.32,
+      76.33,
+      77.55,
+      79.11,
+      80.204
+  ],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, 2002, 2007],
+  y: [69.12,
+      70.33,
+      70.93,
+      71.1,
+      71.93,
+      73.49,
+      74.74,
+      76.32,
+      77.56,
+      78.83,
+      80.37,
+      81.235
+  ],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  title: {
+      text: 'Population',
+      font: {
+          family: 'Courier New, monospace',
+          size: 70
+      },
+      yref: 'paper',
+      automargin: true,
+  },
+  showlegend: false
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/filled-area-animation/index.html b/docs/examples/filled-area-animation/index.html new file mode 100644 index 00000000000..a31dff28f28 --- /dev/null +++ b/docs/examples/filled-area-animation/index.html @@ -0,0 +1,4788 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Filled-Area Animation - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

filled-area-animation

+
+
+

+ filled-area-animation +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+  var frames = []
+  var x = unpack(rows, 'AAPL_x')
+  var y = unpack(rows, 'AAPL_y')
+
+  var n = 100;
+  for (var i = 0; i < n; i++) {
+    frames[i] = {data: [{x: [], y: []}]}
+    frames[i].data[0].x = x.slice(0, i+1);
+    frames[i].data[0].y = y.slice(0, i+1);
+  }
+
+  Plotly.newPlot('myDiv', [{
+    x: frames[1].data[0].x,
+    y: frames[1].data[0].y,
+    fill: 'tozeroy',
+    type: 'scatter',
+    mode: 'lines',
+    line: {color: 'green'}
+  }], {
+    title: {
+      text: "Filled-Area Animation"
+    },
+    xaxis: {
+      type: 'date',
+      range: [
+        frames[99].data[0].x[0],
+        frames[99].data[0].x[99]
+      ]
+    },
+    yaxis: {
+      range: [
+        0,
+        90
+      ]
+    },
+    updatemenus: [{
+      x: 0.1,
+      y: 0,
+      yanchor: "top",
+      xanchor: "right",
+      showactive: false,
+      direction: "left",
+      type: "buttons",
+      pad: {"t": 87, "r": 10},
+      buttons: [{
+        method: "animate",
+        args: [null, {
+          fromcurrent: true,
+          transition: {
+            duration: 0,
+          },
+          frame: {
+            duration: 40,
+            redraw: false
+          }
+        }],
+        label: "Play"
+      }, {
+        method: "animate",
+        args: [
+          [null],
+          {
+            mode: "immediate",
+            transition: {
+              duration: 0
+            },
+            frame: {
+              duration: 0,
+              redraw: false
+            }
+          }
+        ],
+        label: "Pause"
+      }]
+    }]
+  }).then(function() {
+    Plotly.addFrames('myDiv', frames);
+  });
+
+})
+
+ + + + + +
+
+
+ +
+
+

+ multiple-trace-filled-area +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+  var frames = []
+  var x = unpack(rows, 'Date')
+  var y = unpack(rows, 'AAPL.High')
+  var x2 = unpack(rows, 'Date')
+  var y2 = unpack(rows, 'AAPL.Low')
+
+  var n = 100;
+  for (var i = 0; i < n; i++) {
+    frames[i] = {data: [{x: [], y: []}, {x: [], y: []}]}
+    frames[i].data[1].x = x.slice(0, i+1);
+    frames[i].data[1].y = y.slice(0, i+1);
+    frames[i].data[0].x = x2.slice(0, i+1);
+    frames[i].data[0].y = y2.slice(0, i+1);
+  }
+
+  var trace2 = {
+    type: "scatter",
+    mode: "lines",
+    name: 'AAPL High',
+    fill: 'tonexty',
+    x: frames[5].data[1].x,
+    y: frames[5].data[1].y,
+    line: {color: 'grey'}
+  }
+
+  var trace1 = {
+    type: "scatter",
+    mode: "lines",
+    name: 'AAPL Low',
+    x: frames[5].data[0].x,
+    y: frames[5].data[0].y,
+    line: {color: 'lightgrey'}
+  }
+
+  var data = [trace1,trace2];
+
+  var layout = {
+    title: {
+      text: 'Multiple Trace Filled-Area Animation'
+    },
+    xaxis: {
+      range: [frames[99].data[0].x[0], frames[99].data[0].x[99]],
+      showgrid: false
+    },
+    yaxis: {
+      range: [120, 140],
+      showgrid: false
+    },
+    legend: {
+      orientation: 'h',
+      x: 0.5,
+      y: 1.2,
+      xanchor: 'center'
+    },
+    updatemenus: [{
+      x: 0.5,
+      y: 0,
+      yanchor: "top",
+      xanchor: "center",
+      showactive: false,
+      direction: "left",
+      type: "buttons",
+      pad: {"t": 87, "r": 10},
+      buttons: [{
+        method: "animate",
+        args: [null, {
+          fromcurrent: true,
+          transition: {
+            duration: 0,
+          },
+          frame: {
+            duration: 40,
+            redraw: false
+          }
+        }],
+        label: "Play"
+      }, {
+        method: "animate",
+        args: [
+          [null],
+          {
+            mode: "immediate",
+            transition: {
+              duration: 0
+            },
+            frame: {
+              duration: 0,
+              redraw: false
+            }
+          }
+        ],
+        label: "Pause"
+      }]
+    }]
+  };
+
+  Plotly.newPlot('myDiv', data, layout).then(function() {
+    Plotly.addFrames('myDiv', frames);
+  });
+})
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/filled-area-on-map/index.html b/docs/examples/filled-area-on-map/index.html new file mode 100644 index 00000000000..9b62dc373b4 --- /dev/null +++ b/docs/examples/filled-area-on-map/index.html @@ -0,0 +1,4822 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Filled Area on Tile Maps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

filled-area-on-map

+
+
+

+ overview +

+
+

There are three different ways to show a filled area in a tile-based map.

+
    +
  1. Use a [scattermap](https://plotly.com/javascript/reference/scattermap/) trace and set `fill` attribute to 'toself'
  2. +
  3. Use a map layout (i.e. by minimally using an empty Scattermap trace) and add a GeoJSON layer
  4. +
  5. Use the [Choroplethmap](https://plotly.com/javascript/map-county-choropleth/) trace type
  6. +
+
Filled `Scattermap` Trace
+

The following example uses Scattermap and sets fill = 'toself'.

+
+
var data = [
+    {
+        type: "scattermap",
+        fill: "toself",
+        lon: [-74, -70, -70, -74],
+        lat: [47, 47, 45, 45],
+        marker: { size: 10, color: "orange" }
+    }
+];
+
+var layout = {
+    map: {
+        style: "stamen-terrain",
+        center: { lon: -73, lat: 46 },
+        zoom: 5
+    },
+    showlegend: false,
+    height: 450,
+    width: 600
+};
+
+Plotly.newPlot("myDiv", data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-filled-areas-with-a-scattermap-trace +

+
+

The following example shows how to use null in your data to draw multiple filled areas. Such gaps in trace data are unconnected by default, but this can be controlled via the connectgaps attribute.

+
+
var data = [{
+        type: "scattermap",
+        mode: "lines",
+        fill: "toself",
+        lon: [-10, -10, 8, 8, -10, null, 30, 30, 50, 50, 30, null, 100, 100, 80, 80, 100],
+        lat: [30, 6, 6, 30, 30,    null, 20, 30, 30, 20, 20, null, 40, 50, 50, 40, 40]
+        }]
+
+var layout = {
+    map: {style: "stamen-terrain", center: {lon: 40, lat: 20}, 'zoom': 1.5},
+    showlegend: false,
+    width:700, height: 700}
+
+Plotly.newPlot("myDiv", data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ geojson-layers +

+
+

This example shows an area below water layer, and sets geojson object of type feature and geometries of type MultiPolygon.

+
+
var data = [{
+    type: "scattermap", mode: "markers",
+    lon: [-73.605], lat: [45.51],
+    marker: { size: 20, color: ["cyan"] }
+  }];
+
+var layout = {
+  map: {
+    style: "dark",
+    center: { lon: -73.6, lat: 45.515},
+    zoom: 12, layers: [{
+        source: {
+          type: "FeatureCollection",
+          features: [{
+              type: "Feature",
+              geometry: {
+                type: "MultiPolygon",
+                coordinates: [[[
+                      [-73.606352888, 45.507489991], [-73.606133883, 45.50687600],
+                      [-73.605905904, 45.506773980], [-73.603533905, 45.505698946],
+                      [-73.602475870, 45.506856969], [-73.600031904, 45.505696003],
+                      [-73.599379992, 45.505389066], [-73.599119902, 45.505632008],
+                      [-73.598896977, 45.505514039], [-73.598783894, 45.505617001],
+                      [-73.591308727, 45.516246185], [-73.591380782, 45.516280145],
+                      [-73.596778656, 45.518690062], [-73.602796770, 45.521348046],
+                      [-73.612239983, 45.525564037], [-73.612422919, 45.525642061],
+                      [-73.617229085, 45.527751983], [-73.617279234, 45.527774160],
+                      [-73.617304713, 45.527741334], [-73.617492052, 45.527498362],
+                      [-73.617533258, 45.527512253], [-73.618074188, 45.526759105],
+                      [-73.618271651, 45.526500673], [-73.618446320, 45.526287943],
+                      [-73.618968507, 45.525698560], [-73.619388002, 45.525216750],
+                      [-73.619532966, 45.525064183], [-73.619686662, 45.524889290],
+                      [-73.619787038, 45.524770086], [-73.619925742, 45.524584939],
+                      [-73.619954486, 45.524557690], [-73.620122362, 45.524377961],
+                      [-73.620201713, 45.524298907], [-73.620775593, 45.523650879]
+                    ]]]
+              }
+            }]
+        },
+        type: "fill", below: "water", color: "teal"
+      }]
+  },
+  height: 450, width: 700
+};
+
+Plotly.newPlot("myDiv", data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/filled-area-plots/index.html b/docs/examples/filled-area-plots/index.html new file mode 100644 index 00000000000..c63fb8274f8 --- /dev/null +++ b/docs/examples/filled-area-plots/index.html @@ -0,0 +1,4907 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Filled Area Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

filled-area-plots

+
+
+

+ basic-overlaid-area-chart +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [0, 2, 3, 5],
+  fill: 'tozeroy',
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4],
+  y: [3, 5, 1, 7],
+  fill: 'tonexty',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ stacked-area-chart +

+
+ +
+
var plotDiv = document.getElementById('plot');
+var traces = [
+    {x: [1,2,3], y: [2,1,4], stackgroup: 'one'},
+    {x: [1,2,3], y: [1,1,2], stackgroup: 'one'},
+    {x: [1,2,3], y: [3,0,2], stackgroup: 'one'}
+];
+
+Plotly.newPlot('myDiv', traces, {title: {text: 'stacked and filled line chart'}});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ overlaid-area-chart-without-boundary-lines +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [0, 2, 3, 5],
+  fill: 'tozeroy',
+  type: 'scatter',
+  mode: 'none'
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4],
+  y: [3, 5, 1, 7],
+  fill: 'tonexty',
+  type: 'scatter',
+  mode: 'none'
+};
+
+var layout = {
+  title: {
+    text: 'Overlaid Chart Without Boundary Lines'
+  }
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ normalized-stacked-area-chart +

+
+ +
+
var plotDiv = document.getElementById('plot');
+var traces = [
+    {x: [1,2,3], y: [2,1,4], stackgroup: 'one', groupnorm:'percent'},
+    {x: [1,2,3], y: [1,1,2], stackgroup: 'one'},
+    {x: [1,2,3], y: [3,0,2], stackgroup: 'one'}
+];
+
+Plotly.newPlot('myDiv', traces, {title: {text: 'Normalized stacked and filled line chart'}});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ select-hover-points +

+
+ +
+
var data = [
+  {
+    x: [0,0.5,1,1.5,2],
+    y: [0,1,2,1,0],
+    fill: 'toself',
+    fillcolor: '#ab63fa',
+    hoveron: 'points+fills',
+    line: {
+      color: '#ab63fa'
+    },
+    text: "Points + Fills",
+    hoverinfo: 'text'
+  },
+  {
+    x: [3,3.5,4,4.5,5],
+    y: [0,1,2,1,0],
+    fill: 'toself',
+    fillcolor: '#e763fa',
+    hoveron: 'points',
+    line: {
+      color: '#e763fa'
+    },
+    text: "Points only",
+    hoverinfo: 'text'
+  }]
+
+var layout = {
+  title: {
+    text: 'Hover on <i>points</i> or <i>fill</i>'
+  },
+  xaxis: {
+    range: [0,5]
+  },
+  yaxis: {
+    range: [0,3]
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/font/index.html b/docs/examples/font/index.html new file mode 100644 index 00000000000..be4d90b7e8d --- /dev/null +++ b/docs/examples/font/index.html @@ -0,0 +1,4625 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Text and Font Styling - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

font

+
+
+

+ global-font-properties +

+
+ +
+
var data = [
+  {
+    x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+    y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+    type: 'scatter'
+  }
+];
+var layout = {
+  title: {
+    text: 'Global Font'
+  },
+  font: {
+    family: 'Courier New, monospace',
+    size: 18,
+    color: '#7f7f7f'
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/funnel-charts/index.html b/docs/examples/funnel-charts/index.html new file mode 100644 index 00000000000..c4cd190a714 --- /dev/null +++ b/docs/examples/funnel-charts/index.html @@ -0,0 +1,4849 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Funnel Chart - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

funnel-charts

+
+
+

+ basic-funnel-plot +

+
+ +
+
var gd = document.getElementById('myDiv');
+var data = [{type: 'funnel', y: ["Website visit", "Downloads", "Potential customers", "Invoice sent", "Closed delas"], x: [13873, 10533, 5443, 2703, 908], hoverinfo: 'x+percent previous+percent initial'}];
+
+var layout = {margin: {l: 150}, width:600, height: 500}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ setting-marker-size-and-color +

+
+ +
+
var gd = document.getElementById('myDiv');
+
+var data = [{type: 'funnel',
+             y: ["Sales person A", "Sales person B", "Sales person C", "Sales person D", "Sales person E"],
+             x: [1200, 909.4, 600.6, 300, 80], textposition: "inside", textinfo: "value+percent initial",
+             hoverinfo: 'percent total+x', opacity: 0.65, marker: {color: ["59D4E8", "DDB6C6", "A696C8", "67EACA", "94D2E6"],
+             line: {"width": [4, 2, 2, 3, 1, 1], color: ["3E4E88", "606470", "3E4E88", "606470", "3E4E88"]}},
+             connector: {line: {color: "royalblue", dash: "dot", width: 3}}}];
+
+var layout = {margin: {l: 100}, width: 600, height: 500}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ stacked-funnel +

+
+ +
+
var gd = document.getElementById('myDiv');
+var data = [{type: 'funnel', name: 'Montreal',
+  y: ["Website visit", "Downloads", "Potential customers", "Requested price"],
+  x: [120, 60, 30, 20],
+  textinfo: "value+percent initial"},
+  {
+     type: 'funnel',name: 'Toronto',
+    y: ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent"],
+    x: [100, 60, 40, 30, 20], textposition: "inside", textinfo: "value+percent previous"},
+  {
+    type: 'funnel',name: 'Vancouver',
+    y: ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent", "closed deals"],
+    x: [90, 70, 50, 30, 10, 5], textposition: "outside", textinfo: "value+percent total"}];
+
+var layout = {margin: {l: 130, r: 0}, width: 600, funnelmode: "stack", showlegend: 'true'}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ funnelarea-plot +

+
+ +
+
var gd = document.getElementById('myDiv');
+var data = [{type: 'funnelarea', values: [5, 4, 3, 2, 1], text: ["The 1st", "The 2nd", "The 3rd", "The 4th", "The 5th"],
+      marker: {colors: ["59D4E8", "DDB6C6", "A696C8", "67EACA", "94D2E6"],
+                line: {color: ["3E4E88", "606470", "3E4E88", "606470", "3E4E88"], width: [2, 1, 5, 0, 3]}},
+      textfont: {family: "Old Standard TT", size: 13, color: "black"}, opacity: 0.65}];
+
+var layout = {margin: {l: 200 , r: 200}, funnelmode: "stack", showlegend: 'True'}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multi-funnelarea +

+
+ +
+
var gd = document.getElementById('myDiv');
+var data = [{type: 'funnelarea', scalegroup: "first", values: [500, 450, 340, 230, 220, 110],
+    textinfo: "value", title: {position: "top center", text: "Sales for Sale Person A in U.S."},
+    domain: {x: [0, 0.5], y: [0, 0.5]}},
+{
+    type: 'funnelarea', scalegroup: "first", values: [600, 500, 400, 300, 200, 100], textinfo: "value",
+    title: {position: "top center", text: "Sales of Sale Person B in Canada"},
+    domain: {x: [0, 0.5], y: [0.55, 1]}},
+{
+    type:'funnelarea', scalegroup: "second", values: [510, 480, 440, 330, 220, 100], textinfo: "value",
+    title: {position: "top left", text: "Sales of Sale Person A in Canada"},
+    domain: {x: [0.55, 1], y: [0, 0.5]}},
+{
+  type: 'funnelarea', scalegroup: "second", values: [360, 250, 240, 130, 120, 60],
+  textinfo: "value", title: {position: "top left", text: "Sales of Sale Person B in U.S."},
+  domain: {x: [0.55, 1], y: [0.55, 1]}}];
+
+var layout = {width: 600,shapes: [
+            {x0: 0, x1: 0.5, y0: 0, y1: 0.5},
+            {x0: 0, x1: 0.5, y0: 0.55, y1: 1},
+            {x0: 0.55, x1: 1, y0: 0, y1: 0.5},
+            {x0: 0.55, x1: 1, y0: 0.55, y1: 1}]}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/gapminder-example/index.html b/docs/examples/gapminder-example/index.html new file mode 100644 index 00000000000..37fc51c8a2e --- /dev/null +++ b/docs/examples/gapminder-example/index.html @@ -0,0 +1,4739 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Adding Sliders to Animations - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

gapminder-example

+
+
+

+ animating-with-a-slider +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv', function (err, data) {
+  // Create a lookup table to sort and regroup the columns of data,
+  // first by year, then by continent:
+  var lookup = {};
+  function getData(year, continent) {
+    var byYear, trace;
+    if (!(byYear = lookup[year])) {;
+      byYear = lookup[year] = {};
+    }
+     // If a container for this year + continent doesn't exist yet,
+     // then create one:
+    if (!(trace = byYear[continent])) {
+      trace = byYear[continent] = {
+        x: [],
+        y: [],
+        id: [],
+        text: [],
+        marker: {size: []}
+      };
+    }
+    return trace;
+  }
+
+  // Go through each row, get the right trace, and append the data:
+  for (var i = 0; i < data.length; i++) {
+    var datum = data[i];
+    var trace = getData(datum.year, datum.continent);
+    trace.text.push(datum.country);
+    trace.id.push(datum.country);
+    trace.x.push(datum.lifeExp);
+    trace.y.push(datum.gdpPercap);
+    trace.marker.size.push(datum.pop);
+  }
+
+  // Get the group names:
+  var years = Object.keys(lookup);
+  // In this case, every year includes every continent, so we
+  // can just infer the continents from the *first* year:
+  var firstYear = lookup[years[0]];
+  var continents = Object.keys(firstYear);
+
+  // Create the main traces, one for each continent:
+  var traces = [];
+  for (i = 0; i < continents.length; i++) {
+    var data = firstYear[continents[i]];
+     // One small note. We're creating a single trace here, to which
+     // the frames will pass data for the different years. It's
+     // subtle, but to avoid data reference problems, we'll slice
+     // the arrays to ensure we never write any new data into our
+     // lookup table:
+    traces.push({
+      name: continents[i],
+      x: data.x.slice(),
+      y: data.y.slice(),
+      id: data.id.slice(),
+      text: data.text.slice(),
+      mode: 'markers',
+      marker: {
+        size: data.marker.size.slice(),
+        sizemode: 'area',
+        sizeref: 200000
+      }
+    });
+  }
+
+  // Create a frame for each year. Frames are effectively just
+  // traces, except they don't need to contain the *full* trace
+  // definition (for example, appearance). The frames just need
+  // the parts the traces that change (here, the data).
+  var frames = [];
+  for (i = 0; i < years.length; i++) {
+    frames.push({
+      name: years[i],
+      data: continents.map(function (continent) {
+        return getData(years[i], continent);
+      })
+    })
+  }
+
+  // Now create slider steps, one for each frame. The slider
+  // executes a plotly.js API command (here, Plotly.animate).
+  // In this example, we'll animate to one of the named frames
+  // created in the above loop.
+  var sliderSteps = [];
+  for (i = 0; i < years.length; i++) {
+    sliderSteps.push({
+      method: 'animate',
+      label: years[i],
+      args: [[years[i]], {
+        mode: 'immediate',
+        transition: {duration: 300},
+        frame: {duration: 300, redraw: false},
+      }]
+    });
+  }
+
+  var layout = {
+    xaxis: {
+      title: {text: 'Life Expectancy'},
+      range: [30, 85]
+    },
+    yaxis: {
+      title: {text: 'GDP per Capita'},
+      type: 'log'
+    },
+    hovermode: 'closest',
+     // We'll use updatemenus (whose functionality includes menus as
+     // well as buttons) to create a play button and a pause button.
+     // The play button works by passing `null`, which indicates that
+     // Plotly should animate all frames. The pause button works by
+     // passing `[null]`, which indicates we'd like to interrupt any
+     // currently running animations with a new list of frames. Here
+     // The new list of frames is empty, so it halts the animation.
+    updatemenus: [{
+      x: 0,
+      y: 0,
+      yanchor: 'top',
+      xanchor: 'left',
+      showactive: false,
+      direction: 'left',
+      type: 'buttons',
+      pad: {t: 87, r: 10},
+      buttons: [{
+        method: 'animate',
+        args: [null, {
+          mode: 'immediate',
+          fromcurrent: true,
+          transition: {duration: 300},
+          frame: {duration: 500, redraw: false}
+        }],
+        label: 'Play'
+      }, {
+        method: 'animate',
+        args: [[null], {
+          mode: 'immediate',
+          transition: {duration: 0},
+          frame: {duration: 0, redraw: false}
+        }],
+        label: 'Pause'
+      }]
+    }],
+     // Finally, add the slider and use `pad` to position it
+     // nicely next to the buttons.
+    sliders: [{
+      pad: {l: 130, t: 55},
+      currentvalue: {
+        visible: true,
+        prefix: 'Year:',
+        xanchor: 'right',
+        font: {size: 20, color: '#666'}
+      },
+      steps: sliderSteps
+    }]
+  };
+
+  // Create the plot:
+  Plotly.newPlot('myDiv', {
+    data: traces,
+    layout: layout,
+    frames: frames,
+  });
+});
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/gauge-charts/index.html b/docs/examples/gauge-charts/index.html new file mode 100644 index 00000000000..d53a2f0f766 --- /dev/null +++ b/docs/examples/gauge-charts/index.html @@ -0,0 +1,4799 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Gauge Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

gauge-charts

+
+
+

+ basic-gauge +

+
+

A radial gauge chart has a circular arc, which displays a single value to estimate progress toward a goal. +The bar shows the target value, and the shading represents the progress toward that goal. Gauge charts, known as +speedometer charts as well. This chart type is usually used to illustrate key business indicators.

+

The example below displays a basic gauge chart with default attributes. For more information about different added attributes check indicator tutorial.

+
+
var data = [
+    {
+        domain: { x: [0, 1], y: [0, 1] },
+        value: 270,
+        title: { text: "Speed" },
+        type: "indicator",
+        mode: "gauge+number"
+    }
+];
+
+var layout = { width: 600, height: 500, margin: { t: 0, b: 0 } };
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-steps-threshold-and-delta +

+
+

The following examples include "steps" attribute shown as shading inside the radial arc, "delta" which is the +difference of the value and goal (reference - value), and "threshold" to determine boundaries that visually alert you if the value cross a defined threshold.

+
+
var data = [
+  {
+    domain: { x: [0, 1], y: [0, 1] },
+    value: 450,
+    title: { text: "Speed" },
+    type: "indicator",
+    mode: "gauge+number+delta",
+    delta: { reference: 380 },
+    gauge: {
+      axis: { range: [null, 500] },
+      steps: [
+        { range: [0, 250], color: "lightgray" },
+        { range: [250, 400], color: "gray" }
+      ],
+      threshold: {
+        line: { color: "red", width: 4 },
+        thickness: 0.75,
+        value: 490
+      }
+    }
+  }
+];
+
+var layout = { width: 600, height: 450, margin: { t: 0, b: 0 } };
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ custom-gauge-chart +

+
+

The following example shows how to style your gauge charts. For more information about all possible options check our reference page.

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "gauge+number+delta",
+    value: 420,
+    title: { text: "Speed", font: { size: 24 } },
+    delta: { reference: 400, increasing: { color: "RebeccaPurple" } },
+    gauge: {
+      axis: { range: [null, 500], tickwidth: 1, tickcolor: "darkblue" },
+      bar: { color: "darkblue" },
+      bgcolor: "white",
+      borderwidth: 2,
+      bordercolor: "gray",
+      steps: [
+        { range: [0, 250], color: "cyan" },
+        { range: [250, 400], color: "royalblue" }
+      ],
+      threshold: {
+        line: { color: "red", width: 4 },
+        thickness: 0.75,
+        value: 490
+      }
+    }
+  }
+];
+
+var layout = {
+  width: 500,
+  height: 400,
+  margin: { t: 25, r: 25, l: 25, b: 25 },
+  paper_bgcolor: "lavender",
+  font: { color: "darkblue", family: "Arial" }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/graphing-multiple-chart-types/index.html b/docs/examples/graphing-multiple-chart-types/index.html new file mode 100644 index 00000000000..ce4eb9103bc --- /dev/null +++ b/docs/examples/graphing-multiple-chart-types/index.html @@ -0,0 +1,4692 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Multiple Chart Types - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

graphing-multiple-chart-types

+
+
+

+ line-chart-and-a-bar-chart +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5],
+  y: [1.5, 1, 1.3, 0.7, 0.8, 0.9],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5],
+  y: [1, 0.5, 0.7, -1.2, 0.3, 0.4],
+  type: 'bar'
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ a-contour-and-scatter-plot-of-the-method-of-steepest-descent +

+
+ +
+
var trace1 = {
+  z: [[1.5, 1.23469387755, 1.01020408163, 0.826530612245, 0.683673469388, 0.581632653061, 0.520408163265, 0.5, 0.520408163265, 0.581632653061, 0.683673469388, 0.826530612245, 1.01020408163, 1.23469387755, 1.5], [1.36734693878, 1.10204081633, 0.877551020408, 0.69387755102, 0.551020408163, 0.448979591837, 0.387755102041, 0.367346938776, 0.387755102041, 0.448979591837, 0.551020408163, 0.69387755102, 0.877551020408, 1.10204081633, 1.36734693878], [1.25510204082, 0.989795918367, 0.765306122449, 0.581632653061, 0.438775510204, 0.336734693878, 0.275510204082, 0.255102040816, 0.275510204082, 0.336734693878, 0.438775510204, 0.581632653061, 0.765306122449, 0.989795918367, 1.25510204082], [1.16326530612, 0.897959183673, 0.673469387755, 0.489795918367, 0.34693877551, 0.244897959184, 0.183673469388, 0.163265306122, 0.183673469388, 0.244897959184, 0.34693877551, 0.489795918367, 0.673469387755, 0.897959183673, 1.16326530612], [1.09183673469, 0.826530612245, 0.602040816327, 0.418367346939, 0.275510204082, 0.173469387755, 0.112244897959, 0.0918367346939, 0.112244897959, 0.173469387755, 0.275510204082, 0.418367346939, 0.602040816327, 0.826530612245, 1.09183673469], [1.04081632653, 0.775510204082, 0.551020408163, 0.367346938776, 0.224489795918, 0.122448979592, 0.0612244897959, 0.0408163265306, 0.0612244897959, 0.122448979592, 0.224489795918, 0.367346938776, 0.551020408163, 0.775510204082, 1.04081632653], [1.01020408163, 0.744897959184, 0.520408163265, 0.336734693878, 0.19387755102, 0.0918367346939, 0.030612244898, 0.0102040816327, 0.030612244898, 0.0918367346939, 0.19387755102, 0.336734693878, 0.520408163265, 0.744897959184, 1.01020408163], [1.0, 0.734693877551, 0.510204081633, 0.326530612245, 0.183673469388, 0.0816326530612, 0.0204081632653, 0.0, 0.0204081632653, 0.0816326530612, 0.183673469388, 0.326530612245, 0.510204081633, 0.734693877551, 1.0], [1.01020408163, 0.744897959184, 0.520408163265, 0.336734693878, 0.19387755102, 0.0918367346939, 0.030612244898, 0.0102040816327, 0.030612244898, 0.0918367346939, 0.19387755102, 0.336734693878, 0.520408163265, 0.744897959184, 1.01020408163], [1.04081632653, 0.775510204082, 0.551020408163, 0.367346938776, 0.224489795918, 0.122448979592, 0.0612244897959, 0.0408163265306, 0.0612244897959, 0.122448979592, 0.224489795918, 0.367346938776, 0.551020408163, 0.775510204082, 1.04081632653], [1.09183673469, 0.826530612245, 0.602040816327, 0.418367346939, 0.275510204082, 0.173469387755, 0.112244897959, 0.0918367346939, 0.112244897959, 0.173469387755, 0.275510204082, 0.418367346939, 0.602040816327, 0.826530612245, 1.09183673469], [1.16326530612, 0.897959183673, 0.673469387755, 0.489795918367, 0.34693877551, 0.244897959184, 0.183673469388, 0.163265306122, 0.183673469388, 0.244897959184, 0.34693877551, 0.489795918367, 0.673469387755, 0.897959183673, 1.16326530612], [1.25510204082, 0.989795918367, 0.765306122449, 0.581632653061, 0.438775510204, 0.336734693878, 0.275510204082, 0.255102040816, 0.275510204082, 0.336734693878, 0.438775510204, 0.581632653061, 0.765306122449, 0.989795918367, 1.25510204082], [1.36734693878, 1.10204081633, 0.877551020408, 0.69387755102, 0.551020408163, 0.448979591837, 0.387755102041, 0.367346938776, 0.387755102041, 0.448979591837, 0.551020408163, 0.69387755102, 0.877551020408, 1.10204081633, 1.36734693878], [1.5, 1.23469387755, 1.01020408163, 0.826530612245, 0.683673469388, 0.581632653061, 0.520408163265, 0.5, 0.520408163265, 0.581632653061, 0.683673469388, 0.826530612245, 1.01020408163, 1.23469387755, 1.5]],
+  x: [-1.0, -0.857142857143, -0.714285714286, -0.571428571429, -0.428571428571, -0.285714285714, -0.142857142857, 0.0, 0.142857142857, 0.285714285714, 0.428571428571, 0.571428571429, 0.714285714286, 0.857142857143, 1.0],
+  y: [-1.0, -0.857142857143, -0.714285714286, -0.571428571429, -0.428571428571, -0.285714285714, -0.142857142857, 0.0, 0.142857142857, 0.285714285714, 0.428571428571, 0.571428571429, 0.714285714286, 0.857142857143, 1.0],
+  ncontours: 30,
+  showscale: false,
+  type: 'contour'
+};
+
+var trace2 = {
+  x: [-0.8, -0.48, -0.288, -0.1728, -0.10368, -0.062208, -0.0373248, -0.02239488, -0.013436928, -0.0080621568, -0.00483729408, -0.002902376448, -0.0017414258688, -0.00104485552128, -0.000626913312768, -0.000376147987661],
+  y: [-0.9, -0.72, -0.576, -0.4608, -0.36864, -0.294912, -0.2359296, -0.18874368, -0.150994944, -0.1207959552, -0.09663676416, -0.077309411328, -0.0618475290624, -0.0494780232499, -0.0395824185999, -0.0316659348799],
+  mode: 'markers+lines',
+  name: 'steepest',
+  line: {color: 'black'},
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/heatmaps/index.html b/docs/examples/heatmaps/index.html new file mode 100644 index 00000000000..a42b70c8681 --- /dev/null +++ b/docs/examples/heatmaps/index.html @@ -0,0 +1,5075 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Heatmaps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

heatmaps

+
+
+

+ basic-heatmap +

+
+ +
+
var data = [
+  {
+    z: [[1, 20, 30], [20, 1, 60], [30, 60, 1]],
+    type: 'heatmap'
+  }
+];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ heatmap-with-categorical-axis-labels +

+
+

In this example we also show how to ignore hovertext when we have missing values in the data by setting the hoverongaps to False.

+
+
var data = [
+  {
+    z: [[1, null, 30, 50, 1], [20, 1, 60, 80, 30], [30, 60, 1, -10, 20]],
+    x: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
+    y: ['Morning', 'Afternoon', 'Evening'],
+    type: 'heatmap',
+    hoverongaps: false
+  }
+];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ annotated-heatmap +

+
+ +
+
var xValues = ['A', 'B', 'C', 'D', 'E'];
+
+var yValues = ['W', 'X', 'Y', 'Z'];
+
+var zValues = [
+  [0.00, 0.00, 0.75, 0.75, 0.00],
+  [0.00, 0.00, 0.75, 0.75, 0.00],
+  [0.75, 0.75, 0.75, 0.75, 0.75],
+  [0.00, 0.00, 0.00, 0.75, 0.00]
+];
+
+var colorscaleValue = [
+  [0, '#3D9970'],
+  [1, '#001f3f']
+];
+
+var data = [{
+  x: xValues,
+  y: yValues,
+  z: zValues,
+  type: 'heatmap',
+  colorscale: colorscaleValue,
+  showscale: false
+}];
+
+var layout = {
+  title: {
+    text: 'Annotated Heatmap'
+  },
+  annotations: [],
+  xaxis: {
+    ticks: '',
+    side: 'top'
+  },
+  yaxis: {
+    ticks: '',
+    ticksuffix: ' ',
+    width: 700,
+    height: 700,
+    autosize: false
+  }
+};
+
+for ( var i = 0; i < yValues.length; i++ ) {
+  for ( var j = 0; j < xValues.length; j++ ) {
+    var currentValue = zValues[i][j];
+    if (currentValue != 0.0) {
+      var textColor = 'white';
+    }else{
+      var textColor = 'black';
+    }
+    var result = {
+      xref: 'x1',
+      yref: 'y1',
+      x: xValues[j],
+      y: yValues[i],
+      text: zValues[i][j],
+      font: {
+        family: 'Arial',
+        size: 12,
+        color: 'rgb(50, 171, 96)'
+      },
+      showarrow: false,
+      font: {
+        color: textColor
+      }
+    };
+    layout.annotations.push(result);
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ heatmap-with-unequal-block-sizes +

+
+ +
+
function linspace(a,b,n) {
+  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});
+}
+//number of spiral loops
+
+var nspiral = 2;
+
+// angle
+
+var th = linspace(((-Math.PI) / 13), (2 * Math.PI * nspiral), 1000);
+
+//Empty Value Containers
+
+var xValues = [];
+var yValues = [];
+var yShift = [];
+var finalX = [];
+var finalY = [];
+
+//spiral
+
+for(var i = 0; i < th.length; i++){
+  var a = 1.120529;
+  var b = 0.306349;
+  var r = a * Math.exp((-b) * th[i]);
+  var xResult = (r * Math.cos(th[i]));
+  var yResult = (r * Math.sin(th[i]));
+  xValues.push(xResult);
+  yValues.push(yResult);
+}
+
+function getMaxOfArray(numArray) {
+  return Math.max.apply(null, numArray);
+};
+
+function getMinOfArray(numArray) {
+  return Math.min.apply(null, numArray);
+};
+
+//Shift spiral north so that it is centered
+
+var yShift = (1.6 - (getMaxOfArray(yValues) - getMinOfArray(yValues))) / 2;
+
+var spiralTrace = {
+  x: xValues.map(function(xi) { return -(xi) + xValues[0]; }),
+  y: yValues.map(function(yi) { return yi - yValues[0] + yShift; }),
+  type: 'scatter',
+  line: {
+    color: 'white',
+    width: 3
+  }
+};
+
+//Build the rectangles as a heatmap and specify the edges of the heatmap squares
+
+var phi = (1 + Math.sqrt(5)) / 2;
+var xe = [0, 1, (1 + (1 / Math.pow(phi,4))), 1 + (1 / Math.pow(phi,3)), phi];
+var ye = [0, (1 / Math.pow(phi,3)), (1 / Math.pow(phi,3)) + (1 / Math.pow(phi,4)), (1 / Math.pow(phi,2)), 1];
+
+var zValues = [
+  [13, 3, 3, 5],
+  [13, 2, 1, 5],
+  [13, 10, 11, 12],
+  [13, 8, 8, 8]
+];
+
+var hm = {
+  x: xe,
+  y: ye.map(function(yi) { return yi + yShift; }),
+  z: zValues,
+  type: 'heatmap',
+  colorscale: 'Viridis'
+};
+
+var axisTemplate = {
+  range: [0, 1.6],
+  autorange: false,
+  showgrid: false,
+  zeroline: false,
+  linecolor: 'black',
+  showticklabels: false,
+  ticks: ''
+};
+
+var data = [spiralTrace, hm];
+
+var layout = {
+  title: {
+    text: 'Heatmap with Unequal Block Sizes'
+  },
+  margin: {
+    t: 200,
+    r: 200,
+    b: 200,
+    l: 200
+  },
+  xaxis: axisTemplate,
+  yaxis: axisTemplate,
+  showlegend: false,
+  width: 700,
+  height: 700,
+  autosize: false
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/histograms/index.html b/docs/examples/histograms/index.html new file mode 100644 index 00000000000..625210b348c --- /dev/null +++ b/docs/examples/histograms/index.html @@ -0,0 +1,5196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Histograms - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

histograms

+
+
+

+ basic-histogram +

+
+ +
+
var x = [];
+for (var i = 0; i < 500; i ++) {
+    x[i] = Math.random();
+}
+
+var trace = {
+    x: x,
+    type: 'histogram',
+  };
+var data = [trace];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ horizontal-histogram +

+
+ +
+
var y = [];
+for (var i = 0; i < 500; i ++) {
+    y[i] = Math.random();
+}
+
+var data = [
+  {
+    y: y,
+    type: 'histogram',
+    marker: {
+    color: 'pink',
+    },
+  }
+];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ overlaid-histogram +

+
+ +
+
var x1 = [];
+var x2 = [];
+for (var i = 1; i < 500; i++)
+{
+    k = Math.random();
+    x1.push(Math.random() + 1);
+    x2.push(Math.random() + 1.1);
+}
+var trace1 = {
+  x: x1,
+  type: "histogram",
+  opacity: 0.5,
+  marker: {
+     color: 'green',
+  },
+};
+var trace2 = {
+  x: x2,
+  type: "histogram",
+  opacity: 0.6,
+  marker: {
+     color: 'red',
+  },
+};
+
+var data = [trace1, trace2];
+var layout = {barmode: "overlay"};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ stacked-histograms +

+
+ +
+
var x1 = [];
+var x2 = [];
+for (var i = 0; i < 500; i ++) {
+    x1[i] = Math.random();
+    x2[i] = Math.random();
+}
+
+var trace1 = {
+  x: x1,
+  type: "histogram",
+};
+var trace2 = {
+  x: x2,
+  type: "histogram",
+};
+var data = [trace1, trace2];
+var layout = {barmode: "stack"};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ colored-and-styled-histograms +

+
+ +
+
var x1 = [];
+var x2 = [];
+var y1 = [];
+var y2 = [];
+for (var i = 1; i < 500; i++)
+{
+  k = Math.random();
+  x1.push(k*5);
+  x2.push(k*10);
+  y1.push(k);
+  y2.push(k*2);
+}
+var trace1 = {
+  x: x1,
+  y: y1,
+  name: 'control',
+  autobinx: false,
+  histnorm: "count",
+  marker: {
+    color: "rgba(255, 100, 102, 0.7)",
+     line: {
+      color:  "rgba(255, 100, 102, 1)",
+      width: 1
+    }
+  },
+  opacity: 0.5,
+  type: "histogram",
+  xbins: {
+    end: 2.8,
+    size: 0.06,
+    start: .5
+  }
+};
+var trace2 = {
+  x: x2,
+  y: y2,
+  autobinx: false,
+  marker: {
+          color: "rgba(100, 200, 102, 0.7)",
+           line: {
+            color:  "rgba(100, 200, 102, 1)",
+            width: 1
+    }
+       },
+  name: "experimental",
+  opacity: 0.75,
+  type: "histogram",
+  xbins: {
+    end: 4,
+    size: 0.06,
+    start: -3.2
+
+  }
+};
+var data = [trace1, trace2];
+var layout = {
+  bargap: 0.05,
+  bargroupgap: 0.2,
+  barmode: "overlay",
+  title: {
+    text: "Sampled Results"
+  },
+  xaxis: {
+      title: {
+          text: "Value"
+      }
+  },
+  yaxis: {
+      title: {
+          text: "Count"
+      }
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ normalized-histogram +

+
+ +
+
var x = [];
+for (var i = 0; i < 500; i ++) {
+    x[i] = Math.random();
+}
+
+var data = [
+  {
+    x: x,
+    type: 'histogram',
+    histnorm: 'probability',
+    marker: {
+        color: 'rgb(255,255,100)',
+     },
+  }
+];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ cumulative-histogram +

+
+ +
+
var x = [];
+for (var i = 0; i < 500; i ++) {
+    x[i] = Math.random();
+}
+
+var trace = {
+    x: x,
+    type: 'histogram',
+    cumulative: {enabled: true}
+  };
+var data = [trace];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ specify-binning-function +

+
+ +
+
var x = ["Apples","Apples","Apples","Oranges", "Bananas"]
+var y = ["5","10","3","10","5"]
+
+var data = [
+  {
+    histfunc: "count",
+    y: y,
+    x: x,
+    type: "histogram",
+    name: "count"
+  },
+  {
+    histfunc: "sum",
+    y: y,
+    x: x,
+    type: "histogram",
+    name: "sum"
+  }
+]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/horizontal-bar-charts/index.html b/docs/examples/horizontal-bar-charts/index.html new file mode 100644 index 00000000000..0ea080535a4 --- /dev/null +++ b/docs/examples/horizontal-bar-charts/index.html @@ -0,0 +1,4991 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Horizontal Bar Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

horizontal-bar-charts

+
+
+

+ basic-horizontal-bar-chart +

+
+ +
+
var data = [{
+  type: 'bar',
+  x: [20, 14, 23],
+  y: ['giraffes', 'orangutans', 'monkeys'],
+  orientation: 'h'
+}];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ colored-bar-chart +

+
+ +
+
var trace1 = {
+  x: [20, 14, 23],
+  y: ['giraffes', 'orangutans', 'monkeys'],
+  name: 'SF Zoo',
+  orientation: 'h',
+  marker: {
+    color: 'rgba(55,128,191,0.6)',
+    width: 1
+  },
+  type: 'bar'
+};
+
+var trace2 = {
+  x: [12, 18, 29],
+  y: ['giraffes', 'orangutans', 'monkeys'],
+  name: 'LA Zoo',
+  orientation: 'h',
+  type: 'bar',
+  marker: {
+    color: 'rgba(255,153,51,0.6)',
+    width: 1
+  }
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: 'Colored Bar Chart'
+  },
+  barmode: 'stack'
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bar-chart-with-line-plot +

+
+ +
+
var xSavings = [1.3586, 2.2623000000000002, 4.9821999999999997, 6.5096999999999996,
+  7.4812000000000003, 7.5133000000000001, 15.2148, 17.520499999999998
+];
+
+var xNetworth = [93453.919999999998, 81666.570000000007, 69889.619999999995, 78381.529999999999, 141395.29999999999, 92969.020000000004, 66090.179999999993, 122379.3];
+
+var ySavings = ['Japan', 'United Kingdom', 'Canada', 'Netherlands', 'United States', 'Belgium', 'Sweden', 'Switzerland'];
+
+var yNetworth = ['Japan', 'United Kingdom', 'Canada', 'Netherlands', 'United States', 'Belgium', 'Sweden', 'Switzerland'];
+
+var trace1 = {
+  x: xSavings,
+  y: ySavings,
+  xaxis: 'x1',
+  yaxis: 'y1',
+  type: 'bar',
+  marker: {
+    color: 'rgba(50,171,96,0.6)',
+    line: {
+      color: 'rgba(50,171,96,1.0)',
+      width: 1
+    }
+  },
+  name: 'Household savings, percentage of household disposable income',
+  orientation: 'h'
+};
+
+var trace2 = {
+  x: xNetworth,
+  y: yNetworth,
+  xaxis: 'x2',
+  yaxis: 'y1',
+  mode: 'lines+markers',
+  line: {
+    color: 'rgb(128,0,128)'
+  },
+  name: 'Household net worth, Million USD/capita'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: 'Household Savings & Net Worth for Eight OECD Countries'
+  },
+  xaxis1: {
+    range: [0, 20],
+    domain: [0, 0.5],
+    zeroline: false,
+    showline: false,
+    showticklabels: true,
+    showgrid: true
+  },
+  xaxis2: {
+    range: [25000, 150000],
+    domain: [0.5, 1],
+    zeroline: false,
+    showline: false,
+    showticklabels: true,
+    showgrid: true,
+    side: 'top',
+    dtick: 25000
+  },
+  legend: {
+    x: 0.029,
+    y: 1.238,
+    font: {
+      size: 10
+    }
+  },
+  margin: {
+    l: 100,
+    r: 20,
+    t: 200,
+    b: 70
+  },
+  width: 600,
+  height: 600,
+  paper_bgcolor: 'rgb(248,248,255)',
+  plot_bgcolor: 'rgb(248,248,255)',
+  annotations: [
+    {
+      xref: 'paper',
+      yref: 'paper',
+      x: -0.2,
+      y: -0.109,
+      text: 'OECD ' + '(2015), Household savings (indicator), ' + 'Household net worth (indicator). doi: ' + '10.1787/cfc6f499-en (Accessed on 05 June 2015)',
+      showarrow: false,
+      font:{
+        family: 'Arial',
+        size: 10,
+        color: 'rgb(150,150,150)'
+      }
+    }
+  ]
+};
+
+for ( var i = 0 ; i < xSavings.length ; i++ ) {
+  var result = {
+    xref: 'x1',
+    yref: 'y1',
+    x: xSavings[i]+2.3,
+    y: ySavings[i],
+    text: xSavings[i] + '%',
+    font: {
+      family: 'Arial',
+      size: 12,
+      color: 'rgb(50, 171, 96)'
+    },
+     showarrow: false,
+  };
+  var result2 = {
+    xref: 'x2',
+    yref: 'y1',
+    x: xNetworth[i] - 20000,
+    y: yNetworth[i],
+    text: xNetworth[i] + ' M',
+    font: {
+      family: 'Arial',
+      size: 12,
+      color: 'rgb(128, 0, 128)'
+    },
+     showarrow: false
+  };
+  layout.annotations.push(result, result2);
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/horizontal-legend/index.html b/docs/examples/horizontal-legend/index.html new file mode 100644 index 00000000000..2d898c4959f --- /dev/null +++ b/docs/examples/horizontal-legend/index.html @@ -0,0 +1,4641 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Horizontal Legends - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

horizontal-legend

+
+
+

+ basic-example +

+
+ +
+
var trace1 = {
+        x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+        y: [0, 3, 6, 4, 5, 2, 3, 5, 4],
+        type: 'scatter',
+        name:'Plot 1'
+        };
+var trace2 = {
+        x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+        y: [0, 4, 7, 8, 3, 6, 3, 3, 4],
+        type: 'scatter',
+        name:'Plot 2'
+        };
+var trace3 = {
+        x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+        y: [0, 5, 3, 10, 5.33, 2.24, 4.4, 5.1, 7.2],
+        type: 'scatter',
+        name:'Plot 3'
+        };
+
+var data = [trace1, trace2, trace3];
+var layout = {
+        showlegend: true,
+        legend: {"orientation": "h"}
+        };
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/hover-events/index.html b/docs/examples/hover-events/index.html new file mode 100644 index 00000000000..347d9b3b1c8 --- /dev/null +++ b/docs/examples/hover-events/index.html @@ -0,0 +1,4807 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Hover Events - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

hover-events

+
+
+

+ hover-event-data +

+
+ +
+
{
+  points: [{
+    curveNumber: 2,  // index in data of the trace associated with the selected point 
+    pointNumber: 2,  // index of the selected point
+    x: 5,        // x value
+    y: 600,      // y value
+    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point
+    fullData: {/* */},   // ref to the trace including all the defaults
+   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point
+   yaxis: {/* */}    // ref to y-axis object " "
+  }, {
+    /* similarly for other selected points */
+  }]
+}
+
+ + +
+
+
+ +
+
+

+ capturing-hover-events:-data +

+
+ +
+
var myPlot = document.getElementById('myDiv'),
+    hoverInfo = document.getElementById('hoverinfo'),
+    N = 16,
+    x = d3.range(N),
+    y1 = d3.range(N).map( d3.random.normal() ),
+    y2 = d3.range(N).map( d3.random.normal() ),
+    data = [ { x:x, y:y1, type:'scatter', name:'Trial 1',
+        mode:'markers', marker:{size:16} },
+        { x:x, y:y2, type:'scatter', name:'Trial 2',
+        mode:'markers', marker:{size:16} } ];
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Hover on Points'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_hover', function(data){
+    var infotext = data.points.map(function(d){
+      return (d.data.name+': x= '+d.x+', y= '+d.y.toPrecision(3));
+    });
+
+    hoverInfo.innerHTML = infotext.join('<br/>');
+})
+ .on('plotly_unhover', function(data){
+    hoverInfo.innerHTML = '';
+});
+
+ + + + + +
+
+
+ +
+
+

+ capturing-hover-events:-pixels +

+
+ +
+
var myPlot = document.getElementById('myDiv'),
+    hoverInfo = document.getElementById('hoverinfo'),
+    N = 16,
+    x = d3.range(N),
+    y1 = d3.range(N).map(d3.random.normal()),
+    y2 = d3.range(N).map(d3.random.normal()),
+    data = [{x:x, y:y1, type:'scatter', name:'Trial 1',
+        mode:'markers', marker:{size:16}},
+        {x:x, y:y2, type:'scatter', name:'Trial 2',
+        mode:'markers', marker:{size:16}}],
+    layout = {hovermode:'closest',
+              title: {text: 'Hover on Points to see<br>Pixel Coordinates'}};
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_hover', function(data){
+    var xaxis = data.points[0].xaxis,
+        yaxis = data.points[0].yaxis;
+    var infotext = data.points.map(function(d){
+      return ('width: '+xaxis.l2p(d.x)+', height: '+yaxis.l2p(d.y));
+    });
+
+    hoverInfo.innerHTML = infotext.join('<br/>');
+})
+ .on('plotly_unhover', function(data){
+    hoverInfo.innerHTML = '';
+});
+
+ + + + + +
+
+
+ +
+
+

+ triggering-hover-events +

+
+ +
+
var myPlot = document.getElementById('myDiv'),
+    hoverButton = document.getElementById('hoverbutton'),
+    N = 16,
+    x = d3.range(N),
+    y1 = d3.range(N).map( d3.random.normal() ),
+    y2 = d3.range(N).map( d3.random.normal() ),
+    data = [ { x:x, y:y1, type:'scatter', name:'Trial 1',
+        mode:'markers', marker:{size:16} },
+        { x:x, y:y2, type:'scatter', name:'Trial 2',
+        mode:'markers', marker:{size:16} } ];
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Click "Go" button to trigger hover'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_beforehover',function(){
+    return false;
+});
+
+hoverButton.addEventListener('click', function(){
+    var curve1 = Math.floor(Math.random()*2),
+        curve2 = Math.floor(Math.random()*2),
+        point1 = Math.floor(Math.random()*14),
+        point2 = Math.floor(Math.random()*14);
+    Plotly.Fx.hover('myDiv',[
+        {curveNumber:curve1, pointNumber:point1},
+        {curveNumber:curve2, pointNumber:point2}
+    ]);
+});
+
+ + + + + +
+
+
+ +
+
+

+ coupled-hover-events +

+
+ +
+
var myPlot = document.getElementById('myDiv'),
+    N = 12,
+    x1 = d3.range(N).map( d3.random.normal() ),
+    x2 = d3.range(N).map( d3.random.normal() ),
+    x3 = d3.range(N).map( d3.random.normal() ),
+    y1 = d3.range(N).map( d3.random.normal() ),
+    y2 = d3.range(N).map( d3.random.normal() ),
+    y3 = d3.range(N).map( d3.random.normal() ),
+    months = ['January', 'February', 'March', 'April',
+              'May', 'June', 'July', 'August',
+              'September', 'October', 'November', 'December']
+    data = [{ x: x1, y: y1, text: months, type: 'scatter', name: '2014', hoverinfo: 'text+x+y',
+              mode: 'markers', marker: {color: 'rgba(200, 50, 100, .7)', size: 16}
+            },
+            { x: x2, y: y2, text: months, type: 'scatter', name: '2015', hoverinfo: 'text+x+y',
+             mode: 'markers', marker: {color: 'rgba(120, 20, 130, .7)', size: 16}
+            },
+            { x: x3, y: y3, text: months, type: 'scatter', name: '2016', hoverinfo: 'text+x+y',
+             mode: 'markers', marker: {color: 'rgba(10, 180, 180, .8)', size: 16}
+            }];
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Display Hover Info for Related Points'},
+        xaxis:{zeroline:false, hoverformat: '.2r'},
+        yaxis:{zeroline:false, hoverformat: '.2r'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_hover', function (eventdata){
+    var points = eventdata.points[0],
+        pointNum = points.pointNumber;
+
+    Plotly.Fx.hover('myDiv',[
+        { curveNumber:0, pointNumber:pointNum },
+        { curveNumber:1, pointNumber:pointNum },
+        { curveNumber:2, pointNumber:pointNum },
+    ]);
+});
+
+ + + + + +
+
+
+ +
+
+

+ combined-click-and-hover-events +

+
+ +
+
This is a more complex example that uses both hover, and click events to display traces. Take a look in the codepen javascript!
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/hover-text-and-formatting/index.html b/docs/examples/hover-text-and-formatting/index.html new file mode 100644 index 00000000000..4ffd0df43f0 --- /dev/null +++ b/docs/examples/hover-text-and-formatting/index.html @@ -0,0 +1,5009 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Hover Text and Formatting - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

hover-text-and-formatting

+
+
+

+ adding-hover-text-to-data-in-line-and-scatter-plots +

+
+ +
+
var data = [
+  {
+    x: [0, .5, 1, 1.5, 2],
+    y: [1, 3, 2, 4, 2],
+    mode: 'markers',
+    marker: {size:16},
+    text: ['Text A', 'Text B', 'Text C', 'Text D', 'Text E'],
+    type: 'scatter'
+  }
+];
+var layout = {
+  title: {
+      text: 'Hover over the points to see the text'
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ rounding-x-and-y-hover-values +

+
+ +
+
// Round x and y hover values by setting hoverformat in layout.xaxis and/or layout.yaxis
+// using D3 number formatting ( https://github.com/mbostock/d3/wiki/Formatting )
+
+var N = 40,
+    x = d3.range(N).map( d3.random.normal() ),
+    y1 = d3.range(N).map( d3.random.normal() ),
+    y2 = d3.range(N).map( d3.random.normal() ),
+    data = [{ x:x, y:y1, type:'scatter', mode:'markers',
+              marker:{color:'rgba(200, 50, 100, .7)', size:16},
+              hoverinfo:"x+y"
+             },
+            { x:x, y:y2, type:'scatter', mode:'markers',
+             marker:{color:'rgba(10, 180, 180, .8)', size:16},
+             hoverinfo:"x+y"}];
+    layout = {
+    hovermode: 'closest',
+    title: {
+        text: 'Formatting X & Y Hover Values'
+    },
+    xaxis: {
+        zeroline: false,
+        hoverformat: '.2f',
+        title: {
+            text: 'Rounded: 2 values after the decimal point on hover'
+        }
+    },
+    yaxis: {
+        zeroline: false,
+        hoverformat: '.2r',
+        title: {
+            text: 'Rounded: 2 significant values on hover'
+        }
+    }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ hovertemplate +

+
+ +
+
var data = [
+    {
+        type: 'scatter',
+        mode: 'lines+markers',
+        x: [1,2,3,4,5],
+        y: [2.02825,1.63728,6.83839,4.8485,4.73463],
+        hovertemplate: '<i>Price</i>: $%{y:.2f}' +
+                        '<br><b>X</b>: %{x}<br>' +
+                        '<b>%{text}</b>',
+        text: ["Text A", "Text B", "Text C", "Text D", "Text E"],
+        showlegend: false
+    },
+    {
+        x: [1,2,3,4,5],
+        y: [3.02825,2.63728,4.83839,3.8485,1.73463],
+        hovertemplate: 'Price: %{y:$.2f}<extra></extra>',
+        showlegend: false
+    }
+];
+
+var layout = {
+    title: {
+        text: "Set hover text with hovertemplate"
+    },
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ unified-hover-mode +

+
+

If "x unified" (or "y unified"), a single hoverlabel will appear for multiple points at the closest x- (or y-) coordinate within the hoverdistance with the caveat that no more than one hoverlabel will appear per trace.

+
+
var data = [
+  {
+    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],
+    y: [10, 15, 12, 18],
+    mode: 'markers+lines',
+    name: 'Series A',
+    hovertemplate: null,
+    type: 'scatter'
+  },
+  {
+    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],
+    y: [8, 12, 16, 14],
+    mode: 'markers+lines',
+    name: 'Series B',
+    hovertemplate: null,
+    type: 'scatter'
+  }
+];
+
+var layout = {
+  title: {
+    text: "layout.hovermode='x unified'"
+  },
+  hovermode: 'x unified',
+  xaxis: {
+    title: 'Date'
+  },
+  yaxis: {
+    title: 'Value'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ custom-unified-hover-title +

+
+

New in 3.1

+

Customize the title shown in unified hovermode by specifying unifiedhovertitle.text. The unified hover title is a template string that supports using variables from the data. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{x|%A}".

+
+
var data = [
+  {
+    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],
+    y: [150.25, 165.50, 142.75, 178.90],
+    mode: 'lines+markers',
+    name: 'Stock A',
+    type: 'scatter'
+  },
+  {
+    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],
+    y: [85.30, 92.15, 88.45, 95.20],
+    mode: 'lines+markers',
+    name: 'Stock B',
+    type: 'scatter'
+  }
+];
+
+var layout = {
+  title: {
+    text: "Stock Prices with Custom Unified Hover Title"
+  },
+  hovermode: 'x unified',
+  xaxis: {
+    title: 'Date',
+    unifiedhovertitle: {
+      text: '<b>%{x|%A, %B %d, %Y}</b>'
+    }
+  },
+  yaxis: {
+    title: 'Price (USD)',
+    tickprefix: '$'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/images/index.html b/docs/examples/images/index.html new file mode 100644 index 00000000000..13b3879810e --- /dev/null +++ b/docs/examples/images/index.html @@ -0,0 +1,4884 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Images - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

images

+
+
+ +
+ +
+
var data = [
+  {
+    x: ["-35.3", "-15.9", "-15.8", "-15.6", "-11.1", "-9.6", "-9.2", "-3.5", "-1.9", "-0.9", "1.0", "1.4", "1.7", "2.0", "2.8", "6.2", "8.1", "8.5", "8.5", "8.6", "11.4", "12.5", "13.3", "13.7", "14.4", "17.5", "17.7", "18.9", "25.1", "28.9", "41.4"],
+    y: ["Designers, musicians, artists, etc.", "Secretaries and administrative assistants", "Waiters and servers", "Archivists, curators, and librarians", "Sales and related", "Childcare workers, home car workers, etc.", "Food preparation occupations", "Janitors, maids, etc.", "Healthcare technicians, assistants. and aides", "Counselors, social and religious workers", "Physical, life and social scientists", "Construction", "Factory assembly workers", "Machinists, repairmen, etc.", "Media and communications workers", "Teachers", "Mechanics, repairmen, etc.", "Financial analysts and advisers", "Farming, fishing and forestry workers", "Truck drivers, heavy equipment operator, etc.", "Accountants and auditors", "Human resources, management analysts, etc.", "Managers", "Lawyers and judges", "Engineers, architects and surveyors", "Nurses", "Legal support workers", "Computer programmers and system admin.", "Police officers and firefighters", "Chief executives", "Doctors, dentists and surgeons"],
+    marker: {
+      color: "rgb(253, 240, 54)",
+      line: {
+        color: "rgb(0, 0, 0)",
+        width: 2
+      }
+    },
+    name: "y",
+    orientation: "h",
+    type: "bar",
+  }
+];
+var layout = {
+  autosize: false,
+  bargap: 0.15,
+  bargroupgap: 0.1,
+  barmode: "stack",
+  height: 800,
+  hovermode: "x",
+  images: [
+    {
+      x: 1,
+      y: 1.05,
+      sizex: 0.2,
+      sizey: 0.2,
+      source: "https://raw.githubusercontent.com/cldougl/plot_images/add_r_img/vox.png",
+      xanchor: "right",
+      xref: "paper",
+      yanchor: "bottom",
+      yref: "paper"
+    }
+  ],
+  margin: {
+    r: 20,
+    t: 125,
+    b: 75,
+    l: 300
+  },
+  title: {
+    text: "Moving Up, Moving Down<br><i>Percentile change in income between childhood and adulthood</i>"
+  },
+  width: 700,
+  xaxis: {
+    tickmode: "linear",
+    dtick: 10,
+    gridcolor: "rgba(102, 102, 102, 0.4)",
+    linecolor: "#000",
+    linewidth: 1,
+    mirror: true,
+    nticks: 0,
+    showticklabels: true,
+    tick0: 0,
+    tickwidth: 1,
+    title: {
+      text: "<i>Change in percentile</i>"
+    },
+  },
+  yaxis: {
+    anchor: "x",
+    tickmode: "linear",
+    gridcolor: "rgba(102, 102, 102, 0.4)",
+    gridwidth: 1,
+    linecolor: "#000",
+    linewidth: 1,
+    mirror: true,
+    showgrid: false,
+    showline: true,
+    showticklabels: true,
+    tick0: 0,
+    type: "category",
+    zeroline: false
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-multiple-images +

+
+ +
+
Plotly.newPlot('myDiv', [{
+  x: [1, 2, 3],
+  y: [1, 2, 3]
+}], {
+  images: [
+      {
+        "source": "https://images.plot.ly/language-icons/api-home/python-logo.png",
+        "xref": "paper",
+        "yref": "paper",
+        "x": 0,
+        "y": 1,
+        "sizex": 0.2,
+        "sizey": 0.2,
+        "xanchor": "right",
+        "yanchor": "bottom"
+      },
+      {
+        "source": "https://images.plot.ly/language-icons/api-home/js-logo.png",
+        "xref": "x",
+        "yref": "y",
+        "x": 1.5,
+        "y": 2,
+        "sizex": 1,
+        "sizey": 1,
+        "xanchor": "right",
+        "yanchor": "bottom"
+      },
+      {
+        "source": "https://images.plot.ly/language-icons/api-home/r-logo.png",
+        "xref": "x",
+        "yref": "y",
+        "x": 1,
+        "y": 3,
+        "sizex": 2,
+        "sizey": 2,
+        "sizing": "stretch",
+        "opacity": 0.4,
+        "layer": "below"
+      },
+      {
+        "source": "https://images.plot.ly/language-icons/api-home/matlab-logo.png",
+        "xref": "x",
+        "yref": "paper",
+        "x": 3,
+        "y": 0,
+        "sizex": 0.5,
+        "sizey": 1,
+        "opacity": 1,
+        "xanchor": "right",
+        "yanchor": "middle"
+      },
+    ]
+})
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/indicator/index.html b/docs/examples/indicator/index.html new file mode 100644 index 00000000000..45ea10b2fa5 --- /dev/null +++ b/docs/examples/indicator/index.html @@ -0,0 +1,5068 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Indicators - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

indicator

+
+
+

+ overview +

+
+

In this tutorial we introduce a new trace named "Indicator". The purpose of "indicator" is to visualize a single value specified by the "value" attribute. +Three distinct visual elements are available to represent that value: number, delta and gauge. Any combination of them can be specified via the "mode" attribute. +Top-level attributes are: +
+

    +
  1. value: the value to visualize
  2. +
  3. mode: which visual elements to draw
  4. +
  5. align: how to align number and delta (left, center, right)
  6. +
  7. domain: the extent of the figure
  8. +
+

+

Then we can configure the 3 different visual elements via their respective container: +
+

    +
  1. number is simply a representation of the number in text. It has attributes: +
  2. valueformat: to format the number
  3. +
  4. prefix: a string before the number
  5. +
  6. suffix: a string after the number
  7. +
  8. font.(family|size): to control the font
  9. +

+

"delta" simply displays the difference between the value with respect to a reference. It has attributes: +
+

    +
  1. reference: the number to compare the value with
  2. +
  3. relative: whether that difference is absolute or relative
  4. +
  5. valueformat: to format the delta
  6. +
  7. (increasing|decreasing).color: color to be used for positive or decreasing delta
  8. +
  9. (increasing|decreasing).symbol: symbol displayed on the left of the delta
  10. +
  11. font.(family|size): to control the font
  12. +
  13. position: position relative to `number` (either top, left, bottom, right)
  14. +

+

Finally, we can have a simple title for the indicator via title with 'text' attribute which is a string, and 'align' which can be set to left, center, and right. + There are two gauge types: angular and bullet. Here is a combination of both shapes (angular, bullet), and different modes (guage, delta, and value):

+
+
var data = [
+  {
+    type: "indicator",
+    value: 200,
+    delta: { reference: 160 },
+    gauge: { axis: { visible: false, range: [0, 250] } },
+    domain: { row: 0, column: 0 }
+  },
+  {
+    type: "indicator",
+    value: 120,
+    gauge: {
+      shape: "bullet",
+      axis: {
+        visible: false,
+        range: [-200, 200]
+      }
+    },
+    domain: { x: [0.1, 0.5], y: [0.15, 0.35] }
+  },
+  {
+    type: "indicator",
+    mode: "number+delta",
+    value: 300,
+    domain: { row: 0, column: 1 }
+  },
+  { type: "indicator", mode: "delta", value: 40, domain: { row: 1, column: 1 } }
+];
+
+var layout = {
+  width: 600,
+  height: 400,
+  margin: { t: 25, b: 25, l: 25, r: 25 },
+  grid: { rows: 2, columns: 2, pattern: "independent" },
+  template: {
+    data: {
+      indicator: [
+        {
+          title: { text: "Speed" },
+          mode: "number+delta+gauge",
+          delta: { reference: 90 }
+        }
+      ]
+    }
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ a-single-angular-gauge-chart +

+
+ +
+
var data = [
+  {
+    domain: { x: [0, 1], y: [0, 1] },
+    value: 450,
+    title: { text: "Speed" },
+    type: "indicator",
+    mode: "gauge+number",
+    delta: { reference: 400 },
+    gauge: { axis: { range: [null, 500] } }
+  }
+];
+
+var layout = { width: 600, height: 400 };
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ bullet-gauge +

+
+

The equivalent of above "angular gauge":

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+gauge+delta",
+    gauge: { shape: "bullet" },
+    delta: { reference: 300 },
+    value: 220,
+    domain: { x: [0, 1], y: [0, 1] },
+    title: { text: "Profit" }
+  }
+];
+
+var layout = { width: 600, height: 250 };
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ showing-information-above-your-chart +

+
+

Another interesting feature is that indicator trace sits above the other traces (even the 3d ones). This way, it can be easily used as an overlay as demonstrated below:

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+delta",
+    value: 492,
+    delta: { reference: 512, valueformat: ".0f" },
+    domain: { y: [0, 1], x: [0.25, 0.75] },
+    title: { text: "Users online" }
+  },
+  {
+    y: [325, 324, 405, 400, 424, 404, 417, 432, 419, 394, 410, 426, 413, 419, 404, 408, 401, 377, 368, 361, 356, 359, 375, 397, 394, 418, 437, 450, 430, 442, 424, 443, 420, 418, 423, 423, 426, 440, 437, 436, 447, 460, 478, 472, 450, 456, 436, 418, 429, 412, 429, 442, 464, 447, 434, 457, 474, 480, 499, 497, 480, 502, 512, 492]
+  }
+];
+
+var layout = { width: 600, height: 450, xaxis: { range: [0, 62] } };
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ data-cards-/-big-numbers +

+
+

Data card helps to display more contextual information about the data. Sometimes one number is all you want to see in a report, such as total sales, annual revenue, etc. This example shows how to visualize these big numbers:

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+delta",
+    value: 400,
+    number: { prefix: "$" },
+    delta: { position: "top", reference: 320 },
+    domain: { x: [0, 1], y: [0, 1] }
+  }
+];
+
+var layout = {
+  paper_bgcolor: "lightgray",
+  width: 600,
+  height: 200,
+  margin: { t: 0, b: 0, l: 0, r: 0 }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ +

+
+

It's possible to display several numbers

+
+
var data = [
+  {
+    type: "indicator",
+    mode: "number+delta",
+    value: 200,
+    domain: { x: [0, 0.5], y: [0, 0.5] },
+    delta: { reference: 400, relative: true, position: "top" }
+  },
+  {
+    type: "indicator",
+    mode: "number+delta",
+    value: 350,
+    delta: { reference: 400, relative: true },
+    domain: { x: [0, 0.5], y: [0.5, 1] }
+  },
+  {
+    type: "indicator",
+    mode: "number+delta",
+    value: 450,
+    title: {
+      text:
+        "Accounts<br><span style='font-size:0.8em;color:gray'>Subtitle</span><br><span style='font-size:0.8em;color:gray'>Subsubtitle</span>"
+    },
+    delta: { reference: 400, relative: true },
+    domain: { x: [0.6, 1], y: [0, 1] }
+  }
+];
+
+var layout = {
+  width: 600,
+  height: 400,
+  margin: { t: 25, r: 25, l: 25, b: 25 }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/insets/index.html b/docs/examples/insets/index.html new file mode 100644 index 00000000000..bc4a9fd58ed --- /dev/null +++ b/docs/examples/insets/index.html @@ -0,0 +1,4645 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Inset Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

insets

+
+
+

+ simple-inset-graph +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [4, 3, 2],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [20, 30, 40],
+  y: [30, 40, 50],
+  xaxis: 'x2',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  yaxis2: {
+    domain: [0.6, 0.95],
+    anchor: 'x2'
+  },
+  xaxis2: {
+    domain: [0.6, 0.95],
+    anchor: 'y2'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/lasso-selection/index.html b/docs/examples/lasso-selection/index.html new file mode 100644 index 00000000000..c5ed26b8736 --- /dev/null +++ b/docs/examples/lasso-selection/index.html @@ -0,0 +1,4668 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Lasso Selection - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

lasso-selection

+
+
+

+ lasso-selection +

+
+ +
+
var graphDiv = document.getElementById('myDiv');
+var N = 1000;
+var color1 = '#7b3294';
+var color1Light = '#c2a5cf';
+var colorX = '#ffa7b5';
+var colorY = '#fdae61';
+
+function randomArray() {
+  var out = new Array(N);
+  for(var i = 0; i < N; i++) {
+    out[i] = Math.random();
+  }
+  return out;
+}
+var x = randomArray();
+var y = randomArray();
+
+Plotly.newPlot(graphDiv, [{
+  type: 'scatter',
+  mode: 'markers',
+  x: x,
+  y: y,
+  xaxis: 'x',
+  yaxis: 'y',
+  name: 'random data',
+  marker: {color: color1, size: 10}
+}, {
+  type: 'histogram',
+  x: x,
+  xaxis: 'x2',
+  yaxis: 'y2',
+  name: 'x coord dist.',
+  marker: {color: colorX}
+}, {
+  type: 'histogram',
+  x: y,
+  xaxis: 'x3',
+  yaxis: 'y3',
+  name: 'y coord dist.',
+  marker: {color: colorY}
+}], {
+  title: {
+    text: 'Lasso around the scatter points to see sub-distributions'
+  },
+  dragmode: 'lasso',
+  xaxis: {
+    zeroline: false,
+  },
+  yaxis: {
+    domain: [0.55, 1],
+  },
+  xaxis2: {
+    domain: [0, 0.45],
+    anchor: 'y2',
+  },
+  yaxis2: {
+    domain: [0, 0.45],
+    anchor: 'x2'
+  },
+  xaxis3: {
+    domain: [0.55, 1],
+    anchor: 'y3'
+  },
+  yaxis3: {
+    domain: [0, 0.45],
+    anchor: 'x3'
+  }
+});
+
+graphDiv.on('plotly_selected', function(eventData) {
+  var x = [];
+  var y = [];
+
+  var colors = [];
+  for(var i = 0; i < N; i++) colors.push(color1Light);
+
+  console.log(eventData.points)
+
+  eventData.points.forEach(function(pt) {
+    x.push(pt.x);
+    y.push(pt.y);
+    colors[pt.pointNumber] = color1;
+  });
+
+  Plotly.restyle(graphDiv, {
+    x: [x, y],
+    xbins: {}
+  }, [1, 2]);
+
+  Plotly.restyle(graphDiv, 'marker.color', [colors], [0]);
+});
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/layout-template/index.html b/docs/examples/layout-template/index.html new file mode 100644 index 00000000000..d785294010f --- /dev/null +++ b/docs/examples/layout-template/index.html @@ -0,0 +1,4990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Layout Template Examples - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

layout-template

+
+
+

+ the-layout-template-attribute +

+
+

The template attribute of layout allows a Plotly chart to take it's style and formatting from a template +object. templates can be generated using Plotly.makeTemplate +or manually. annotaions, updatemenus, images, shapes and other container array objects in the Plotly layout +are specially handled by the template machinery to provide more flexibility when using these container arrays +in plots derived from these templates.

+

For more information see https://plotly.com/javascript/reference/layout/#layout-template.

+ + +
+
+
+ +
+
+

+ add-named-container-array-items +

+
+

Container array items in a template with a name attribute will be added to any plot using that template. +We can use this feature to create a template that adds watermarks to our chart by including named image items in images. +The example below also shows how to make one of these images invisible using the templateitemname attribute +if you don't want it to display for this specific chart.

+
+
var baseLayout = {
+    title: {
+      text: 'Watermark Template'
+  },
+    // items with a `name` attribute in template.images will be added to any
+    // plot using this template
+    images: [{
+        name: 'watermark_1',
+        source: "https://raw.githubusercontent.com/michaelbabyn/plot_data/master/benzene.png",
+        xref: "paper",
+        yref: "paper",
+        x: 0.40,
+        y: 0.9,
+        sizex: 0.7,
+        sizey: 0.7,
+        opacity: 0.1,
+        layer: "below"
+      },
+      {
+          name: 'watermark_2',
+          source: "https://raw.githubusercontent.com/michaelbabyn/plot_data/master/naphthalene.png",
+          xref: "paper",
+          yref: "paper",
+          x: .75,
+          y: 0.3,
+          sizex: 0.25,
+          sizey: 0.25,
+          sizing: "stretch",
+          opacity: 0.2,
+          layer: "below"
+        }],
+    showlegend: false
+};
+
+var template = {data: {}, layout: baseLayout};
+
+var data = [{
+    x: [0, 1, 2, 3, 4, 5],
+    y: [2, 4, 3, 0, 5, 6],
+}];
+
+var layoutUsingTemplate = {
+  template: template,
+  images: [
+    {
+      // set the second watermark in the template to be invisible
+      templateitemname: 'watermark_2',
+      visible: false
+    }
+  ]
+};
+
+Plotly.newPlot("myDiv", data, layoutUsingTemplate);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ matching-named-template-container-items +

+
+

A container item in your new plot with the attribute templateitemname matching one of the named +container items in the template will inherit attributes from item with the corresponding name. +If an item in the plot using the template has the templateitemname attribute but there is no +corresponding template container item by the same name, it will be marked as invisible in your new plot.

+
+
var x = [0, 1, 2, 3, 4, 5];
+var y = [2, 4, 3, 0, 5, 6];
+
+var baseData = [{
+    mode: 'lines',
+    error_y: {visible: true, width: 0},
+    line: {color: 'teal'}
+}];
+
+var baseLayout = {
+    title: {
+      text: 'Template Title'
+    },
+    annotations: [{
+      text: 'First point',
+      name:'first',
+      yref: 'y', xref: 'x',
+      ay: 40, ax: 30,
+      font: {size: 16}
+    }],
+    showlegend: false
+};
+
+// use Plotly.makeTemplate to generate the template object
+var template = Plotly.makeTemplate({data: baseData, layout: baseLayout});
+
+var data = [{
+    x: x,
+    y: y,
+}];
+
+var annotations = [
+
+  // plotly will look for an annotation with `name` matching `templateitemname`
+  // and use insert that annotation into the new plot.
+  {
+    templateitemname:'first',
+    x: x[0],
+    y: y[0],
+  },
+  {
+    templateitemname: 'fourth', //since there is no template item with this name,
+                                //this annotation will be set to invisible.
+    text: 'Fourth point',
+    x: x[3],
+    y: y[3],
+    showarrow: true,
+    yref: 'y', xref: 'x',
+  }
+ ];
+var layoutWithTemplate = {template: template, annotations: annotations};
+
+Plotly.newPlot("myDiv", data, layoutWithTemplate);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ creating-default-item-values +

+
+

Add an attribute called annotationdefaults to your template to set a default annotation object. Each +item in the plot using the template without a templateitemname attribute will have the default applied +to it. annotationdefaults can be manually added to a template or, if makeTemplate is used, the first un-named +item in annotations will be used as the default.

+

Note, this behaviour works for all container array objects. E.g for images, you would create imagedefaults in +your layout containing the default image item.

+
+
var x = [0, 1, 2, 3, 4, 5];
+var y = [2, 4, 3, 0, 5, 6];
+
+var baseData = [{
+    mode: 'lines',
+    error_y: {visible: true, width: 0},
+    line: {color: 'teal'}
+}];
+
+var baseLayout = {
+
+  // Plotly.makeTemplate will use the first annotation without a `name` attribute
+  // in the annotations array as the annotationdefaults for the template.
+  annotations: [
+  {
+      text: 'DEFAULT ANNOTATION',
+      x: 0.1,
+      y: 1.1,
+      yref: 'paper', xref: 'paper',
+      showarrow: false,
+      font: {color:'teal', size: 14}
+    }
+  ],
+    showlegend: false
+};
+
+// use Plotly.makeTemplate to generate the template object
+var template = Plotly.makeTemplate({data: baseData, layout: baseLayout});
+
+var data = [{
+    x: x,
+    y: y
+}];
+
+var annotations = [
+  {}, // An empty annotation object will copy annotationdefaults
+  {
+    text: 'Third point',
+    x: x[2],
+    y: y[2],
+    showarrow: true,
+    yref: 'y', xref: 'x',
+    font: {size: 20} // since there is no font.color attribute for this object,
+                     // it will use the annotationdefaults' color
+  }
+];
+var layoutWithTemplate = {template: template, annotations: annotations};
+
+Plotly.newPlot("myDiv", data, layoutWithTemplate);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/legend/index.html b/docs/examples/legend/index.html new file mode 100644 index 00000000000..884328d8bb8 --- /dev/null +++ b/docs/examples/legend/index.html @@ -0,0 +1,5419 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Legends - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

legend

+
+
+

+ hiding-the-legend +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {showlegend: false};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ legend-names +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],
+  name: 'Blue Trace',
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],
+  name: 'Orange Trace',
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ positioning-the-legend-inside-the-plot +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  showlegend: true,
+  legend: {
+    x: 1,
+    xanchor: 'right',
+    y: 1
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ positioning-the-legend-outside-the-plot +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  showlegend: true,
+  legend: {
+    x: 1,
+    y: 0.5
+  }
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ styling-and-coloring-the-legend +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {legend: {
+    x: 0,
+    y: 1,
+    traceorder: 'normal',
+    font: {
+      family: 'sans-serif',
+      size: 12,
+      color: '#000'
+    },
+    bgcolor: '#E2E2E2',
+    bordercolor: '#FFFFFF',
+    borderwidth: 2
+  }};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ changing-the-orientation-of-legend +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {showlegend: true,
+    legend: {"orientation": "h"}};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ hiding-legend-entries +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2],
+  y: [1, 2, 3],
+  name: 'First Trace',
+  showlegend: false,
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3],
+  y: [8, 4, 2, 0],
+  name: 'Second Trace',
+  showlegend: true,
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-legend +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [2, 1, 3],
+  legendgroup: 'group',
+  marker: {color: 'rgb(164, 194, 244)'},
+  mode: 'markers',
+  name: 'first legend group',
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [1, 2, 3],
+  y: [2, 2, 2],
+  legendgroup: 'group',
+  line: {color: 'rgb(164, 194, 244)'},
+  mode: 'lines',
+  name: 'first legend group - average',
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [1, 2, 3],
+  y: [4, 9, 2],
+  legendgroup: 'group2',
+  marker: {color: 'rgb(142, 124, 195)'},
+  mode: 'markers',
+  name: 'second legend group',
+  type: 'scatter'
+};
+
+var trace4 = {
+  x: [1, 2, 3],
+  y: [5, 5, 5],
+  legendgroup: 'group2',
+  line: {color: 'rgb(142, 124, 195)'},
+  mode: 'lines',
+  name: 'second legend group - average',
+  type: 'scatter'
+};
+
+data = [trace1, trace2, trace3, trace4];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ subplot-grouped-legend +

+
+ +
+
var trace1 = {
+  x: ['a'],
+  y: [2],
+  legendgroup: 'a',
+  marker: {
+    color: 'rgba(102,194,165,1)',
+    line: {color: 'transparent'}
+  },
+  name: 'a',
+  type: 'bar',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var trace2 = {
+  x: ['b'],
+  y: [3],
+  legendgroup: 'b',
+  marker: {
+    color: 'rgba(252,141,98,1)',
+    line: {color: 'transparent'}
+  },
+  name: 'b',
+  type: 'bar',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var trace3 = {
+  x: ['c'],
+  y: [2],
+  legendgroup: 'c',
+  marker: {
+    color: 'rgba(141,160,203,1)',
+    line: {color: 'transparent'}
+  },
+  name: 'c',
+  type: 'bar',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var trace4 = {
+  x: ['a'],
+  y: [4],
+  legendgroup: 'a',
+  marker: {
+    color: 'rgba(102,194,165,1)',
+    line: {color: 'transparent'}
+  },
+  name: 'a',
+  showlegend: false,
+  type: 'bar',
+  xaxis: 'x2',
+  yaxis: 'y2'
+};
+
+var trace5 = {
+  x: ['b'],
+  y: [2],
+  legendgroup: 'b',
+  marker: {
+    color: 'rgba(252,141,98,1)',
+    line: {color: 'transparent'}
+  },
+  name: 'b',
+  showlegend: false,
+  type: 'bar',
+  xaxis: 'x2',
+  yaxis: 'y2'
+};
+
+var trace6 = {
+  x: ['c'],
+  y: [4],
+  legendgroup: 'c',
+  marker: {
+    color: 'rgba(141,160,203,1)',
+    line: {color: 'transparent'}
+  },
+  name: 'c',
+  showlegend: false,
+  type: 'bar',
+  xaxis: 'x2',
+  yaxis: 'y2'
+};
+
+var data = [trace1, trace2, trace3, trace4, trace5, trace6];
+
+var layout = {
+  hovermode: 'closest',
+  margin: {
+    r: 10,
+    t: 25,
+    b: 40,
+    l: 60
+  },
+  showlegend: true,
+  xaxis: {
+    anchor: 'y',
+    categoryorder: 'array',
+    domain: [0, 1],
+    type: 'category',
+     showgrid: false,
+     showticklabels: false
+  },
+  xaxis2: {
+    anchor: 'y2',
+    categoryorder: 'array',
+    domain: [0, 1],
+    type: 'category',
+     showgrid: false
+  },
+  yaxis: {
+    anchor: 'x',
+    domain: [0.52, 1],
+     showgrid: false
+  },
+  yaxis2: {
+    anchor: 'x2',
+    domain: [0, 0.48],
+     showgrid: false
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/line-and-scatter/index.html b/docs/examples/line-and-scatter/index.html new file mode 100644 index 00000000000..3739690a776 --- /dev/null +++ b/docs/examples/line-and-scatter/index.html @@ -0,0 +1,5172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Scatter Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

line-and-scatter

+
+
+

+ line-and-scatter-plot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  mode: 'markers',
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [2, 3, 4, 5],
+  y: [16, 5, 11, 9],
+  mode: 'lines',
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [12, 9, 15, 12],
+  mode: 'lines+markers',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ data-labels-hover +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4, 5],
+  y: [1, 6, 3, 6, 1],
+  mode: 'markers',
+  type: 'scatter',
+  name: 'Team A',
+  text: ['A-1', 'A-2', 'A-3', 'A-4', 'A-5'],
+  marker: { size: 12 }
+};
+
+var trace2 = {
+  x: [1.5, 2.5, 3.5, 4.5, 5.5],
+  y: [4, 1, 7, 1, 4],
+  mode: 'markers',
+  type: 'scatter',
+  name: 'Team B',
+  text: ['B-a', 'B-b', 'B-c', 'B-d', 'B-e'],
+  marker: { size: 12 }
+};
+
+var data = [ trace1, trace2 ];
+
+var layout = {
+  xaxis: {
+    range: [ 0.75, 5.25 ]
+  },
+  yaxis: {
+    range: [0, 8]
+  },
+  title: {text: 'Data Labels Hover'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ data-labels-on-the-plot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4, 5],
+  y: [1, 6, 3, 6, 1],
+  mode: 'markers+text',
+  type: 'scatter',
+  name: 'Team A',
+  text: ['A-1', 'A-2', 'A-3', 'A-4', 'A-5'],
+  textposition: 'top center',
+  textfont: {
+    family:  'Raleway, sans-serif'
+  },
+  marker: { size: 12 }
+};
+
+var trace2 = {
+  x: [1.5, 2.5, 3.5, 4.5, 5.5],
+  y: [4, 1, 7, 1, 4],
+  mode: 'markers+text',
+  type: 'scatter',
+  name: 'Team B',
+  text: ['B-a', 'B-b', 'B-c', 'B-d', 'B-e'],
+  textfont : {
+    family:'Times New Roman'
+  },
+  textposition: 'bottom center',
+  marker: { size: 12 }
+};
+
+var data = [ trace1, trace2 ];
+
+var layout = {
+  xaxis: {
+    range: [ 0.75, 5.25 ]
+  },
+  yaxis: {
+    range: [0, 8]
+  },
+  legend: {
+    y: 0.5,
+    yref: 'paper',
+    font: {
+      family: 'Arial, sans-serif',
+      size: 20,
+      color: 'grey',
+    }
+  },
+  title: {text: 'Data Labels on the Plot'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ scatter-plot-with-a-color-dimension +

+
+ +
+
var trace1 = {
+  y: [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
+  mode: 'markers',
+  marker: {
+    size: 40,
+    color: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
+  }
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'Scatter Plot with a Color Dimension'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-scatter-plot +

+
+ +
+
var trace1 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [24, 10, 9],
+  name: 'Gold',
+  type: 'scatter',
+  mode: 'markers'
+};
+
+var trace2 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [13, 15, 12],
+  name: 'Silver',
+  type: 'scatter',
+  mode: 'markers'
+};
+
+var trace3 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [11, 8, 12],
+  name: 'Bronze',
+  type: 'scatter',
+  mode: 'markers'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  scattermode: 'group',
+  title: {
+    text: 'Grouped by Country'
+  },
+  xaxis: {
+    title: {
+      text: 'Country'
+    }
+  },
+  yaxis: {
+    title: {
+      text: 'Medals'
+    }
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-scatter-plot-with-custom-scatter-gap +

+
+ +
+
var trace1 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [24, 10, 9],
+  name: 'Gold',
+  type: 'scatter',
+  mode: 'markers'
+};
+
+var trace2 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [13, 15, 12],
+  name: 'Silver',
+  type: 'scatter',
+  mode: 'markers'
+};
+
+var trace3 = {
+  x: ['South Korea', 'China', 'Canada'],
+  y: [11, 8, 12],
+  name: 'Bronze',
+  type: 'scatter',
+  mode: 'markers'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  scattermode: 'group',
+  title: {
+    text: 'Grouped by Country'
+  },
+  xaxis: {
+    title: {
+      text: 'Country'
+    }
+  },
+  yaxis: {
+    title: {
+      text: 'Medals'
+    }
+  },
+  scattergap: 0.7
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/line-charts/index.html b/docs/examples/line-charts/index.html new file mode 100644 index 00000000000..456ef3c5401 --- /dev/null +++ b/docs/examples/line-charts/index.html @@ -0,0 +1,6037 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Line Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

line-charts

+
+
+

+ basic-line-plot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4],
+  y: [16, 5, 11, 9],
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ line-and-scatter-plot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  mode: 'markers'
+};
+
+var trace2 = {
+  x: [2, 3, 4, 5],
+  y: [16, 5, 11, 9],
+  mode: 'lines'
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [12, 9, 15, 12],
+  mode: 'lines+markers'
+};
+
+var data = [ trace1, trace2, trace3 ];
+
+var layout = {
+  title: {text: 'Line and Scatter Plot'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ adding-names-to-line-and-scatter-plot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  mode: 'markers',
+  name: 'Scatter'
+};
+
+var trace2 = {
+  x: [2, 3, 4, 5],
+  y: [16, 5, 11, 9],
+  mode: 'lines',
+  name: 'Lines'
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [12, 9, 15, 12],
+  mode: 'lines+markers',
+  name: 'Scatter + Lines'
+};
+
+var data = [ trace1, trace2, trace3 ];
+
+var layout = {
+  title: {text: 'Adding Names to Line and Scatter Plot'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ line-and-scatter-styling +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  mode: 'markers',
+  marker: {
+    color: 'rgb(219, 64, 82)',
+    size: 12
+  }
+};
+
+var trace2 = {
+  x: [2, 3, 4, 5],
+  y: [16, 5, 11, 9],
+  mode: 'lines',
+  line: {
+    color: 'rgb(55, 128, 191)',
+    width: 3
+  }
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [12, 9, 15, 12],
+  mode: 'lines+markers',
+  marker: {
+    color: 'rgb(128, 0, 128)',
+    size: 8
+  },
+  line: {
+    color: 'rgb(128, 0, 128)',
+    width: 1
+  }
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  title: {
+    text: 'Line and Scatter Styling'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ colored-and-styled-scatter-plot +

+
+ +
+
var trace1 = {
+  x: [52698, 43117],
+  y: [53, 31],
+  mode: 'markers',
+  name: 'North America',
+  text: ['United States', 'Canada'],
+  marker: {
+    color: 'rgb(164, 194, 244)',
+    size: 12,
+    line: {
+      color: 'white',
+      width: 0.5
+    }
+  },
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [39317, 37236, 35650, 30066, 29570, 27159, 23557, 21046, 18007],
+  y: [33, 20, 13, 19, 27, 19, 49, 44, 38],
+  mode: 'markers',
+  name: 'Europe',
+  text: ['Germany', 'Britain', 'France', 'Spain', 'Italy', 'Czech Rep.', 'Greece', 'Poland'],
+  marker: {
+    color: 'rgb(255, 217, 102)',
+    size: 12
+  },
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [42952, 37037, 33106, 17478, 9813, 5253, 4692, 3899],
+  y: [23, 42, 54, 89, 14, 99, 93, 70],
+  mode: 'markers',
+  name: 'Asia/Pacific',
+  text: ['Australia', 'Japan', 'South Korea', 'Malaysia', 'China', 'Indonesia', 'Philippines', 'India'],
+  marker: {
+    color: 'rgb(234, 153, 153)',
+    size: 12
+  },
+  type: 'scatter'
+};
+
+var trace4 = {
+  x: [19097, 18601, 15595, 13546, 12026, 7434, 5419],
+  y: [43, 47, 56, 80, 86, 93, 80],
+  mode: 'markers',
+  name: 'Latin America',
+  text: ['Chile', 'Argentina', 'Mexico', 'Venezuela', 'Venezuela', 'El Salvador', 'Bolivia'],
+  marker: {
+    color: 'rgb(142, 124, 195)',
+    size: 12
+  },
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {
+    text: 'Quarter 1 Growth'
+  },
+  xaxis: {
+    title: {
+      text: 'GDP per Capita'
+    },
+    showgrid: false,
+    zeroline: false
+  },
+  yaxis: {
+    title: {
+      text: 'Percent'
+    },
+    showline: false
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ styling-line-plot +

+
+ +
+
trace1 = {
+  type: 'scatter',
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  mode: 'lines',
+  name: 'Red',
+  line: {
+    color: 'rgb(219, 64, 82)',
+    width: 3
+  }
+};
+
+trace2 = {
+  type: 'scatter',
+  x: [1, 2, 3, 4],
+  y: [12, 9, 15, 12],
+  mode: 'lines',
+  name: 'Blue',
+  line: {
+    color: 'rgb(55, 128, 191)',
+    width: 1
+  }
+};
+
+var layout = {
+  width: 500,
+  height: 500
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ line-shape-options-for-interpolation +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4, 5],
+  y: [1, 3, 2, 3, 1],
+  mode: 'lines+markers',
+  name: 'linear',
+  line: {shape: 'linear'},
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4, 5],
+  y: [6, 8, 7, 8, 6],
+  mode: 'lines+markers',
+  name: 'spline',
+  text: ['tweak line smoothness<br>with "smoothing" in line object', 'tweak line smoothness<br>with "smoothing" in line object', 'tweak line smoothness<br>with "smoothing" in line object', 'tweak line smoothness<br>with "smoothing" in line object', 'tweak line smoothness<br>with "smoothing" in line object', 'tweak line smoothness<br>with "smoothing" in line object'],
+  line: {shape: 'spline'},
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4, 5],
+  y: [11, 13, 12, 13, 11],
+  mode: 'lines+markers',
+  name: 'vhv',
+  line: {shape: 'vhv'},
+  type: 'scatter'
+};
+
+var trace4 = {
+  x: [1, 2, 3, 4, 5],
+  y: [16, 18, 17, 18, 16],
+  mode: 'lines+markers',
+  name: 'hvh',
+  line: {shape: 'hvh'},
+  type: 'scatter'
+};
+
+var trace5 = {
+  x: [1, 2, 3, 4, 5],
+  y: [21, 23, 22, 23, 21],
+  mode: 'lines+markers',
+  name: 'vh',
+  line: {shape: 'vh'},
+  type: 'scatter'
+};
+
+var trace6 = {
+  x: [1, 2, 3, 4, 5],
+  y: [26, 28, 27, 28, 26],
+  mode: 'lines+markers',
+  name: 'hv',
+  line: {shape: 'hv'},
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3, trace4, trace5, trace6];
+
+var layout = {
+  legend: {
+    y: 0.5,
+    traceorder: 'reversed',
+    font: {size: 16},
+    yref: 'paper'
+  }};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ graph-and-axes-titles +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  mode: 'markers',
+  name: 'Scatter'
+};
+
+var trace2 = {
+  x: [2, 3, 4, 5],
+  y: [16, 5, 11, 9],
+  mode: 'lines',
+  name: 'Lines'
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4],
+  y: [12, 9, 15, 12],
+  mode: 'lines+markers',
+  name: 'Scatter and Lines'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  title: {
+    text: 'Title of the Graph'
+  },
+  xaxis: {
+    title: {
+      text: 'x-axis title'
+    }
+  },
+  yaxis: {
+    title: {
+      text: 'y-axis title'
+    }
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ line-dash +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4, 5],
+  y: [1, 3, 2, 3, 1],
+  mode: 'lines',
+  name: 'Solid',
+  line: {
+    dash: 'solid',
+    width: 4
+  }
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4, 5],
+  y: [6, 8, 7, 8, 6],
+  mode: 'lines',
+  name: 'dashdot',
+  line: {
+    dash: 'dashdot',
+    width: 4
+  }
+};
+
+var trace3 = {
+  x: [1, 2, 3, 4, 5],
+  y: [11, 13, 12, 13, 11],
+  mode: 'lines',
+  name: 'Solid',
+  line: {
+    dash: 'solid',
+    width: 4
+  }
+};
+
+var trace4 = {
+  x: [1, 2, 3, 4, 5],
+  y: [16, 18, 17, 18, 16],
+  mode: 'lines',
+  name: 'dot',
+  line: {
+    dash: 'dot',
+    width: 4
+  }
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {
+    text: 'Line Dash'
+  },
+  xaxis: {
+    range: [0.75, 5.25],
+    autorange: false
+  },
+  yaxis: {
+    range: [0, 18.5],
+    autorange: false
+  },
+  legend: {
+    y: 0.5,
+    traceorder: 'reversed',
+    font: {
+      size: 16
+    }
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ connect-gaps-between-data +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8],
+  y: [10, 15, null, 17, 14, 12, 10, null, 15],
+  mode: 'lines+markers',
+  connectgaps: true
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4, 5, 6, 7, 8],
+  y: [16, null, 13, 10, 8, null, 11, 12],
+  mode: 'lines',
+  connectgaps: true
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {
+    text: 'Connect the Gaps Between Data'
+  },
+  showlegend: false
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ labelling-lines-with-annotations +

+
+ +
+
var xData = [
+  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013],
+  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013],
+  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013],
+  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013]
+];
+
+var yData = [
+  [74, 82, 80, 74, 73, 72, 74, 70, 70, 66, 66, 69],
+  [45, 42, 50, 46, 36, 36, 34, 35, 32, 31, 31, 28],
+  [13, 14, 20, 24, 20, 24, 24, 40, 35, 41, 43, 50],
+  [18, 21, 18, 21, 16, 14, 13, 18, 17, 16, 19, 23]
+];
+
+var colors = ['rgba(67,67,67,1)', 'rgba(115,115,115,1)', 'rgba(49,130,189, 1)',
+  'rgba(189,189,189,1)'
+];
+
+var lineSize = [2, 2, 4, 2];
+
+var labels = ['Television', 'Newspaper', 'Internet', 'Radio'];
+
+var data = [];
+
+for ( var i = 0 ; i < xData.length ; i++ ) {
+  var result = {
+    x: xData[i],
+    y: yData[i],
+    type: 'scatter',
+    mode: 'lines',
+    line: {
+      color: colors[i],
+      width: lineSize[i]
+    }
+  };
+  var result2 = {
+    x: [xData[i][0], xData[i][11]],
+    y: [yData[i][0], yData[i][11]],
+    type: 'scatter',
+    mode: 'markers',
+    marker: {
+      color: colors[i],
+      size: 12
+    }
+  };
+  data.push(result, result2);
+}
+
+var layout = {
+  showlegend: false,
+  height: 600,
+  width: 600,
+  xaxis: {
+    showline: true,
+    showgrid: false,
+    showticklabels: true,
+    linecolor: 'rgb(204,204,204)',
+    linewidth: 2,
+    tickmode: 'linear',
+    ticks: 'outside',
+    tickcolor: 'rgb(204,204,204)',
+    tickwidth: 2,
+    ticklen: 5,
+    tickfont: {
+      family: 'Arial',
+      size: 12,
+      color: 'rgb(82, 82, 82)'
+    }
+  },
+  yaxis: {
+    showgrid: false,
+    zeroline: false,
+    showline: false,
+    showticklabels: false
+  },
+  autosize: false,
+  margin: {
+    autoexpand: false,
+    l: 100,
+    r: 20,
+    t: 100
+  },
+  annotations: [
+    {
+      xref: 'paper',
+      yref: 'paper',
+      x: 0.0,
+      y: 1.05,
+      xanchor: 'left',
+      yanchor: 'bottom',
+      text: 'Main Source for News',
+      font:{
+        family: 'Arial',
+        size: 30,
+        color: 'rgb(37,37,37)'
+      },
+      showarrow: false
+    },
+    {
+      xref: 'paper',
+      yref: 'paper',
+      x: 0.5,
+      y: -0.1,
+      xanchor: 'center',
+      yanchor: 'top',
+      text: 'Source: Pew Research Center & Storytelling with data',
+      showarrow: false,
+      font: {
+        family: 'Arial',
+        size: 12,
+        color: 'rgb(150,150,150)'
+      }
+    }
+  ]
+};
+
+for( var i = 0 ; i < xData.length ; i++ ) {
+  var result = {
+    xref: 'paper',
+    x: 0.05,
+    y: yData[i][0],
+    xanchor: 'right',
+    yanchor: 'middle',
+    text: labels[i] + ' ' + yData[i][0] +'%',
+    showarrow: false,
+    font: {
+      family: 'Arial',
+      size: 16,
+      color: 'black'
+    }
+  };
+  var result2 = {
+    xref: 'paper',
+    x: 0.95,
+    y: yData[i][11],
+    xanchor: 'left',
+    yanchor: 'middle',
+    text: yData[i][11] +'%',
+    font: {
+      family: 'Arial',
+      size: 16,
+      color: 'black'
+    },
+    showarrow: false
+  };
+
+  layout.annotations.push(result, result2);
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/lines-on-maps/index.html b/docs/examples/lines-on-maps/index.html new file mode 100644 index 00000000000..18082568ba2 --- /dev/null +++ b/docs/examples/lines-on-maps/index.html @@ -0,0 +1,4965 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Lines on Maps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

lines-on-maps

+
+
+

+ lines-on-an-orthographic-map +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/globe_contours.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });
+    }
+
+    var data = [];
+    var scl =['rgb(213,62,79)','rgb(244,109,67)','rgb(253,174,97)','rgb(254,224,139)','rgb(255,255,191)','rgb(230,245,152)','rgb(171,221,164)','rgb(102,194,165)','rgb(50,136,189)'];
+    var allLats = [];
+    var allLons = [];
+
+    for ( var i = 0 ; i < scl.length; i++){
+        var latHead = 'lat-'+i;
+        var lonHead = 'lon-'+i;
+        var lat = unpack(rows, latHead);
+        var lon = unpack(rows, lonHead);
+        allLats.push(lat);
+        allLons.push(lon);
+    }
+
+    for ( var i = 0 ; i < scl.length; i++) {
+        var current = {
+            type:'scattergeo',
+            lon: allLons[i],
+            lat: allLats[i],
+            mode: 'lines',
+            line: {
+                width: 2,
+                color: scl[i]
+            }
+        }
+        data.push(current);
+    };
+
+
+    var layout = {
+        geo: {
+            projection: {
+                type: 'orthographic',
+                rotation: {
+                    lon: -100,
+                    lat: 40
+                },
+            },
+            showocean: true,
+            oceancolor: 'rgb(0, 255, 255)',
+            showland: true,
+            landcolor: 'rgb(230, 145, 56)',
+            showlakes: true,
+            lakecolor: 'rgb(0, 255, 255)',
+            showcountries: true,
+            lonaxis: {
+                showgrid: true,
+                gridcolor: 'rgb(102, 102, 102)'
+            },
+            lataxis: {
+                showgrid: true,
+                gridcolor: 'rgb(102, 102, 102)'
+            }
+        }
+    };
+
+    Plotly.newPlot("myDiv", data, layout, {showLink: false});
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ london-to-nyc-great-circle +

+
+ +
+
var data = [{
+    type: 'scattergeo',
+    lat: [ 40.7127, 51.5072 ],
+    lon: [ -74.0059, 0.1275 ],
+    mode: 'lines',
+    line:{
+        width: 2,
+        color: 'blue'
+    }
+  }];
+
+var layout = {
+  title: {text: 'London to NYC Great Circle'},
+  showlegend: false,
+  geo: {
+      resolution: 50,
+      showland: true,
+      showlakes: true,
+      landcolor: 'rgb(204, 204, 204)',
+      countrycolor: 'rgb(204, 204, 204)',
+      lakecolor: 'rgb(255, 255, 255)',
+      projection: {
+        type: 'equirectangular'
+      },
+      coastlinewidth: 2,
+      lataxis: {
+        range: [ 20, 60 ],
+        showgrid: true,
+        tickmode: 'linear',
+        dtick: 10
+      },
+      lonaxis:{
+        range: [-100, 20],
+        showgrid: true,
+        tickmode: 'linear',
+        dtick: 20
+      }
+    }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ us-flight-paths-map +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/c34aaa0b1b3cddad335173cb7bc0181897201ee6/2011_february_aa_flight_paths.csv', function(err, rows){
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });}
+
+    function getMaxOfArray(numArray) {
+        return Math.max.apply(null, numArray);
+    }
+
+    var data = [];
+    var count = unpack(rows, 'cnt');
+    var startLongitude = unpack(rows, 'start_lon');
+    var endLongitude = unpack(rows, 'end_lon');
+    var startLat = unpack(rows, 'start_lat');
+    var endLat = unpack(rows, 'end_lat');
+
+    for ( var i = 0 ; i < count.length; i++ ) {
+        var opacityValue = count[i]/getMaxOfArray(count);
+
+        var result = {
+            type: 'scattergeo',
+            locationmode: 'USA-states',
+            lon: [ startLongitude[i] , endLongitude[i] ],
+            lat: [ startLat[i] , endLat[i] ],
+            mode: 'lines',
+            line: {
+                width: 1,
+                color: 'red'
+            },
+            opacity: opacityValue
+        };
+
+        data.push(result);
+    };
+
+    var layout = {
+        title: {text: 'Feb. 2011 American Airline flight paths'},
+        showlegend: false,
+        geo:{
+            scope: 'north america',
+            projection: {
+                type: 'azimuthal equal area'
+            },
+            showland: true,
+            landcolor: 'rgb(243,243,243)',
+            countrycolor: 'rgb(204,204,204)'
+        }
+    };
+
+    Plotly.newPlot("myDiv", data, layout, {showLink: false});
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/log-plot/index.html b/docs/examples/log-plot/index.html new file mode 100644 index 00000000000..be085163aec --- /dev/null +++ b/docs/examples/log-plot/index.html @@ -0,0 +1,4641 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Log Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

log-plot

+
+
+

+ logarithmic-axes +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  xaxis: {
+    type: 'log',
+    autorange: true
+  },
+  yaxis: {
+    type: 'log',
+    autorange: true
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/map-animations/index.html b/docs/examples/map-animations/index.html new file mode 100644 index 00000000000..d2e60445e51 --- /dev/null +++ b/docs/examples/map-animations/index.html @@ -0,0 +1,4832 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Map Animation - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

map-animations

+
+
+

+ map-animations +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv", function(err, rows){
+
+  function filter_and_unpack(rows, key, year) {
+  return rows.filter(row => row['year'] == year).map(row => row[key])
+  }
+
+  var frames = []
+  var slider_steps = []
+
+  var n = 11;
+  var num = 1952;
+  for (var i = 0; i <= n; i++) {
+    var z = filter_and_unpack(rows, 'lifeExp', num)
+    var locations = filter_and_unpack(rows, 'iso_alpha', num)
+    frames[i] = {data: [{z: z, locations: locations, text: locations}], name: num}
+    slider_steps.push ({
+        label: num.toString(),
+        method: "animate",
+        args: [[num], {
+            mode: "immediate",
+            transition: {duration: 300},
+            frame: {duration: 300}
+          }
+        ]
+      })
+    num = num + 5
+  }
+
+var data = [{
+      type: 'choropleth',
+      locationmode: 'world',
+      locations: frames[0].data[0].locations,
+      z: frames[0].data[0].z,
+      text: frames[0].data[0].locations,
+      zauto: false,
+      zmin: 30,
+      zmax: 90
+
+}];
+var layout = {
+    title: {
+      text: 'World Life Expectency<br>1952 - 2007'
+    },
+    geo:{
+       scope: 'world',
+       countrycolor: 'rgb(255, 255, 255)',
+       showland: true,
+       landcolor: 'rgb(217, 217, 217)',
+       showlakes: true,
+       lakecolor: 'rgb(255, 255, 255)',
+       subunitcolor: 'rgb(255, 255, 255)',
+       lonaxis: {},
+       lataxis: {}
+    },
+    updatemenus: [{
+      x: 0.1,
+      y: 0,
+      yanchor: "top",
+      xanchor: "right",
+      showactive: false,
+      direction: "left",
+      type: "buttons",
+      pad: {"t": 87, "r": 10},
+      buttons: [{
+        method: "animate",
+        args: [null, {
+          fromcurrent: true,
+          transition: {
+            duration: 200,
+          },
+          frame: {
+            duration: 500
+          }
+        }],
+        label: "Play"
+      }, {
+        method: "animate",
+        args: [
+          [null],
+          {
+            mode: "immediate",
+            transition: {
+              duration: 0
+            },
+            frame: {
+              duration: 0
+            }
+          }
+        ],
+        label: "Pause"
+      }]
+    }],
+    sliders: [{
+      active: 0,
+      steps: slider_steps,
+      x: 0.1,
+      len: 0.9,
+      xanchor: "left",
+      y: 0,
+      yanchor: "top",
+      pad: {t: 50, b: 10},
+      currentvalue: {
+        visible: true,
+        prefix: "Year:",
+        xanchor: "right",
+        font: {
+          size: 20,
+          color: "#666"
+        }
+      },
+      transition: {
+        duration: 300,
+        easing: "cubic-in-out"
+      }
+    }]
+};
+
+Plotly.newPlot('myDiv', data, layout).then(function() {
+    Plotly.addFrames('myDiv', frames);
+  });
+})
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/mixed-subplots/index.html b/docs/examples/mixed-subplots/index.html new file mode 100644 index 00000000000..c774f09247c --- /dev/null +++ b/docs/examples/mixed-subplots/index.html @@ -0,0 +1,4864 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Mixed Subplots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

mixed-subplots

+
+
+

+ mixed-subplots +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/volcano_db.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+var trace1 = {
+  x: unpack(rows, 'Status'),
+  y: unpack(rows, 'Type'),
+  z: unpack(rows, 'Elev'),
+  marker: {
+    size: 2,
+    color: unpack(rows, 'Elev'),
+    colorscale: 'Reds',
+    line: {color: 'transparent'}
+  },
+  mode: 'markers',
+  type: 'scatter3d',
+  text: unpack(rows, 'Country'),
+  hoverinfo: 'x+y+z+text',
+  showlegend: false
+};
+
+var x = unpack(rows, 'Elev');
+
+var trace2 = {
+    x: unpack(rows, 'Elev'),
+    type: 'histogram',
+    hoverinfo: 'x+y',
+    showlegend: false,
+    xaxis: 'x2',
+    yaxis: 'y2',
+     marker: {
+         color: 'red'
+    }};
+
+var trace3 = {
+    geo: 'geo3',
+    type:'scattergeo',
+    locationmode: 'world',
+    lon: unpack(rows, 'Longitude'),
+    lat: unpack(rows, 'Latitude'),
+    hoverinfo:  'text',
+    text:  unpack(rows, 'Elev'),
+    mode: 'markers',
+    showlegend: false,
+    marker: {
+      size: 4,
+      color: unpack(rows, 'Elev'),
+      colorscale: 'Reds',
+      opacity: 0.8,
+      symbol: 'circle',
+      line: {
+        width: 1
+      }
+    }
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+      paper_bgcolor: 'black',
+      plot_bgcolor: 'black',
+      title: {text: 'Volcano Database: Elevation'},
+      font: {color: 'white'},
+      colorbar: true,
+      annotations: [{
+         x: 0,
+         y: 0,
+         xref: 'paper',
+         yref: 'paper',
+         text: 'Source: NOAA',
+         showarrow: false
+      }],
+      geo3: {
+        domain: {
+      x: [0, 0.45],
+      y: [0.02, 0.98]
+          },
+        scope: 'world',
+        projection: {
+          type: 'orthographic'
+        },
+        showland: true,
+        showocean: true,
+        showlakes: true,
+        landcolor: 'rgb(250,250,250)',
+        lakecolor: 'rgb(127,205,255)',
+        oceancolor: 'rgb(6,66,115)',
+        subunitcolor: 'rgb(217,217,217)',
+        countrycolor: 'rgb(217,217,217)',
+        countrywidth: 0.5,
+        subunitwidth: 0.5,
+        bgcolor: 'black'
+      },
+    scene: {domain: {
+      x: [0.55, 1],
+      y: [0, 0.6]
+    },
+    xaxis: {
+      title: {
+          text: 'Status'
+      },
+      showticklabels: false,
+      showgrid: true,
+      gridcolor: 'white'
+    },
+    yaxis: {
+        title: {
+            text: 'Type'
+        },
+        showticklabels: false,
+        showgrid: true,
+        gridcolor: 'white'
+    },
+    zaxis: {
+        title: {
+            text: 'Elev'
+        },
+        showgrid: true,
+        gridcolor: 'white'
+    }
+             },
+    yaxis2: {
+        anchor: 'x2',
+      domain: [0.7, 1],
+      showgrid: false
+    },
+    xaxis2: {
+      tickangle: 45,
+      anchor: 'y2',
+      ticksuffix: 'm',
+      domain: [0.6, 1]},
+};
+
+Plotly.newPlot("myDiv", data, layout, {showLink: false});
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/multiple-axes/index.html b/docs/examples/multiple-axes/index.html new file mode 100644 index 00000000000..b5ae0f9c157 --- /dev/null +++ b/docs/examples/multiple-axes/index.html @@ -0,0 +1,4856 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Multiple Axes - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

multiple-axes

+
+
+

+ two-y-axes +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [40, 50, 60],
+  name: 'yaxis data',
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [2, 3, 4],
+  y: [4, 5, 6],
+  name: 'yaxis2 data',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  title: {text: 'Double Y Axis Example'},
+  yaxis: {
+    title: {
+      text: 'yaxis title'
+    }
+  },
+  yaxis2: {
+    title: {
+      text: 'yaxis2 title',
+      font: {color: 'rgb(148, 103, 189)'}
+    },
+    tickfont: {color: 'rgb(148, 103, 189)'},
+    overlaying: 'y',
+    side: 'right'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-y-axes +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [4, 5, 6],
+  name: 'yaxis1 data',
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [2, 3, 4],
+  y: [40, 50, 60],
+  name: 'yaxis2 data',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [4, 5, 6],
+  y: [40000, 50000, 60000],
+  name: 'yaxis3 data',
+  yaxis: 'y3',
+  type: 'scatter'
+};
+
+var trace4 = {
+  x: [5, 6, 7],
+  y: [400000, 500000, 600000],
+  name: 'yaxis4 data',
+  yaxis: 'y4',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {
+    text: 'multiple y-axes example',
+    font: {color: '#1f77b4'}
+  },
+  width: 800,
+  xaxis: {domain: [0.3, 0.7]},
+  yaxis: {
+    title: {
+      text: 'yaxis title',
+      font: {color: '#1f77b4'}
+    },
+    tickfont: {color: '#1f77b4'}
+  },
+  yaxis2: {
+    title: {
+      text: 'yaxis2 title',
+      font: {color: '#ff7f0e'}
+    },
+    tickfont: {color: '#ff7f0e'},
+    anchor: 'free',
+    overlaying: 'y',
+    side: 'left',
+    position: 0.15
+  },
+  yaxis3: {
+    title: {
+      text: 'yaxis4 title',
+      font: {color: '#d62728'}
+    },
+    tickfont: {color: '#d62728'},
+    anchor: 'x',
+    overlaying: 'y',
+    side: 'right'
+  },
+  yaxis4: {
+    title: {
+      text: 'yaxis5 title',
+      font: {color: '#9467bd'}
+    },
+    tickfont: {color: '#9467bd'},
+    anchor: 'free',
+    overlaying: 'y',
+    side: 'right',
+    position: 0.85
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/ohlc-charts/index.html b/docs/examples/ohlc-charts/index.html new file mode 100644 index 00000000000..d7a78341fa6 --- /dev/null +++ b/docs/examples/ohlc-charts/index.html @@ -0,0 +1,5260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + OHLC Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

ohlc-charts

+
+
+

+ simple-ohlc-chart +

+
+ +
+
var trace1 = {
+
+  x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'],
+
+  close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995],
+
+  decreasing: {line: {color: '#7F7F7F'}},
+
+  high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002],
+
+  increasing: {line: {color: '#17BECF'}},
+
+  line: {color: 'rgba(31,119,180,1)'},
+
+  low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003],
+  open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007],
+
+  type: 'ohlc',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace1];
+
+var layout = {
+  dragmode: 'zoom',
+  margin: {
+    r: 10,
+    t: 25,
+    b: 40,
+    l: 60
+  },
+  showlegend: false,
+  xaxis: {
+    autorange: true,
+    rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']},
+    title: {
+      text: 'Date'
+    },
+    type: 'date'
+  },
+  yaxis: {
+    autorange: true,
+    type: 'linear'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ ohlc-chart-without-rangeslider +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var trace = {
+  x: unpack(rows, 'Date'),
+  close: unpack(rows, 'AAPL.Close'),
+  high: unpack(rows, 'AAPL.High'),
+  low: unpack(rows, 'AAPL.Low'),
+  open: unpack(rows, 'AAPL.Open'),
+
+  // cutomise colors
+  increasing: {line: {color: 'black'}},
+  decreasing: {line: {color: 'red'}},
+
+  type: 'ohlc',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace];
+
+var layout = {
+  dragmode: 'zoom',
+  showlegend: false,
+  xaxis: {
+    rangeslider: {
+         visible: false
+     }
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customizing-the-figure-with-shapes-and-annotations +

+
+ +
+
var trace1 = {
+
+  x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'],
+
+  close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995],
+
+  decreasing: {line: {color: '#7F7F7F'}},
+
+  high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002],
+
+  increasing: {line: {color: '#17BECF'}},
+
+  line: {color: 'rgba(31,119,180,1)'},
+
+  low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002,
+  127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003],
+
+  open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007],
+
+  type: 'ohlc',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace1];
+
+var layout = {
+  dragmode: 'zoom',
+  margin: {
+    r: 10,
+    t: 25,
+    b: 40,
+    l: 60
+  },
+  showlegend: false,
+  xaxis: {
+    autorange: true,
+    rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']},
+    title: {
+      text: 'Date'
+    },
+    type: 'date'
+  },
+  yaxis: {
+    autorange: true,
+    type: 'linear'
+  },
+
+  annotations: [
+    {
+      x: '2017-01-31',
+      y: 0.9,
+      xref: 'x',
+      yref: 'paper',
+      text: 'largest movement',
+      font: {color: 'magenta'},
+      showarrow: true,
+      xanchor: 'right',
+      ax: -20,
+      ay: 0
+    }
+  ],
+
+  shapes: [
+      {
+          type: 'rect',
+          xref: 'x',
+          yref: 'paper',
+          x0: '2017-01-31',
+          y0: 0,
+          x1: '2017-02-01',
+          y1: 1,
+          fillcolor: '#d3d3d3',
+          opacity: 0.2,
+          line: {
+              width: 0
+          }
+      }
+    ]
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customise-ohlc-chart-colors +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var trace = {
+  x: unpack(rows, 'Date'),
+  close: unpack(rows, 'AAPL.Close'),
+  high: unpack(rows, 'AAPL.High'),
+  low: unpack(rows, 'AAPL.Low'),
+  open: unpack(rows, 'AAPL.Open'),
+
+  // cutomise colors
+  increasing: {line: {color: 'black'}},
+  decreasing: {line: {color: 'red'}},
+
+  type: 'ohlc',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace];
+
+var layout = {
+  dragmode: 'zoom',
+  showlegend: false,
+  xaxis: {
+    autorange: true,
+    title: {
+      text: 'Date'
+    },
+  },
+  yaxis: {
+    autorange: true,
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ add-rangeselector +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var trace = {
+  x: unpack(rows, 'Date'),
+  close: unpack(rows, 'AAPL.Close'),
+  high: unpack(rows, 'AAPL.High'),
+  low: unpack(rows, 'AAPL.Low'),
+  open: unpack(rows, 'AAPL.Open'),
+
+  // cutomise colors
+  increasing: {line: {color: 'black'}},
+  decreasing: {line: {color: 'red'}},
+
+  type: 'ohlc',
+  xaxis: 'x',
+  yaxis: 'y'
+};
+
+var data = [trace];
+
+var layout = {
+  dragmode: 'zoom',
+  showlegend: false,
+  xaxis: {
+    autorange: true,
+    title: {
+      text: 'Date'
+    },
+     rangeselector: {
+        x: 0,
+        y: 1.2,
+        xanchor: 'left',
+        font: {size:8},
+        buttons: [{
+            step: 'month',
+            stepmode: 'backward',
+            count: 1,
+            label: '1 month'
+        }, {
+            step: 'month',
+            stepmode: 'backward',
+            count: 6,
+            label: '6 months'
+        }, {
+            step: 'all',
+            label: 'All dates'
+        }]
+      }
+  },
+  yaxis: {
+    autorange: true,
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/parallel-categories-diagram/index.html b/docs/examples/parallel-categories-diagram/index.html new file mode 100644 index 00000000000..0ae58f9e044 --- /dev/null +++ b/docs/examples/parallel-categories-diagram/index.html @@ -0,0 +1,5156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Categories Diagram - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

parallel-categories-diagram

+
+
+

+ basic-parallel-categories-diagram +

+
+

The parallel categories diagram is a visualization of multi-dimensional categorical data sets. Each variable in +the data set is represented by a column of rectangles, where each rectangle corresponds to a discrete value +taken on by that variable. The relative heights of the rectangles reflect the relative frequency of occurrence of +the corresponding value.

+

Combinations of category rectangles across dimensions are connected by ribbons, where the height of the ribbon +corresponds to the relative frequency of occurrence of the combination of categories in the data set.

+

In this example, we visualize the hair color, eye color, and sex of a sample of 8 people. Hovering over a +category rectangle displays a tooltip with the number of people with that single trait. Hovering over a ribbon +in the diagram displays a tooltip with the number of people with a particular combination of the three +traits connected by the ribbon.

+

The dimension labels can be dragged horizontally to reorder the dimensions and the category rectangles can be +dragged vertically to reorder the categories within a dimension.

+
+
var trace1 = {
+  type: 'parcats',
+  dimensions: [
+    {label: 'Hair',
+     values: ['Black', 'Black', 'Black', 'Brown',
+              'Brown', 'Brown', 'Red', 'Brown']},
+    {label: 'Eye',
+     values: ['Brown', 'Brown', 'Brown', 'Brown',
+              'Brown', 'Blue', 'Blue', 'Blue']},
+    {label: 'Sex',
+     values: ['Female', 'Female', 'Female', 'Male',
+              'Female', 'Male', 'Male', 'Male']}]
+};
+
+var data = [ trace1 ];
+
+var layout = {width: 600};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ basic-parallel-categories-diagram-with-counts +

+
+

If the frequency of occurrence for each combination of attributes is known in advance, this can be specified using +the counts property

+
+
var trace1 = {
+  type: 'parcats',
+  dimensions: [
+    {label: 'Hair',
+     values: ['Black', 'Brown', 'Brown', 'Brown', 'Red']},
+    {label: 'Eye',
+     values: ['Brown', 'Brown', 'Brown', 'Blue', 'Blue']},
+    {label: 'Sex',
+     values: ['Female', 'Male', 'Female', 'Male', 'Male']}],
+  counts: [6, 10, 40, 23, 7]
+};
+
+var data = [ trace1 ];
+
+var layout = {width: 600};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ mutli-color-parallel-categories-diagram +

+
+

The color of the ribbons can be specified with the line.color property. Similar to other trace types, this +property may be set to an array of numbers, which are then mapped to colors according to the the colorscale +specified in the line.colorscale property.

+

Here is an example of visualizing the survival rate of passengers in the titanic dataset, where the ribbons are +colored based on survival outcome.

+

By setting the hoveron property to 'color' and the hoverinfo property to 'count+probability' the tooltips +now display count and probability information for each color (outcome) per category.

+

By setting the arrangement property to 'freeform' it is now possible to drag categories horizontally to +reorder dimensions as well as vertically to reorder categories within the dimension.

+
+
var gd = document.getElementById('myDiv');
+
+d3.csv(
+  "https://raw.githubusercontent.com/plotly/datasets/master/titanic.csv",
+  function(titanicData) {
+    var classDim = {
+      values: titanicData.map(function(row) {return row['Pclass']}),
+      categoryorder: 'category ascending',
+      label: "Class"
+    };
+
+    var genderDim = {
+      values: titanicData.map(function(row) {return row['Sex']}),
+      label: "Gender"
+    };
+
+    var survivalDim = {
+      values: titanicData.map(function(row) {return row['Survived']}),
+      label: "Outcome",
+      categoryarray: [0, 1],
+      ticktext: ['perished', 'survived'],
+    };
+
+    var color = survivalDim.values;
+    var colorscale = [[0, 'lightsteelblue'], [1, 'mediumseagreen']];
+
+    // Build Traces
+    var traces = [
+      {type: 'parcats',
+       dimensions: [classDim, genderDim, survivalDim],
+       line: {color: color,
+              colorscale: colorscale},
+       hoveron: 'color',
+       hoverinfo: 'count+probability',
+       labelfont: {size: 14},
+       arrangement: 'freeform'
+      }
+    ];
+
+    var layout = {width: 600};
+
+    // Make plot
+    Plotly.newPlot('myDiv', traces, layout);
+  });
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ parallel-categories-linked-brushing +

+
+

This example demonstrates how the plotly_selected and plotly_click events can be used to implement linked +brushing between 3 categorical dimensions displayed with a parcats trace and 2 continuous dimensions displayed +with a scatter trace.

+

This example also sets the line.shape property to hspline to cause the ribbons to curve between categories.

+
+
var gd = document.getElementById("myDiv");
+var categoricalDimensionLabels = [
+  'body-style',
+  'drive-wheels',
+  'fuel-type'
+];
+
+d3.csv(
+  'https://raw.githubusercontent.com/plotly/datasets/master/imports-85.csv',
+  function(carsData) {
+    // Preprocess Data
+    var mpg = carsData.map(function(row) { return row['highway-mpg'] });
+    var horsepower = carsData.map(function(row) { return row['horsepower'] });
+
+    var categoricalDimensions = categoricalDimensionLabels.map(
+      function(dimLabel) {
+        // Extract column
+        var values = carsData.map(function(row) {
+          return row[dimLabel]
+        });
+
+        return {
+          values: values,
+          label: dimLabel
+        };
+      });
+
+    // Colors
+    var color = new Int8Array(carsData.length);
+    var colorscale = [[0, 'gray'], [1, 'firebrick']];
+
+    // Layout
+    var layout = {
+      width: 600,
+      height: 800,
+      xaxis: {title: {text: 'Horsepower'}},
+      yaxis: {domain: [0.6, 1], title: {text: 'MPG'}},
+      dragmode: 'lasso',
+      hovermode: 'closest'
+    };
+
+    // Build Traces
+    var traces = [
+      {type: 'scatter',
+       x: horsepower,
+       y: mpg,
+       marker: {color: 'gray'},
+       mode: 'markers',
+       selected: {'marker': {'color': 'firebrick'}},
+       unselected: {'marker': {'opacity': 0.3}}
+      },
+      {type: 'parcats',
+       domain: {y: [0, 0.4]},
+       dimensions:categoricalDimensions,
+       line: {
+         colorscale: colorscale,
+         cmin: 0,
+         cmax: 1,
+         color: color,
+         shape: 'hspline'},
+       labelfont: {size: 14}
+      }
+    ];
+
+    // Make plot
+    Plotly.newPlot('myDiv', traces, layout);
+
+    // Update color on selection and click
+    var update_color = function(points_data) {
+      var new_color = new Int8Array(carsData.length);
+      var selection = []
+      for(var i = 0; i < points_data.points.length; i++) {
+        new_color[points_data.points[i].pointNumber] = 1;
+        selection.push(points_data.points[i].pointNumber);
+      }
+
+      // Update selected points in scatter plot
+      Plotly.restyle('myDiv', {'selectedpoints': [selection]}, 0)
+
+      // Update color of selected paths in parallel categories diagram
+      Plotly.restyle('myDiv', {'line.color': [new_color]}, 1)
+    };
+
+    gd.on('plotly_selected', update_color);
+    gd.on('plotly_click', update_color);
+  });
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ parallel-categories-with-multi-color-linked-brushing +

+
+

This example extends the previous example to support brushing with multiple colors. The radio buttons above may +be used to select the active color, and this color will be applied when points are selected in the scatter +trace and when categories or ribbons are clicked in the parcats trace.

+
+
var gd = document.getElementById('myDiv');
+var categoricalDimensionLabels = [
+  'body-style',
+  'drive-wheels',
+  'fuel-type'
+];
+
+d3.csv(
+  'https://raw.githubusercontent.com/plotly/datasets/master/imports-85.csv',
+  function(carsData) {
+    // Preprocess Data
+    var mpg = carsData.map(function(row) { return row['highway-mpg'] });
+    var horsepower = carsData.map(function(row) { return row['horsepower'] });
+
+    var categoricalDimensions = categoricalDimensionLabels.map(
+      function(dimLabel) {
+        // Extract column
+        var values = carsData.map(function(row) {
+          return row[dimLabel]
+        });
+
+        return {
+          values: values,
+          label: dimLabel
+        };
+      }
+    );
+
+    // Colors
+    var color = new Int8Array(carsData.length);
+    var colorscale = [[0, 'gray'], [0.33, 'gray'],
+                      [0.33, 'firebrick'], [0.66, 'firebrick'],
+                      [0.66, 'blue'], [1.0, 'blue']];
+
+    // Layout
+    var layout = {
+      width: 600,
+      height: 800,
+      xaxis: {title: {text: 'Horsepower'}},
+      yaxis: {domain: [0.6, 1], title: {text: 'MPG'}},
+      dragmode: 'lasso',
+      hovermode: 'closest'
+    };
+
+    // Build Traces
+    var traces = [
+      {type: 'scatter',
+       x: horsepower,
+       y: mpg,
+       marker: {color: color,
+                colorscale: colorscale,
+                cmin: -0.5,
+                cmax: 2.5,
+                showscale: true,
+                colorbar: {tickvals: [0, 1, 2],
+                           ticktext: ['None', 'Red', 'Blue']}},
+       mode: 'markers',
+      },
+      {type: 'parcats',
+       domain: {y: [0, 0.4]},
+       dimensions:categoricalDimensions,
+       line: {
+         colorscale: colorscale,
+         cmin: -0.5,
+         cmax: 2.5,
+         color: color,
+         shape: 'hspline'},
+       labelfont: {size: 14}
+      }
+    ];
+
+    // Make plot
+    Plotly.newPlot('myDiv', traces, layout);
+
+    // Update color on selection and click
+    var update_color = function(points_data) {
+      var new_color = color;
+      var color_value = document.querySelector('input[name="rate"]:checked').value;
+      console.log(color_value);
+      var selection = []
+      for(var i = 0; i < points_data.points.length; i++) {
+        new_color[points_data.points[i].pointNumber] = color_value;
+        selection.push(points_data.points[i].pointNumber);
+      }
+
+      // Update selected points in scatter plot
+      Plotly.restyle'myDiv', {'marker.color': [new_color]}, 0)
+
+      // Update color of selected paths in parallel categories diagram
+      Plotly.restyle'myDiv',
+                     {'line.color': [new_color]}, 1)
+    };
+
+    gd.on('plotly_selected', update_color);
+    gd.on('plotly_click', update_color);
+  });
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/parallel-coordinates-plot/index.html b/docs/examples/parallel-coordinates-plot/index.html new file mode 100644 index 00000000000..c717be82f4d --- /dev/null +++ b/docs/examples/parallel-coordinates-plot/index.html @@ -0,0 +1,5075 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Coordinates Plot - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

parallel-coordinates-plot

+
+
+

+ adding-dimensions +

+
+

Parallel coordinates are richly interactive by default. Drag the lines along the axes to filter regions and drag the axis names across the plot to rearrange variables: IPython terminal

+
+
var trace = {
+  type: 'parcoords',
+  line: {
+    color: 'blue'
+  },
+
+  dimensions: [{
+    range: [1, 5],
+    constraintrange: [1, 2],
+    label: 'A',
+    values: [1,4]
+  }, {    
+    range: [1,5],
+    label: 'B',
+    values: [3,1.5],
+    tickvals: [1.5,3,4.5]
+  }, {
+    range: [1, 5],
+    label: 'C',
+    values: [2,4],
+    tickvals: [1,2,4,5],
+    ticktext: ['text 1','text 2','text 4','text 5']
+  }, {
+    range: [1, 5],
+    label: 'D',
+    values: [4,2]
+  }]
+};
+
+var data = [trace]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ basic-parallel-coordinates-plot +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/iris.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var data = [{
+  type: 'parcoords',
+  pad: [80,80,80,80],
+  line: {
+    color: unpack(rows, 'species_id'),
+    colorscale: [[0, 'red'], [0.5, 'green'], [1, 'blue']]
+  },
+
+  dimensions: [{
+    range: [2, 4.5],
+    label: 'sepal_width',
+    values: unpack(rows, 'sepal_width')
+  }, {
+    constraintrange: [5, 6],
+    range: [4,8],
+    label: 'sepal_length',
+    values: unpack(rows, 'sepal_length')
+  }, {
+    label: 'petal_width',
+    range: [0, 2.5],
+    values: unpack(rows, 'petal_width')
+  }, {
+    label: 'petal_length',
+    range: [1, 7],
+    values: unpack(rows, 'petal_length')
+  }]
+}];
+
+var layout = {
+  width: 800
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ annotated-parallel-coordinates-plot +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/iris-id.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var data = [{
+  type: 'parcoords',
+  pad: [80,80,80,80],
+  line: {
+    color: unpack(rows, 'species_id'),
+    colorscale: [[0, 'red'], [0.5, 'green'], [1, 'blue']]
+  },
+
+  dimensions: [{
+    range: [2, 4.5],
+    label: 'sepal_width',
+    values: unpack(rows, 'sepal_width')
+  }, {
+    constraintrange: [5, 6],
+    range: [4,8],
+    label: 'sepal_length',
+    values: unpack(rows, 'sepal_length')
+  }, {
+    label: 'petal_width',
+    range: [0, 2.5],
+    values: unpack(rows, 'petal_width')
+  }, {
+    label: 'petal_length',
+    range: [1, 7],
+    values: unpack(rows, 'petal_length')
+  }]
+}];
+
+var layout = {
+  width: 800,
+  annotations: [
+      {showarrow: false,
+      text: 'Higher sepal width',
+      x: 0, y: 1, xref: 'paper', yref: 'paper'},
+      {showarrow: false,
+      text: 'Lower petal width and length',
+      x: 0.9, y: .25, xref: 'paper', yref: 'paper'
+    }]
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ advanced-parallel-coordinates-plot +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/parcoords_data.csv', function(err, rows){
+
+function unpack(rows, key) {
+  return rows.map(function(row) {
+    return row[key];
+  });
+}
+
+var data = [{
+  type: 'parcoords',
+  line: {
+    showscale: true,
+    reversescale: true,
+    colorscale: 'Jet',
+    cmin: -4000,
+    cmax: -100,
+    color: unpack(rows, 'colorVal')
+  },
+
+  dimensions: [{
+    constraintrange: [100000, 150000],
+    range: [32000, 227900],
+    label: 'Block height',
+    values: unpack(rows, 'blockHeight')
+  }, {
+    range: [0, 700000],
+    label: 'Block width',
+    values: unpack(rows, 'blockWidth')
+  }, {
+    label: 'Cylinder material',
+    tickvals: [0, 0.5, 1, 2, 3],
+    ticktext: ['A', 'AB', 'B', 'Y', 'Z'],
+    values: unpack(rows, 'cycMaterial')
+  }, {
+    label: 'Block material',
+    tickvals: [0, 1, 2, 3],
+    range: [-1, 4],
+    values: unpack(rows, 'blockMaterial')
+  }, {
+    range: [134, 3154],
+    label: 'Total weight',
+    visible: true,
+    values: unpack(rows, 'totalWeight')
+  }, {
+    range: [9, 19984],
+    label: 'Assembly penalty weight',
+    values: unpack(rows, 'assemblyPW')
+  }, {
+    range: [49000, 568000],
+    label: 'Height st width',
+    values: unpack(rows, 'HstW')
+  }, {
+    range: [-28000, 196430],
+    label: 'Min height width',
+    values: unpack(rows, 'minHW')
+  }, {
+     range: [98453, 501789],
+     label: 'Min width diameter',
+     values: unpack(rows, 'minWD')
+  }, {
+    range: [1417, 107154],
+    label: 'RF block',
+    values: unpack(rows, 'rfBlock')
+  }]
+}];
+
+Plotly.newPlot('myDiv', data);
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/pie-charts/index.html b/docs/examples/pie-charts/index.html new file mode 100644 index 00000000000..ec2803583c3 --- /dev/null +++ b/docs/examples/pie-charts/index.html @@ -0,0 +1,5063 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Pie Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

pie-charts

+
+
+

+ basic-pie-chart +

+
+ +
+
var data = [{
+  values: [19, 26, 55],
+  labels: ['Residential', 'Non-Residential', 'Utility'],
+  type: 'pie'
+}];
+
+var layout = {
+  height: 400,
+  width: 500
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ pie-chart-subplots +

+
+

In order to create pie chart subplots, you need to use the domain attribute. domain allows you to place each trace on a grid of rows and columns defined in the layout or within a rectangle defined by X and Y arrays. The example below uses the grid method (with a 2 x 2 grid defined in the layout) for the first three traces and the X and Y method for the fourth trace.

+
+
var allLabels = ['1st', '2nd', '3rd', '4th', '5th'];
+
+var allValues = [
+  [38, 27, 18, 10, 7],
+  [28, 26, 21, 15, 10],
+  [38, 19, 16, 14, 13],
+  [31, 24, 19, 18, 8]
+];
+
+var ultimateColors = [
+  ['rgb(56, 75, 126)', 'rgb(18, 36, 37)', 'rgb(34, 53, 101)', 'rgb(36, 55, 57)', 'rgb(6, 4, 4)'],
+  ['rgb(177, 127, 38)', 'rgb(205, 152, 36)', 'rgb(99, 79, 37)', 'rgb(129, 180, 179)', 'rgb(124, 103, 37)'],
+  ['rgb(33, 75, 99)', 'rgb(79, 129, 102)', 'rgb(151, 179, 100)', 'rgb(175, 49, 35)', 'rgb(36, 73, 147)'],
+  ['rgb(146, 123, 21)', 'rgb(177, 180, 34)', 'rgb(206, 206, 40)', 'rgb(175, 51, 21)', 'rgb(35, 36, 21)']
+];
+
+var data = [{
+  values: allValues[0],
+  labels: allLabels,
+  type: 'pie',
+  name: 'Starry Night',
+  marker: {
+    colors: ultimateColors[0]
+  },
+  domain: {
+    row: 0,
+    column: 0
+  },
+  hoverinfo: 'label+percent+name',
+  textinfo: 'none'
+},{
+  values: allValues[1],
+  labels: allLabels,
+  type: 'pie',
+  name: 'Sunflowers',
+  marker: {
+    colors: ultimateColors[1]
+  },
+  domain: {
+    row: 1,
+    column: 0
+  },
+  hoverinfo: 'label+percent+name',
+  textinfo: 'none'
+},{
+  values: allValues[2],
+  labels: allLabels,
+  type: 'pie',
+  name: 'Irises',
+  marker: {
+    colors: ultimateColors[2]
+  },
+  domain: {
+    row: 0,
+    column: 1
+  },
+  hoverinfo: 'label+percent+name',
+  textinfo: 'none'
+},{
+  values: allValues[3],
+  labels: allLabels,
+  type: 'pie',
+  name: 'The Night Cafe',
+  marker: {
+    colors: ultimateColors[3]
+  },
+  domain: {
+    x: [0.52,1],
+    y: [0, 0.48]
+  },
+  hoverinfo: 'label+percent+name',
+  textinfo: 'none'
+}];
+
+var layout = {
+  height: 400,
+  width: 500,
+  grid: {rows: 2, columns: 2}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ donut-chart +

+
+ +
+
var data = [{
+  values: [16, 15, 12, 6, 5, 4, 42],
+  labels: ['US', 'China', 'European Union', 'Russian Federation', 'Brazil', 'India', 'Rest of World' ],
+  domain: {column: 0},
+  name: 'GHG Emissions',
+  hoverinfo: 'label+percent+name',
+  hole: .4,
+  type: 'pie'
+},{
+  values: [27, 11, 25, 8, 1, 3, 25],
+  labels: ['US', 'China', 'European Union', 'Russian Federation', 'Brazil', 'India', 'Rest of World' ],
+  text: 'CO2',
+  textposition: 'inside',
+  domain: {column: 1},
+  name: 'CO2 Emissions',
+  hoverinfo: 'label+percent+name',
+  hole: .4,
+  type: 'pie'
+}];
+
+var layout = {
+  title: {
+    text: 'Global Emissions 1990-2011'
+  },
+  annotations: [
+    {
+      font: {
+        size: 20
+      },
+      showarrow: false,
+      text: 'GHG',
+      x: 0.17,
+      y: 0.5
+    },
+    {
+      font: {
+        size: 20
+      },
+      showarrow: false,
+      text: 'CO2',
+      x: 0.82,
+      y: 0.5
+    }
+  ],
+  height: 400,
+  width: 600,
+  showlegend: false,
+  grid: {rows: 1, columns: 2}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ automatically-adjust-margins +

+
+

The following example sets automargin attribute to true, which automatically increases the margin size.

+
+
var data = [{
+  type: "pie",
+  values: [2, 3, 4, 4],
+  labels: ["Wages", "Operating expenses", "Cost of sales", "Insurance"],
+  textinfo: "label+percent",
+  textposition: "outside",
+  automargin: true
+}]
+
+var layout = {
+  height: 400,
+  width: 400,
+  margin: {"t": 0, "b": 0, "l": 0, "r": 0},
+  showlegend: false
+  }
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ control-text-orientation-inside-pie-chart-sectors +

+
+

The insidetextorientation attribute controls the orientation of the text inside chart sectors. When set to auto, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The horizontal option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The radial option orients text along the radius of the sector. The tangential option orients text perpendicular to the radius of the sector.

+
+
var data = [{
+  type: "pie",
+  values: [2, 3, 4, 4],
+  labels: ["Wages", "Operating expenses", "Cost of sales", "Insurance"],
+  textinfo: "label+percent",
+  insidetextorientation: "radial"
+}]
+
+var layout = [{
+  height: 700,
+  width: 700
+}]
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/plotlyjs-events/index.html b/docs/examples/plotlyjs-events/index.html new file mode 100644 index 00000000000..a242dcf76da --- /dev/null +++ b/docs/examples/plotlyjs-events/index.html @@ -0,0 +1,5155 @@ + + + + + + + + + + + + + + + + + + + + + + + Event Reference - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

plotlyjs-events

+
+
+

+ using-plotly.js-events +

+
+

Plotly graphs emit events prefixed with plotly_ (i.e. 'plotly_click', 'plotly_hover', 'plotly_relayout') when interacted with (clicked, hovered, zoomed). Event handlers can be bound to events using the .on method that is exposed by the plot div object.

+

In addition to the event handler, some events emit additional information about the point(s) or plot interacted with. The following documentation organizes Plotly events based on the accessible information emitted with the event: event data, update data, or no additional data. The following page provides a description and example of each Plotly event as well as the structure of the data or update returned with the event.

+
+
myDiv.on('plotly_event', function(){
+        // do something;
+    });
+
+ + +
+
+
+ +
+
+

+ simple-event-example +

+
+

Here's a simple example using a Plotly event. Click on a point on the chart below to see an alert triggered by the plotly_click event.

+
+
var myPlot = document.getElementById('myDiv'),
+    x = [1, 2, 3, 4, 5],
+    y = [10, 20, 30, 20, 10],
+    data = [{x:x, y:y, type:'scatter',
+             mode:'markers', marker:{size:20}
+            }],
+    layout = {hovermode:'closest',
+              title: {text: 'Click on Points'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_click', function(){
+    alert('You clicked this Plotly chart!');
+});
+
+ + + + + +
+
+
+ +
+
+

+ event-data +

+
+

Many Plotly events emit event data when the event is triggered. Event data is information about the data point related to the event (i.e. the point clicked).
+The following events emit event data: plotly_click, plotly_hover, plotly_unhover, plotly_selecting, and plotly_selected. +
Event data differs depending on the type of plot the user is interacting with. The event data structure for Cartesian (2D) plots, 3D plots, and maps can be found below, along with examples of each event.

+
+
// Cartesian
+{
+  points: [{
+    curveNumber: 1,  // index in data of the trace associated with the selected point
+    pointNumber: 1,  // index of the selected point
+    x: 1,        // x value
+    y: 1,      // y value
+    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point
+    fullData: {/* */},   // ref to the trace including all of the default attributes
+   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point
+   yaxis: {/* */}    // ref to y-axis object " "
+  }, {
+    /* similarly for other selected points */
+  }]
+}
+
+// Cartesian Histograms
+{
+  points: [{
+    curveNumber: 1,  // index in data of the trace associated with the selected point
+    pointNumbers: [1, 5, 28, 33, 41, ...],  // Array of indices of the points aggregated into selected bin
+    x: 1,        // x value
+    y: 45,      // y value
+    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point
+    fullData: {/* */},   // ref to the trace including all of the default attributes
+   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point
+   yaxis: {/* */}    // ref to y-axis object " "
+  }, {
+    /* similarly for other selected points */
+  }]
+}
+
+// 3D
+{
+  points: [{
+    curveNumber: 2,  // index in data of the trace associated with the selected point
+    pointNumber: 2,  // index of the selected point
+    x: 5,        // x value
+    y: 600,      // y value
+    z: 12,       // z value
+    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point
+    fullData: {/* */},   // ref to the trace including all of the default attributes
+   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point
+   yaxis: {/* */}    // ref to y-axis object " "
+   zaxis: {/* */}    // ref to z-axis object " "
+  }, {
+    /* similarly for other selected points */
+  }]
+}
+
+// Maps
+{
+  points: [{
+    curveNumber: 2,  // index in data of the trace associated with the selected point
+    pointNumber: 2,  // index of the selected point
+    lat: 50,        // latitude value
+    lon: -12,      // longitude value
+    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point
+    fullData: {/* */},   // ref to the trace including all of the default attributes
+    location:       //
+  }, {
+    /* similarly for other selected points */
+  }]
+}
+
+ + +
+
+
+ +
+
+

+ click-event +

+
+

Here's a simple example of using the data returned from the plotly_click event to restyle the graph. After creating a plot, we can change the color of the point clicked on by updating the marker.color array at the index of the point we clicked on then using Plotly.restyle() to apply the update. For more examples of using plotly_click events, see: https://plotly.com/javascript/click-events/

+
+
var myPlot = document.getElementById('myDiv'),
+    x = [1, 2, 3, 4, 5, 6],
+    y = [1, 2, 3, 2, 3, 4],
+    colors = ['#00000','#00000','#00000',
+              '#00000','#00000','#00000'],
+    data = [{x:x, y:y, type:'scatter',
+             mode:'markers', marker:{size:16, color:colors}}],
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Click on a Point to Change Color<br>Double Click (anywhere) to Change it Back'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_click', function(data){
+  var pn='',
+      tn='',
+      colors=[];
+  for(var i=0; i < data.points.length; i++){
+    pn = data.points[i].pointNumber;
+    tn = data.points[i].curveNumber;
+    colors = data.points[i].data.marker.color;
+  };
+  colors[pn] = '#C54C82';
+
+  var update = {'marker':{color: colors, size:16}};
+  Plotly.restyle('myDiv', update, [tn]);
+});
+
+ + + + + +
+
+
+ +
+
+

+ legend-click-events +

+
+

plotly_legendclick and plotly_legenddoubleclick allow customization of the plotly legend. The default behaviour of plotly_legendclick is to hide a trace and the default behavior of plotly_legenddoubleclick is to select one trace and hide all the others. +We can add to the default behaviour by creating a new plotly_legendclick event with a function of our choice. We can also disable the default behaviour by creating a function that returns false. In the example below, we do both in order to create a plotly_legendclick event which changes the marker color back to black instead of erasing the trace.

+
+
var myPlot = document.getElementById('myDiv'),
+    x = [1, 2, 3, 4, 5, 6],
+    y = [1, 2, 3, 2, 3, 4],
+    y2 = [1, 4, 7, 6, 1, 5],
+    colors = [['#5C636E','#5C636E','#5C636E','#5C636E','#5C636E','#5C636E'],
+              ['#393e46','#393e46','#393e46','#393e46','#393e46','#393e46']],
+    data = [{x:x, y:y, type:'scatter',
+             mode:'line', line:{ color:'#5C636E'},marker:{size:16, color:colors[0]}},
+            {x:x, y:y2, type:'scatter',
+             mode:'line',line:{ color:'#393e46'}, marker:{size:16, color:colors[1]}}],
+    layout = {
+        showlegend: true,
+        hovermode:'closest',
+        title: {text: 'Click on a Point to Change Color<br>Click on a Trace in the Legend to Change Back One Trace Only'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_click', function(data){
+  var pn='',
+      tn='',
+      colors=[];
+  for(var i=0; i < data.points.length; i++){
+    pn = data.points[i].pointNumber;
+    tn = data.points[i].curveNumber;
+    colors = data.points[i].data.marker.color;
+  };
+  colors[pn] = '#C54C82';
+  var update = {'marker':{color: colors, size:16}};
+  Plotly.restyle('myDiv', update,[tn]);
+});
+
+myPlot.on('plotly_legendclick', function(data){
+  var trColors = [['#5C636E','#5C636E','#5C636E','#5C636E','#5C636E','#5C636E'],
+              ['#393e46','#393e46','#393e46','#393e46','#393e46','#393e46']];
+  var update = {'marker':{color: trColors[data.curveNumber], size:16}};
+  Plotly.restyle('myDiv', update,[data.curveNumber]);
+  return false;
+});
+
+ + + + + +
+
+
+ +
+
+

+ hover-event +

+
+

Here's a simple example of using the data returned from the plotly_hover and plotly_unhover events to restyle the graph. After creating a plot, we can change the color of the point hovered on by updating the marker.color array at the index of the point we hovered on then using Plotly.restyle() to apply the update. Then we can use plotly_unhover to change the marker.color back to the original color. For more examples of using plotly_hover events, see: https://plotly.com/javascript/hover-events/

+
+
var myPlot = document.getElementById('myDiv'),
+    x = [1, 2, 3, 4, 5, 6, 7],
+    y = [1, 2, 3, 2, 3, 4, 3],
+    colors =['#00000','#00000','#00000',
+             '#00000','#00000','#00000',
+             '#00000'],
+    data = [{x:x, y:y,
+             type:'scatter',
+             mode:'markers', marker:{size:16, color:colors}}],
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Hover on a Point<br>to Change Color'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_hover', function(data){
+  var pn='',
+      tn='',
+      colors=[];
+  for(var i=0; i < data.points.length; i++){
+    pn = data.points[i].pointNumber;
+    tn = data.points[i].curveNumber;
+    colors = data.points[i].data.marker.color;
+  };
+  colors[pn] = '#C54C82';
+
+  var update = {'marker':{color: colors, size:16}};
+  Plotly.restyle('myDiv', update, [tn]);
+});
+
+myPlot.on('plotly_unhover', function(data){
+  var pn='',
+      tn='',
+      colors=[];
+  for(var i=0; i < data.points.length; i++){
+    pn = data.points[i].pointNumber;
+    tn = data.points[i].curveNumber;
+    colors = data.points[i].data.marker.color;
+  };
+  colors[pn] = '#00000';
+
+  var update = {'marker':{color: colors, size:16}};
+  Plotly.restyle('myDiv', update, [tn]);
+});
+
+ + + + + +
+
+
+ +
+
+

+ select-event +

+
+

Here's a simple example using the data returned from the plotly_selected event. plotly_selected returns event data for all points selected simultaneously. After creating a scatter plot with random data and two histograms that display the x and y distributions of that random data, we can select points by clicking and dragging on the plot. Upon plotly_selected the histograms will update to display the distribution of the x and y values of the selected points. The color of the scatter plot will be updated as well to highlight the selected points. For more examples of using plotly_selected and plotly_selecting events, see: https://plotly.com/javascript/lasso-selection/

+
+
var graphDiv = document.getElementById('myDiv');
+var N = 1000;
+var color1 = '#7b3294';
+var color1Light = '#c2a5cf';
+var colorX = '#ffa7b5';
+var colorY = '#fdae61';
+
+function randomArray() {
+  var out = new Array(N);
+  for(var i = 0; i < N; i++) {
+    out[i] = Math.random();
+  }
+  return out;
+}
+var x = randomArray();
+var y = randomArray();
+
+Plotly.newPlot(graphDiv, [{
+  type: 'scatter',
+  mode: 'markers',
+  x: x,
+  y: y,
+  xaxis: 'x',
+  yaxis: 'y',
+  name: 'random data',
+  marker: {color: color1, size: 10}
+}, {
+  type: 'histogram',
+  x: x,
+  xaxis: 'x2',
+  yaxis: 'y2',
+  name: 'x coord dist.',
+  marker: {color: colorX}
+}, {
+  type: 'histogram',
+  x: y,
+  xaxis: 'x3',
+  yaxis: 'y3',
+  name: 'y coord dist.',
+  marker: {color: colorY}
+}], {
+  title: {
+    text: 'Lasso around the scatter points to see sub-distributions'
+  },
+  dragmode: 'lasso',
+  xaxis: {
+    zeroline: false,
+  },
+  yaxis: {
+    domain: [0.55, 1],
+  },
+  xaxis2: {
+    domain: [0, 0.45],
+    anchor: 'y2',
+  },
+  yaxis2: {
+    domain: [0, 0.45],
+    anchor: 'x2'
+  },
+  xaxis3: {
+    domain: [0.55, 1],
+    anchor: 'y3'
+  },
+  yaxis3: {
+    domain: [0, 0.45],
+    anchor: 'x3'
+  }
+});
+
+graphDiv.on('plotly_selected', function(eventData) {
+  var x = [];
+  var y = [];
+
+  var colors = [];
+  for(var i = 0; i < N; i++) colors.push(color1Light);
+
+  eventData.points.forEach(function(pt) {
+    x.push(pt.x);
+    y.push(pt.y);
+    colors[pt.pointNumber] = color1;
+  });
+
+  Plotly.restyle(graphDiv, {
+    x: [x, y],
+    xbins: {}
+  }, [1, 2]);
+
+  Plotly.restyle(graphDiv, 'marker.color', [colors], [0]);
+});
+
+ + + + + +
+
+
+ +
+
+

+ update-data +

+
+

The following Plotly events emit update information when the event is triggered: plotly_restyle and plotly_relayout. +The update emitted with plotly_restyle is similar across plot types and includes an array containing an object of the newly updated +attributes and an array of the trace numbers that were updated.

+

For Cartesian (2D) plots, plotly_relayout emits only the xaxis and yaxis ranges which were directly changed by the triggering event. +For 3D plots, layout.scene.camera data is similarly emitted. +See the full structures below:

+
+
// plotly_restyle update
+[
+  {update},  // update object -- attribute updated: new value
+  [0]       // array of traces updated
+]
+
+// plotly_relayout update: Cartesian
+//// Upon resizing plot:
+{
+ xaxis.range[0]: , // new value if xaxis.range[0] was updated
+ xaxis.range[1]: ,
+ yaxis.range[0]: , // new value if yaxis.range[0] was updated
+ yaxis.range[1]:
+}
+//// Upon autosizing plot:
+{
+ xaxis.autorange: true,
+ yaxis.autorange: true
+}
+
+// plotly_relayout update: 3D
+// a subset of the following data will be emitted depending on
+// which attributes were changed by the triggering event.
+{
+  scene: {
+    center: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-center
+      x: 0,
+      y: 0,
+      z: 0
+    }
+  },
+  {
+    eye: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-eye
+      x: 1.25,
+      y: 1.25,
+      z: 1.25
+    }
+  }.
+  {
+    up: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-up
+      x: 0,
+      y: 0,
+      z: 1
+    }
+  }
+}
+
+ + +
+
+
+ +
+
+

+ additional-events +

+
+

The following Plotly events do not emit additional data or update information: plotly_webglcontextlost, plotly_afterplot, plotly_autosize, plotly_deselect, plotly_doubleclick, plotly_redraw, and plotly_animated. These event handlers can be used to notify or trigger an additional event with the following syntax:

+
+
function eventTriggeredHandler() {
+   /*  add your event triggered handler here */
+}
+
+myDiv.on('plotly_event', eventTriggeredHandler);
+
+ + +
+
+
+ +
+
+

+ webgl-context-lost-event +

+
+

Plotly graphs which use WebGL receive a "WebGL context" from the browser which gives them access to gpu resources. +A program may lose its WebGL context if the browser is overloaded with them and is forced to shut one down. +The event handler: plotly_webglcontextlost, can be used to trigger an event after a graph loses it's WebGL context.

+ + +
+
+
+ +
+
+

+ afterplot-event +

+
+

The event handler: plotly_afterplot, can be used to trigger an event each time a chart is plotted. This also includes re-plotting after the restyling or relayout of a plot. +Users also have the option of adding a post-plot handler to the plot call with the following syntax: Plotly.newPlot('myDiv', data, layout, config).then(postPlotHandler);

+

The simple example below logs a console message each time the chart is plotted. Zoom or pan on the graph below to trigger the plotly_afterplot handler.

+
+
var myPlot = document.getElementById('myDiv'),
+    N = 20,
+    x = d3.range(N),
+    y = d3.range(N).map( d3.random.normal() ),
+    data = [{x:x, y:y, type:'scatter',
+            mode:'markers', marker:{size:14}}
+           ];
+
+Plotly.newPlot('myDiv', data);
+
+myPlot.on('plotly_afterplot', function(){
+    console.log('done plotting');
+});
+
+ + + + + +
+
+
+ +
+
+

+ double-click-event +

+
+

In addition to plotly_click, plotly_doubleclick can be used as an event handle in Plotly charts as well. You may already be familiar with plotly_doubleclick if you regularly use Plotly's zoom and pan functionality, double clicking on the graph will restore the axes ranges after zooming into a specific area. Unlike plotly_click, a plotly_doubleclick is registered upon clicking anywhere on the graph (not just data points), therefore, plotly_doubleclick does not return data. In the following example, we'll build off of our plotly_click example, and reset the color of our data points upon double clicking anywhere on the graph.

+
+
var myPlot = document.getElementById('myDiv'),
+    x = [1, 2, 3, 4, 5, 6],
+    y = [1, 2, 3, 2, 3, 4],
+    colors = ['#00000','#00000','#00000',
+              '#00000','#00000','#00000'],
+    data = [{x:x, y:y, type:'scatter',
+             mode:'markers', marker:{size:16, color:colors}}],
+    layout = {
+        hovermode:'closest',
+        title: {text: 'Click on a Point to Change Color<br>Double Click (anywhere) to Change it Back'}
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_click', function(data){
+  var pn='',
+      tn='',
+      colors=[];
+  for(var i=0; i < data.points.length; i++){
+    pn = data.points[i].pointNumber;
+    tn = data.points[i].curveNumber;
+    colors = data.points[i].data.marker.color;
+  };
+  colors[pn] = '#C54C82';
+
+  var update = {'marker':{color: colors, size:16}};
+  Plotly.restyle('myDiv', update, [tn]);
+});
+
+myPlot.on('plotly_doubleclick', function(data){
+  var orgColors = ['#00000','#00000','#00000',
+                   '#00000','#00000','#00000'];
+  var update = {'marker':{color: orgColors, size:16}};
+  Plotly.restyle('myDiv', update);
+});
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/polar-chart/index.html b/docs/examples/polar-chart/index.html new file mode 100644 index 00000000000..0404b0f996c --- /dev/null +++ b/docs/examples/polar-chart/index.html @@ -0,0 +1,5949 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Polar Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

polar-chart

+
+
+

+ line-polar-plot +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/polar_dataset.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+var trace1 = {
+  r: unpack(rows, 'x1'),
+  theta: unpack(rows, 'y'),
+  mode: 'lines',
+  name: 'Figure8',
+  line: {color: 'peru'},
+  type: 'scatterpolar'
+};
+
+var trace2 = {
+  r: unpack(rows, 'x2'),
+  theta: unpack(rows, 'y'),
+  mode: 'lines',
+  name: 'Cardioid',
+  line: {color: 'darkviolet'},
+  type: 'scatterpolar'
+};
+
+var trace3 = {
+  r: unpack(rows, 'x3'),
+  theta: unpack(rows, 'y'),
+  mode: 'lines',
+  name: 'Hypercardioid',
+  line: {color: 'deepskyblue'},
+  type: 'scatterpolar'
+};
+
+var trace4 = {
+
+  r: unpack(rows, 'x4'),
+  theta: unpack(rows, 'y'),
+  mode: 'lines',
+  name: 'Subcardioid',
+  line: {color: 'orangered'},
+  type: 'scatterpolar'
+};
+
+var trace5 = {
+
+  r: unpack(rows, 'x5'),
+  theta: unpack(rows, 'y'),
+  mode: 'lines',
+  name: 'Supercardioid',
+  marker: {
+    color: 'none',
+    line: {color: 'green'}
+  },
+  type: 'scatterpolar'
+};
+
+var data = [trace1, trace2, trace3, trace4, trace5];
+
+var layout = {
+  title: {
+    text: 'Mic Patterns'
+  },
+  font: {
+    family: 'Arial, sans-serif;',
+    size: 12,
+    color: '#000'
+  },
+  showlegend: true,
+  orientation: -90
+};
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ area-polar-chart +

+
+ +
+
data = [
+  {
+    type: "scatterpolar",
+    mode: "lines",
+    r: [0, 1.5, 1.5, 0, 2.5, 2.5, 0],
+    theta: [0, 10, 25, 0, 205, 215, 0],
+    fill: "toself",
+    fillcolor: '#709BFF',
+    line: {
+      color: 'black'
+    }
+  },
+  {
+    type: "scatterpolar",
+    mode: "lines",
+    r: [0, 3.5, 3.5, 0],
+    theta: [0, 55, 75, 0],
+    fill: "toself",
+    fillcolor: '#E4FF87',
+    line: {
+      color: 'black'
+    }
+  },
+  {
+    type: "scatterpolar",
+    mode: "lines",
+    r: [0, 4.5, 4.5, 0, 4.5, 4.5, 0],
+    theta: [0, 100, 120, 0, 305, 320, 0],
+    fill: "toself",
+    fillcolor: '#FFAA70',
+    line: {
+      color: 'black'
+    }
+  },
+  {
+    type: "scatterpolar",
+    mode: "lines",
+    r: [0, 4, 4, 0],
+    theta: [0, 165, 195, 0],
+    fill: "toself",
+    fillcolor: '#FFDF70',
+    line: {
+      color: 'black'
+    }
+  },
+  {
+    type: "scatterpolar",
+    mode: "lines",
+    r: [0, 3, 3, 0],
+    theta: [0, 262.5, 277.5, 0],
+    fill: "toself",
+    fillcolor: '#B6FFB4',
+    line: {
+      color: 'black'
+    }
+  }
+]
+
+layout = {
+  polar: {
+    radialaxis: {
+      visible: true,
+      range: [0, 5]
+    }
+  },
+  showlegend: false
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ categorical-polar-chart +

+
+ +
+
var data = [
+    {
+      type: "scatterpolar",
+      name: "angular categories",
+      r: [5, 4, 2, 4, 5],
+      theta: ["a", "b", "c", "d", "a"],
+      fill: "toself"
+    },
+    {
+      type: "scatterpolar",
+      name: "radial categories",
+      r: ["a", "b", "c", "d", "b", "f", "a"],
+      theta: [1, 4, 2, 1.5, 1.5, 6, 5],
+      thetaunit: "radians",
+      fill: "toself",
+      subplot: "polar2"
+    },
+    {
+      type: "scatterpolar",
+      name: "angular categories (w/ categoryarray)",
+      r: [5, 4, 2, 4, 5],
+      theta: ["a", "b", "c", "d", "a"],
+      fill: "toself",
+      subplot: "polar3"
+    },
+    {
+      type: "scatterpolar",
+      name: "radial categories (w/ category descending)",
+      r: ["a", "b", "c", "d", "b", "f", "a", "a"],
+      theta: [45, 90, 180, 200, 300, 15, 20, 45],
+      fill: "toself",
+      subplot: "polar4"
+    },
+    {
+      type: "scatterpolar",
+      name: "angular categories (w/ extra category)",
+      r: [5, 4, 2, 4, 5, 5],
+      theta: ["b", "c", "d", "e", "a", "b"],
+      fill: "toself"
+    }
+  ]
+
+var layout = {
+    polar: {
+      domain: {
+        x: [0, 0.46],
+        y: [0.56, 1]
+      },
+      radialaxis: {
+        angle: 45
+      },
+      angularaxis: {
+        direction: "clockwise",
+        period: 6
+      }
+    },
+    polar2: {
+      domain: {
+        x: [0, 0.46],
+        y: [0, 0.44]
+      },
+      radialaxis: {
+        angle: 180,
+        tickangle: -180
+      }
+    },
+    polar3: {
+      domain: {
+        x: [0.54, 1],
+        y: [0.56, 1]
+      },
+      sector: [150, 400],
+      radialaxis: {
+        angle: -45
+      },
+      angularaxis: {
+        categoryarray: ["d", "a", "c", "b"]
+      }
+    },
+    polar4: {
+      domain: {
+        x: [0.54, 1],
+        y: [0, 0.44]
+      },
+      radialaxis: {
+        categoryorder: "category descending"
+      },
+      angularaxis: {
+        thetaunit: "radians",
+        dtick: 0.3141592653589793
+      }
+    }
+  }
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ polar-chart-directions +

+
+ +
+
var data = [
+    {
+      type: "scatterpolar",
+      mode: "lines+markers",
+      r: [1,2,3,4,5],
+      theta: [0,90,180,360,0],
+      line: {
+        color: "#ff66ab"
+      },
+      marker: {
+        color: "#8090c7",
+        symbol: "square",
+        size: 8
+      },
+      subplot: "polar"
+    },
+    {
+      type: "scatterpolar",
+      mode: "lines+markers",
+      r: [1,2,3,4,5],
+      theta: [0,90,180,360,0],
+      line: {
+        color: "#ff66ab"
+      },
+      marker: {
+        color: "#8090c7",
+        symbol: "square",
+        size: 8
+      },
+      subplot: "polar2"
+    }
+  ]
+
+var layout = {
+    showlegend: false,
+    polar: {
+      domain: {
+        x: [0,0.4],
+        y: [0,1]
+      },
+      radialaxis: {
+        tickfont: {
+          size: 8
+        }
+      },
+      angularaxis: {
+        tickfont: {
+          size: 8
+        },
+        rotation: 90,
+        direction: "counterclockwise"
+      }
+    },
+    polar2: {
+      domain: {
+        x: [0.6,1],
+        y: [0,1]
+      },
+      radialaxis: {
+        tickfont: {
+          size: 8
+        }
+      },
+      angularaxis: {
+        tickfont: {
+          size: 8
+        },
+        direction: "clockwise"
+      }
+    }
+  }
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ polar-chart-sector +

+
+ +
+
var data = [
+    {
+      type: "scatterpolar",
+      mode: "lines+markers",
+      r: [1,2,3,4,5],
+      theta: [0,90,180,360,0],
+      line: {
+        color: "#ff66ab"
+      },
+      marker: {
+        color: "#8090c7",
+        symbol: "square",
+        size: 8
+      },
+      subplot: "polar"
+    },
+    {
+      type: "scatterpolar",
+      mode: "lines+markers",
+      r: [1,2,3,4,5],
+      theta: [0,90,180,360,0],
+      line: {
+        color: "#ff66ab"
+      },
+      marker: {
+        color: "#8090c7",
+        symbol: "square",
+        size: 8
+      },
+      subplot: "polar2"
+    }
+  ]
+
+var layout = {
+    showlegend: false,
+    polar: {
+        sector: [145,215],
+      domain: {
+        x: [0,0.4],
+        y: [0,1]
+      },
+      radialaxis: {
+        tickfont: {
+          size: 8
+        }
+      },
+      angularaxis: {
+        tickfont: {
+          size: 8
+        }
+      }
+    },
+    polar2: {
+      domain: {
+        x: [0.6,1],
+        y: [0,1]
+      },
+      radialaxis: {
+        tickfont: {
+          size: 8
+        }
+      },
+      angularaxis: {
+        tickfont: {
+          size: 8
+        }
+      }
+    }
+  }
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ polar-chart-subplots +

+
+ +
+
var data = [{
+    type: "scatterpolargl",
+    r: [1, 2, 3],
+    theta: [50, 100, 200],
+    marker: {symbol: "square"}
+  }, {
+    type: "scatterpolargl",
+    r: [1, 2, 3],
+    theta: [1, 2, 3],
+    thetaunit: "radians"
+  }, {
+    type: "scatterpolargl",
+    r: ["a", "b", "c", "b"],
+    theta: ["D", "C", "B", "A"],
+    subplot: "polar2"
+  }, {
+    type: "scatterpolargl",
+    r: [50, 300, 900],
+    theta: [0, 90, 180],
+    subplot: "polar3"
+  }, {
+    type: "scatterpolargl",
+    mode: "lines",
+    r: [3, 3, 4, 3],
+    theta: [0, 45, 90, 270],
+    fill: "toself",
+    subplot: "polar4"
+  }]
+
+var layout =  {
+    polar: {
+      domain: {
+        x: [0, 0.46],
+        y: [0.56, 1]
+      },
+      radialaxis: {
+        range: [1, 4]
+      },
+      angularaxis: {
+        thetaunit: "radians"
+      }
+    },
+    polar2: {
+      domain: {
+        x: [0, 0.46],
+        y: [0, 0.42]
+      }
+    },
+    polar3: {
+      domain: {
+        x: [0.54, 1],
+        y: [0.56, 1]
+      },
+      radialaxis: {
+        type: "log",
+        tickangle: 45
+      },
+      sector: [0, 180]
+    },
+    polar4: {
+      domain: {
+        x: [0.54, 1],
+        y: [0, 0.44]
+      },
+      radialaxis: {
+          visible: false,
+          range: [0, 6]
+      }
+    },
+    showlegend: false
+  }
+
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ webgl-polar-chart +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/hobbs-pearson-trials.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+var data = [
+    {
+      type: "scatterpolargl",
+      r: unpack(rows, 'trial_1_r'),
+      theta: unpack(rows, 'trial_1_theta'),
+      mode: "markers",
+      name: "Trial 1",
+      marker: {
+        color: "rgb(27,158,119)",
+        size: 15,
+        line: {
+          color: "white"
+        },
+        opacity: 0.7
+      },
+      cliponaxis: false
+    },
+    {
+      type: "scatterpolargl",
+      r: unpack(rows, "trial_2_r"),
+      theta: unpack(rows, "trial_2_theta"),
+      mode: "markers",
+      name: "Trial 2",
+      marker: {
+        color: "rgb(217,95,2)",
+        size: 20,
+        line: {
+          color: "white"
+        },
+        "opacity": 0.7
+      },
+      "cliponaxis": false
+    },
+    {
+      type: "scatterpolargl",
+      r: unpack(rows, "trial_3_r"),
+      theta: unpack(rows, "trial_3_theta"),
+      mode: "markers",
+      name: "Trial 3",
+      marker: {
+        color: "rgb(117,112,179)",
+        size: 12,
+        line: {
+          color: "white"
+        },
+        opacity: 0.7
+      },
+      cliponaxis: false
+    },
+    {
+      type: "scatterpolargl",
+      r: unpack(rows, "trial_4_r"),
+      theta: unpack(rows, "trial_4_theta"),
+      mode: "markers",
+      name: "Trial 4",
+      marker: {
+        color: "rgb(231,41,138)",
+        size: 22,
+        line: {
+          color: "white"
+        },
+        opacity: 0.7
+      },
+      cliponaxis: false
+    },
+    {
+      type: "scatterpolargl",
+      r: unpack(rows, "trial_5_r"),
+      theta: unpack(rows, "trial_5_theta"),
+      mode: "markers",
+      name: "Trial 5",
+      marker: {
+        color: "rgb(102,166,30)",
+        size: 19,
+        line: {
+          color: "white"
+        },
+        opacity: 0.7
+      },
+      cliponaxis: false
+    },
+    {
+      type: "scatterpolargl",
+      r: unpack(rows, "trial_6_r"),
+      theta: unpack(rows, "trial_6_theta"),
+      mode: "markers",
+      name: "Trial 6",
+      marker: {
+        color: "rgb(230,171,2)",
+        size: 10,
+        line: {
+          color: "white"
+        },
+        opacity: 0.7
+      },
+      cliponaxis: false
+    }
+  ]
+
+var layout = {
+    title: {
+      text: "Hobbs-Pearson Trials"
+    },
+    font: {
+      size: 15
+    },
+    showlegend: false,
+    polar: {
+      bgcolor: "rgb(223, 223, 223)",
+      angularaxis: {
+        tickwidth: 2,
+        linewidth: 3,
+        layer: "below traces"
+      },
+      radialaxis: {
+        side: "counterclockwise",
+        showline: true,
+        linewidth: 2,
+        tickwidth: 2,
+        gridcolor: "white",
+        gridwidth: 2
+      }
+    },
+    paper_bgcolor: "rgb(223, 223, 223)",
+  }
+
+Plotly.newPlot('myDiv', data, layout);
+})
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/radar-chart/index.html b/docs/examples/radar-chart/index.html new file mode 100644 index 00000000000..6dd097df6fa --- /dev/null +++ b/docs/examples/radar-chart/index.html @@ -0,0 +1,4710 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Radar Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

radar-chart

+
+
+

+ basic-radar-chart +

+
+ +
+
data = [{
+  type: 'scatterpolar',
+  r: [39, 28, 8, 7, 28, 39],
+  theta: ['A','B','C', 'D', 'E', 'A'],
+  fill: 'toself'
+}]
+
+layout = {
+  polar: {
+    radialaxis: {
+      visible: true,
+      range: [0, 50]
+    }
+  },
+  showlegend: false
+}
+
+Plotly.newPlot("myDiv", data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-trace-radar-chart +

+
+ +
+
data = [
+  {
+  type: 'scatterpolar',
+  r: [39, 28, 8, 7, 28, 39],
+  theta: ['A','B','C', 'D', 'E', 'A'],
+  fill: 'toself',
+  name: 'Group A'
+  },
+  {
+  type: 'scatterpolar',
+  r: [1.5, 10, 39, 31, 15, 1.5],
+  theta: ['A','B','C', 'D', 'E', 'A'],
+  fill: 'toself',
+  name: 'Group B'
+  }
+]
+
+layout = {
+  polar: {
+    radialaxis: {
+      visible: true,
+      range: [0, 50]
+    }
+  }
+}
+
+Plotly.newPlot("myDiv", data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/range-slider/index.html b/docs/examples/range-slider/index.html new file mode 100644 index 00000000000..631dfd532d8 --- /dev/null +++ b/docs/examples/range-slider/index.html @@ -0,0 +1,4643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Range Slider and Selector - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

range-slider

+
+
+

+ basic-range-slider-on-time-series +

+
+ +
+
var rawDataURL = 'https://raw.githubusercontent.com/plotly/datasets/master/2016-weather-data-seattle.csv';
+var xField = 'Date';
+var yField = 'Mean_TemperatureC';
+
+var selectorOptions = {
+    buttons: [{
+        step: 'month',
+        stepmode: 'backward',
+        count: 1,
+        label: '1m'
+    }, {
+        step: 'month',
+        stepmode: 'backward',
+        count: 6,
+        label: '6m'
+    }, {
+        step: 'year',
+        stepmode: 'todate',
+        count: 1,
+        label: 'YTD'
+    }, {
+        step: 'year',
+        stepmode: 'backward',
+        count: 1,
+        label: '1y'
+    }, {
+        step: 'all',
+    }],
+};
+
+d3.csv(rawDataURL, function(err, rawData) {
+    if(err) throw err;
+
+    var data = prepData(rawData);
+    var layout = {
+        title: {
+            text: 'Time series with range slider and selectors'
+        },
+        xaxis: {
+            rangeselector: selectorOptions,
+            rangeslider: {}
+        },
+        yaxis: {
+            fixedrange: true
+        }
+    };
+
+    Plotly.newPlot('myDiv', data, layout);
+});
+
+function prepData(rawData) {
+    var x = [];
+    var y = [];
+
+    rawData.forEach(function(datum, i) {
+
+        x.push(new Date(datum[xField]));
+        y.push(datum[yField]);
+    });
+
+    return [{
+        mode: 'lines',
+        x: x,
+        y: y
+    }];
+}
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/react/index.html b/docs/examples/react/index.html new file mode 100644 index 00000000000..40ddbab5ebe --- /dev/null +++ b/docs/examples/react/index.html @@ -0,0 +1,4667 @@ + + + + + + + + + + + + + + + + + + + + + + + + + React Plotly.js - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

react

+
+
+

+ introduction +

+
+

Use react-plotly.js to embed D3 charts in your React-powered web application. This React component takes the chart type, data, and styling as Plotly JSON in its data and layout props, then draws the chart using Plotly.js. See below about how to get started with react-plotly.js.

+ + +
+
+
+ +
+
+

+ installation +

+
+ +
+
$ npm install react-plotly.js plotly.js
+
+ + +
+
+
+ +
+
+

+ quick-start +

+
+

The easiest way to use this component is to import and pass data to a plot component:

+
+
import React from 'react';
+import Plot from 'react-plotly.js';
+
+class App extends React.Component {
+  render() {
+    return (
+      <Plot
+        data={[
+          {
+            x: [1, 2, 3],
+            y: [2, 6, 3],
+            type: 'scatter',
+            mode: 'lines+markers',
+            marker: {color: 'red'},
+          },
+          {type: 'bar', x: [1, 2, 3], y: [2, 5, 3]},
+        ]}
+        layout={ {width: 320, height: 240, title: {text: 'A Fancy Plot'}} }
+      />
+    );
+  }
+}
+
+ + + + + +
+
+
+ +
+
+

+ advanced-usage +

+
+

For information on more advanced usage patterns such as State Management or Customizing the plotly.js bundle please see the ReadMe for react-plotly.js.

+ + +
+
+
+ +
+
+

+ props-and-events +

+
+

More information about Props and Event Handlers can be found in the ReadMe for react-plotly.js.

+ + +
+
+
+ +
+
+

+ plotly.js-chart-types-and-attributes +

+
+

Click here for more information about Plotly Chart Types and Attributes.

+ + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/remove-trace/index.html b/docs/examples/remove-trace/index.html new file mode 100644 index 00000000000..6778fb5f591 --- /dev/null +++ b/docs/examples/remove-trace/index.html @@ -0,0 +1,4609 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Remove Trace from Plot - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

remove-trace

+
+
+

+ remove-trace +

+
+ +
+
function plotGraph(){
+var trace1 = {
+  x: [1, 2, 3, 4],
+  y: [10, 15, 13, 17],
+  type: 'scatter',
+  line: {
+    color: 'rgb(55, 128, 191)',
+  }
+};
+
+var trace2 = {
+  x: [1, 2, 3, 4],
+  y: [16, 5, 11, 9],
+  type: 'scatter',
+  line: {
+    color: 'rgb(255,140,0)',
+  }
+};
+
+var layout = {
+  title: {text: 'Click Buttons to Delete Traces'},
+  showlegend:false
+};
+
+var data = [trace1, trace2];
+
+Plotly.newPlot('myDiv', data, layout);
+}
+
+function deleteTrace(divId){
+  Plotly.deleteTraces('myDiv', 0);
+};
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/responsive-fluid-layout/index.html b/docs/examples/responsive-fluid-layout/index.html new file mode 100644 index 00000000000..153cf579715 --- /dev/null +++ b/docs/examples/responsive-fluid-layout/index.html @@ -0,0 +1,4637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Responsive / Fluid Layouts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

responsive-fluid-layout

+
+
+

+ responsive-plots +

+
+

If you set the responsive attribute equal to true (using the config object), then your figures will be automatically resized when the browser window size changes. This is an especially useful feature for charts which are going to viewed on mobile devices!

+
+
var trace1 = {
+  type: 'bar',
+  x: [1, 2, 3, 4],
+  y: [5, 10, 2, 8],
+  marker: {
+      color: '#C8A2C8',
+      line: {
+          width: 2.5
+      }
+  }
+};
+
+var data = [ trace1 ];
+
+var layout = {
+  title: {
+    text: 'Responsive to window\'s size!'
+  },
+  font: {size: 18}
+};
+
+var config = {responsive: true}
+
+Plotly.newPlot('myDiv', data, layout, config );
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/ribbon-plots/index.html b/docs/examples/ribbon-plots/index.html new file mode 100644 index 00000000000..4f88f4d10bf --- /dev/null +++ b/docs/examples/ribbon-plots/index.html @@ -0,0 +1,4722 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Ribbon Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

ribbon-plots

+
+
+

+ basic-ribbon-plot +

+
+ +
+
d3.json('https://raw.githubusercontent.com/plotly/datasets/master/3d-ribbon.json', function(figure){
+
+  var trace1 = {
+    x:figure.data[0].x, y:figure.data[0].y, z:figure.data[0].z,
+    name: '',
+    colorscale: figure.data[0].colorscale,
+    type: 'surface',
+    showscale: false
+  }
+  var trace2 = {
+    x:figure.data[1].x, y:figure.data[1].y, z:figure.data[1].z,
+    name: '',
+    colorscale: figure.data[1].colorscale,
+    type: 'surface',
+    showscale: false
+  }
+  var trace3 = {
+    x:figure.data[2].x, y:figure.data[2].y, z:figure.data[2].z,
+    colorscale: figure.data[2].colorscale,
+    type: 'surface',
+    showscale: false
+  }
+  var trace4 = {
+    x:figure.data[3].x, y:figure.data[3].y, z:figure.data[3].z,
+    colorscale: figure.data[3].colorscale,
+    type: 'surface',
+    showscale: false
+  }
+  var trace5 = {
+    x:figure.data[4].x, y:figure.data[4].y, z:figure.data[4].z,
+    colorscale: figure.data[4].colorscale,
+    type: 'surface',
+    showscale: false
+  }
+  var trace6 = {
+    x:figure.data[5].x, y:figure.data[5].y, z:figure.data[5].z,
+    colorscale: figure.data[5].colorscale,
+    type: 'surface',
+    showscale: false
+  }
+  var trace7 = {
+    x:figure.data[6].x, y:figure.data[6].y, z:figure.data[6].z,
+    name: '',
+    colorscale: figure.data[6].colorscale,
+    type: 'surface',
+    showscale: false
+  }
+
+  var data = [trace1, trace2, trace3, trace4, trace5, trace6, trace7];
+
+  var layout = {
+    title: {
+      text: 'Ribbon Plot'
+    },
+    showlegend: false,
+    autosize: true,
+    width: 600,
+    height: 600,
+    scene: {
+      xaxis: {title: {text: 'Sample #'}},
+      yaxis: {title: {text: 'Wavelength'}},
+      zaxis: {title: {text: 'OD'}}
+    }
+  };
+  Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/sankey-diagram/index.html b/docs/examples/sankey-diagram/index.html new file mode 100644 index 00000000000..34281437a93 --- /dev/null +++ b/docs/examples/sankey-diagram/index.html @@ -0,0 +1,5211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sankey Diagram - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

sankey-diagram

+
+
+

+ basic-sankey-diagram +

+
+ +
+
var data = {
+  type: "sankey",
+  orientation: "h",
+  node: {
+    pad: 15,
+    thickness: 30,
+    line: {
+      color: "black",
+      width: 0.5
+    },
+   label: ["A1", "A2", "B1", "B2", "C1", "C2"],
+   color: ["blue", "blue", "blue", "blue", "blue", "blue"]
+      },
+
+  link: {
+    source: [0,1,0,2,3,3],
+    target: [2,3,3,4,4,5],
+    value:  [8,4,2,8,4,2]
+  }
+}
+
+var data = [data]
+
+var layout = {
+  title: {
+    text: "Basic Sankey"
+  },
+  font: {
+    size: 10
+  }
+}
+
+Plotly.react('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ create-sankey-canvas +

+
+ +
+
var data = {
+  type: "sankey",
+  domain: {
+    x: [0,1],
+    y: [0,1]
+  },
+  orientation: "h",
+  valueformat: ".0f",
+  valuesuffix: "TWh"
+}
+
+var data = [data]
+
+var layout = {
+  title: {
+    text: "Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>"
+  },
+  width: 1118,
+  height: 772,
+  font: {
+    size: 10
+  }
+}
+
+ + +
+
+
+ +
+
+

+ add-nodes +

+
+ +
+
d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json', function(fig){
+
+var data = {
+  type: "sankey",
+  domain: {
+    x: [0,1],
+    y: [0,1]
+  },
+  orientation: "h",
+  valueformat: ".0f",
+  valuesuffix: "TWh",
+
+  node: {
+    pad: 15,
+    thickness: 15,
+    line: {
+      color: "black",
+      width: 0.5
+    },
+   label: fig.data[0].node.label,
+   color: fig.data[0].node.color
+      }
+}
+
+var data = [data]
+
+var layout = {
+  title: {
+    text: "Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>"
+  },
+  width: 1118,
+  height: 772,
+  font: {
+    size: 10
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+ +
+ +
+
d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json', function(fig){
+
+var data = {
+  type: "sankey",
+  domain: {
+    x: [0,1],
+    y: [0,1]
+  },
+  orientation: "h",
+  valueformat: ".0f",
+  valuesuffix: "TWh",
+  node: {
+    pad: 15,
+    thickness: 15,
+    line: {
+      color: "black",
+      width: 0.5
+    },
+   label: fig.data[0].node.label,
+   color: fig.data[0].node.color
+      },
+
+  link: {
+    source: fig.data[0].link.source,
+    target: fig.data[0].link.target,
+    value: fig.data[0].link.value,
+    label: fig.data[0].link.label
+  }
+}
+
+var data = [data]
+
+var layout = {
+  title: {
+    text: "Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>"
+  },
+  width: 1118,
+  height: 772,
+  font: {
+    size: 10
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout)
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ style-sankey-diagram +

+
+ +
+
d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy_dark.json', function(fig){
+
+var data = {
+  type: "sankey",
+  domain: {
+    x: [0,1],
+    y: [0,1]
+  },
+  orientation: "h",
+  valueformat: ".0f",
+  valuesuffix: "TWh",
+  node: {
+    pad: 15,
+    thickness: 15,
+    line: {
+      color: "black",
+      width: 0.5
+    },
+   label: fig.data[0].node.label,
+   color: fig.data[0].node.color
+      },
+  link: {
+    source: fig.data[0].link.source,
+    target: fig.data[0].link.target,
+    value: fig.data[0].link.value,
+    label: fig.data[0].link.label
+  }
+}
+
+var data = [data]
+
+var layout = {
+  title: {
+    text: "Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>"
+  },
+  width: 1118,
+  height: 772,
+  font: {
+    size: 10,
+    color: 'white'
+  },
+  plot_bgcolor: 'black',
+  paper_bgcolor: 'black'
+}
+
+Plotly.newPlot('myDiv', data, layout)
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ define-node-position +

+
+

The following example sets node.x and node.y to place nodes in the specified locations, except in the snap arrangement (default behaviour when node.x and node.y are not defined) to avoid overlapping of the nodes, therefore, an automatic snapping of elements will be set to define the padding between nodes via nodepad. The other possible arrangements are: 1) perpendicular 2) freeform 3) fixed

+
+
var data = [{
+  type: "sankey",
+    arrangement: "snap",
+    node:{
+        label: ["A", "B", "C", "D", "E", "F"],
+        x: [0.2, 0.1, 0.5, 0.7, 0.3, 0.5],
+        y: [0.7, 0.5, 0.2, 0.4, 0.2, 0.3],
+        pad:10}, // 10 Pixels
+    link: {
+        source: [0, 0, 1, 2, 5, 4, 3, 5],
+        target: [5, 3, 4, 3, 0, 2, 2, 3],
+        value: [1, 2, 1, 1, 1, 1, 1, 2]}
+    }]
+
+var layout = {
+  title: {
+    text: "Sankey with manually positioned node"
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ node-alignment +

+
+

You can set the alignment of nodes using node.align. In this example, we align nodes to the "right". node.align can also be set to "left", "center", or "justify". The default is "justify" if `node.align is not set, and is similar to aligning to the "left", except that nodes without outgoing links are moved to the right of the figure.

+
+
var data = {
+  type: "sankey",
+  orientation: "h",
+  node: {
+    label: ["0", "1", "2", "3", "4", "5"],
+    align: "right",
+  },
+
+  link: {
+    source: [0, 1, 4, 2, 1],
+    target: [1, 4, 5, 4, 3],
+    value: [4, 2, 3, 1, 2],
+  },
+};
+
+var data = [data];
+
+var layout = {
+  title: {
+    text: "Align Nodes (Right)"
+  },
+  font: {
+    size: 10,
+  },
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/scatter-plots-on-maps/index.html b/docs/examples/scatter-plots-on-maps/index.html new file mode 100644 index 00000000000..29eee1cb878 --- /dev/null +++ b/docs/examples/scatter-plots-on-maps/index.html @@ -0,0 +1,5039 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Scatter Plots on Maps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scatter-plots-on-maps

+
+
+

+ canadian-cities-map +

+
+ +
+
var data = [{
+    type: 'scattergeo',
+    mode: 'markers+text',
+    text: [
+        'Montreal', 'Toronto', 'Vancouver', 'Calgary', 'Edmonton',
+        'Ottawa', 'Halifax', 'Victoria', 'Winnepeg', 'Regina'
+    ],
+    lon: [
+        -73.57, -79.24, -123.06, -114.1, -113.28,
+        -75.43, -63.57, -123.21, -97.13, -104.6
+    ],
+    lat: [
+        45.5, 43.4, 49.13, 51.1, 53.34, 45.24,
+        44.64, 48.25, 49.89, 50.45
+    ],
+    marker: {
+        size: 7,
+        color: [
+            '#bebada', '#fdb462', '#fb8072', '#d9d9d9', '#bc80bd',
+            '#b3de69', '#8dd3c7', '#80b1d3', '#fccde5', '#ffffb3'
+        ],
+        line: {
+            width: 1
+        }
+    },
+    name: 'Canadian cities',
+    textposition: [
+        'top right', 'top left', 'top center', 'bottom right', 'top right',
+        'top left', 'bottom right', 'bottom left', 'top right', 'top right'
+    ],
+}];
+
+var layout = {
+    title: {
+        text: 'Canadian cities',
+        font: {
+            family: 'Droid Serif, serif',
+            size: 16
+        }
+    },
+    geo: {
+        scope: 'north america',
+        resolution: 50,
+        lonaxis: {
+            'range': [-130, -55]
+        },
+        lataxis: {
+            'range': [40, 70]
+        },
+        showrivers: true,
+        rivercolor: '#fff',
+        showlakes: true,
+        lakecolor: '#fff',
+        showland: true,
+        landcolor: '#EAEAAE',
+        countrycolor: '#d3d3d3',
+        countrywidth: 1.5,
+        subunitcolor: '#d3d3d3'
+    }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ us-airports-map +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_february_us_airport_traffic.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });
+    }
+
+    var scl = [[0,'rgb(5, 10, 172)'],[0.35,'rgb(40, 60, 190)'],[0.5,'rgb(70, 100, 245)'], [0.6,'rgb(90, 120, 245)'],[0.7,'rgb(106, 137, 247)'],[1,'rgb(220, 220, 220)']];
+
+    var data = [{
+        type:'scattergeo',
+        locationmode: 'USA-states',
+        lon: unpack(rows, 'long'),
+        lat: unpack(rows, 'lat'),
+        hoverinfor:  unpack(rows, 'airport'),
+        text:  unpack(rows, 'airport'),
+        mode: 'markers',
+        marker: {
+            size: 8,
+            opacity: 0.8,
+            reversescale: true,
+            autocolorscale: false,
+            symbol: 'square',
+            line: {
+                width: 1,
+                color: 'rgb(102,102,102)'
+            },
+            colorscale: scl,
+            cmin: 0,
+            color: unpack(rows, 'cnt'),
+            colorbar: {
+                title: {text: 'Incoming Flights February 2011'}
+            }
+        }
+    }];
+
+
+    var layout = {
+        title: {text: 'Most Trafficked US airports'},
+        colorbar: true,
+        geo: {
+            scope: 'usa',
+            projection: {
+                type: 'albers usa'
+            },
+            showland: true,
+            landcolor: 'rgb(250,250,250)',
+            subunitcolor: 'rgb(217,217,217)',
+            countrycolor: 'rgb(217,217,217)',
+            countrywidth: 0.5,
+            subunitwidth: 0.5
+        }
+    };
+
+    Plotly.newPlot("myDiv", data, layout, {showLink: false});
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ north-america-precipitation-map +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+ scl = [[0, 'rgb(150,0,90)'],[0.125, 'rgb(0, 0, 200)'],[0.25,'rgb(0, 25, 255)'],[0.375,'rgb(0, 152, 255)'],[0.5,'rgb(44, 255, 150)'],[0.625,'rgb(151, 255, 0)'],[0.75,'rgb(255, 234, 0)'],[0.875,'rgb(255, 111, 0)'],[1,'rgb(255, 0, 0)']];
+
+    var data = [{
+        type: 'scattergeo',
+        mode: 'markers',
+        text: unpack(rows, 'Globvalue'),
+        lon: unpack(rows, 'Lon'),
+        lat: unpack(rows, 'Lat'),
+        marker: {
+          color: unpack(rows, 'Globvalue'),
+          colorscale: scl,
+          cmin: 0,
+          cmax: 1.4,
+          reversescale: true,
+          opacity: 0.2,
+          size: 2,
+          colorbar:{
+            thickness: 10,
+            title: {side:
+              'right'
+            },
+            outlinecolor: 'rgba(68,68,68,0)',
+            ticks: 'outside',
+            ticklen: 3,
+            shoticksuffix: 'last',
+            ticksuffix: 'inches',
+            dtick: 0.1
+          }
+        },
+        name: 'NA Precipitation'
+    }];
+
+    var layout = {
+      geo:{
+        scope: 'north america',
+        showland: true,
+        landcolor: 'rgb(212,212,212)',
+        subunitcolor: 'rgb(255,255,255)',
+        countrycolor: 'rgb(255,255,255)',
+        showlakes: true,
+        lakecolor: 'rgb(255,255,255)',
+        showsubunits: true,
+        showcountries: true,
+        resolution: 50,
+        projection: {
+          type: 'conic conformal',
+          rotation: {
+            long: -100
+          }
+        },
+      },
+      longaxis: {
+        showgrid: true,
+        gridwidth: 0.5,
+        range: [ -140.0, -55.0 ],
+        dtick: 5
+      },
+      lataxis: {
+        showgrid: true,
+        gridwidth: 0.5,
+        range: [ 20.0, 60.0 ],
+        dtick: 5
+      },
+      title: {text: 'North America Precipitation'},
+      width: 600,
+      height: 600
+    };
+
+    Plotly.newPlot('myDiv', data, layout);
+  });
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/scatter-tile-maps/index.html b/docs/examples/scatter-tile-maps/index.html new file mode 100644 index 00000000000..039a82e1408 --- /dev/null +++ b/docs/examples/scatter-tile-maps/index.html @@ -0,0 +1,5270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Scatter Plots on Tile Maps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scatter-tile-maps

+
+
+

+ basic-example +

+
+ +
+
var data = [{
+  type:'scattermap',
+  lat:['45.5017'],
+  lon:['-73.5673'],
+  mode:'markers',
+  marker: {
+    size:14
+  },
+  text:['Montreal']
+}]
+
+var layout = {
+  autosize: true,
+  hovermode:'closest',
+  map: {
+    bearing:0,
+    center: {
+      lat:45,
+      lon:-73
+    },
+    pitch:0,
+    zoom:5
+  },
+}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-markers +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/meteorites_subset.csv', function(err, rows){
+
+  var classArray = unpack(rows, 'class');
+  var classes = [...new Set(classArray)];
+
+  function unpack(rows, key) {
+    return rows.map(function(row) { return row[key]; });
+  }
+
+  var data = classes.map(function(classes) {
+    var rowsFiltered = rows.filter(function(row) {
+        return (row.class === classes);
+    });
+    return {
+       type: 'scattermap',
+       name: classes,
+       lat: unpack(rowsFiltered, 'reclat'),
+       lon: unpack(rowsFiltered, 'reclong')
+    };
+  });
+
+  var layout = {
+     title: {text: 'Meteorite Landing Locations'},
+     font: {
+         color: 'white'
+     },
+    dragmode: 'zoom',
+    map: {
+      center: {
+        lat: 38.03697222,
+        lon: -90.70916722
+      },
+      domain: {
+        x: [0, 1],
+        y: [0, 1]
+      },
+      style: 'dark',
+      zoom: 1
+    },
+    margin: {
+      r: 20,
+      t: 40,
+      b: 20,
+      l: 20,
+      pad: 0
+    },
+    paper_bgcolor: '#191A1A',
+    plot_bgcolor: '#191A1A',
+    showlegend: true,
+     annotations: [{
+         x: 0,
+       y: 0,
+       xref: 'paper',
+       yref: 'paper',
+         text: 'Source: <a href="https://data.nasa.gov/Space-Science/Meteorite-Landings/gh4g-9sfh" style="color: rgb(255,255,255)">NASA</a>',
+         showarrow: false
+     }]
+  };
+
+  Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ adding-colorscale-to-maps +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+      }
+
+ scl = [[0, 'rgb(150,0,90)'],[0.125, 'rgb(0, 0, 200)'],[0.25,'rgb(0, 25, 255)'],[0.375,'rgb(0, 152, 255)'],[0.5,'rgb(44, 255, 150)'],[0.625,'rgb(151, 255, 0)'],[0.75,'rgb(255, 234, 0)'],[0.875,'rgb(255, 111, 0)'],[1,'rgb(255, 0, 0)']];
+
+    var data = [{
+        type: 'scattermap',
+        mode: 'markers',
+        text: unpack(rows, 'Globvalue'),
+        lon: unpack(rows, 'Lon'),
+        lat: unpack(rows, 'Lat'),
+        marker: {
+          color: unpack(rows, 'Globvalue'),
+          colorscale: scl,
+          cmin: 0,
+          cmax: 1.4,
+          reversescale: true,
+          opacity: 0.5,
+          size: 3,
+          colorbar:{
+            thickness: 10,
+            title: {side:
+              'right'
+            },
+            outlinecolor: 'rgba(68,68,68,0)',
+            ticks: 'outside',
+            ticklen: 3,
+            shoticksuffix: 'last',
+            ticksuffix: 'inches',
+            dtick: 0.1
+          }
+        },
+        name: 'NA Precipitation'
+    }];
+
+    layout = {
+      dragmode: 'zoom',
+      map: {
+        center: {
+          lat: 38.03697222,
+          lon: -90.70916722
+        },
+        domain: {
+          x: [0, 1],
+          y: [0, 1]
+        },
+        style: 'light',
+        zoom: 3
+      },
+      margin: {
+        r: 0,
+        t: 0,
+        b: 0,
+        l: 0,
+        pad: 0
+      },
+      showlegend: false
+   };
+
+    Plotly.newPlot('myDiv', data, layout);
+  });
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ adding-lines-to-maps +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/c34aaa0b1b3cddad335173cb7bc0181897201ee6/2011_february_aa_flight_paths.csv', function(err, rows){
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });}
+
+    function getMaxOfArray(numArray) {
+        return Math.max.apply(null, numArray);
+    }
+
+    var data = [];
+    var count = unpack(rows, 'cnt');
+    var startLongitude = unpack(rows, 'start_lon');
+    var endLongitude = unpack(rows, 'end_lon');
+    var startLat = unpack(rows, 'start_lat');
+    var endLat = unpack(rows, 'end_lat');
+
+    for ( var i = 0 ; i < count.length; i++ ) {
+        var opacityValue = count[i]/getMaxOfArray(count);
+
+        var result = {
+            type: 'scattermap',
+            lon: [ startLongitude[i] , endLongitude[i] ],
+            lat: [ startLat[i] , endLat[i] ],
+            mode: 'lines',
+            line: {
+                width: 1,
+                color: 'red'
+            },
+            opacity: opacityValue
+        };
+
+        data.push(result);
+    };
+
+    layout = {
+      dragmode: 'zoom',
+      map: {
+        center: {
+          lat: 38.03697222,
+          lon: -90.70916722
+        },
+        domain: {
+          x: [0, 1],
+          y: [0, 1]
+        },
+        style: 'dark',
+        zoom: 2
+      },
+      margin: {
+        r: 0,
+        t: 0,
+        b: 0,
+        l: 0,
+        pad: 0
+      },
+      paper_bgcolor: '#191A1A',
+      plot_bgcolor: '#191A1A',
+      showlegend: false
+   };
+
+  Plotly.newPlot("myDiv", data, layout, {showLink: false});
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ set-marker-symbols +

+
+

This example uses symbol attribute to set the marker symbol.

+
+
var data = [
+    {
+        type: "scattermap",
+        mode: "markers+text+lines",
+        lon: [-75, -80, -50],
+        lat: [45, 20, -20],
+        marker: { size: 20, symbol: ["bus", "harbor", "airport"] },
+        text: ["Bus", "Harbor", "Airport"],
+        textposition: "bottom right"
+    }
+];
+
+var layout = {
+    map: { style: "outdoors", zoom: 0.7 },
+    showlegend: false, height: 500, width: 700
+};
+
+Plotly.newPlot("myDiv", data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ basic-example-(mapbox) +

+
+

> Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

+

Earlier examples use traces that render with Maplibre GL JS. + These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, + which are now deprecated. Here's one of the earlier examples using the Mapbox-based choroplethmapbox trace

+
+
var data = [{
+  type:'scattermapbox',
+  lat:['45.5017'],
+  lon:['-73.5673'],
+  mode:'markers',
+  marker: {
+    size:14
+  },
+  text:['Montreal']
+}]
+
+var layout = {
+  autosize: true,
+  hovermode:'closest',
+  mapbox: {
+    bearing:0,
+    center: {
+      lat:45,
+      lon:-73
+    },
+    pitch:0,
+    zoom:5
+  },
+}
+
+Plotly.setPlotConfig({
+  mapboxAccessToken: "your access token"
+})
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/setting-graph-size/index.html b/docs/examples/setting-graph-size/index.html new file mode 100644 index 00000000000..b173ee33c8e --- /dev/null +++ b/docs/examples/setting-graph-size/index.html @@ -0,0 +1,4714 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Setting Graph Size - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

setting-graph-size

+
+
+

+ adjusting-height-width-and-margins +

+
+ +
+
var data = [
+  {
+    x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+    y: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+    type: 'scatter'
+  }
+];
+var layout = {
+  autosize: false,
+  width: 500,
+  height: 500,
+  margin: {
+    l: 50,
+    r: 50,
+    b: 100,
+    t: 100,
+    pad: 4
+  },
+  paper_bgcolor: '#7f7f7f',
+  plot_bgcolor: '#c7c7c7'
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ automatically-adjust-margins +

+
+

Set automargin=true (reference) and Plotly will automatically increase the margin size to prevent ticklabels from being cut off or overlapping with axis titles.

+
+
var data = [
+  {
+    x: ['Apples', 'Oranges', 'Watermelon', 'Pears'],
+    y: [3, 2, 1, 4],
+    type: 'bar'
+  }
+];
+var layout = {
+  autosize: false,
+  width: 500,
+  height: 500,
+  yaxis: {
+    title: {
+      text: 'Y-axis Title',
+      font: { size: 30 }
+    },
+    ticktext: ['long label','Very long label','3','label'],
+    tickvals: [1, 2, 3, 4],
+    tickmode: 'array',
+    automargin: true,
+  },
+  paper_bgcolor: '#7f7f7f',
+  plot_bgcolor: '#c7c7c7'
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/shapes/index.html b/docs/examples/shapes/index.html new file mode 100644 index 00000000000..f1b2f916d94 --- /dev/null +++ b/docs/examples/shapes/index.html @@ -0,0 +1,6404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Shapes - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

shapes

+
+
+

+ highlighting-time-series-regions-with-rectangle-shapes +

+
+ +
+
var data = [
+  {
+    x: ['2015-02-01', '2015-02-02', '2015-02-03', '2015-02-04', '2015-02-05',
+        '2015-02-06', '2015-02-07', '2015-02-08', '2015-02-09', '2015-02-10',
+        '2015-02-11', '2015-02-12', '2015-02-13', '2015-02-14', '2015-02-15',
+        '2015-02-16', '2015-02-17', '2015-02-18', '2015-02-19', '2015-02-20',
+        '2015-02-21', '2015-02-22', '2015-02-23', '2015-02-24', '2015-02-25',
+        '2015-02-26', '2015-02-27', '2015-02-28'],
+    y: [-14, -17, -8, -4, -7, -10, -12, -14, -12, -7, -11, -7, -18, -14, -14,
+        -16, -13, -7, -8, -14, -8, -3, -9, -9, -4, -13, -9, -6],
+    mode: 'line',
+    name: 'temperature'
+  }
+];
+
+var layout = {
+
+    // to highlight the timestamp we use shapes and create a rectangular
+
+    shapes: [
+        // 1st highlight during Feb 4 - Feb 6
+        {
+            type: 'rect',
+            // x-reference is assigned to the x-values
+            xref: 'x',
+            // y-reference is assigned to the plot paper [0,1]
+            yref: 'paper',
+            x0: '2015-02-04',
+            y0: 0,
+            x1: '2015-02-06',
+            y1: 1,
+            fillcolor: '#d3d3d3',
+            opacity: 0.2,
+            line: {
+                width: 0
+            }
+        },
+
+        // 2nd highlight during Feb 20 - Feb 23
+
+        {
+            type: 'rect',
+            xref: 'x',
+            yref: 'paper',
+            x0: '2015-02-20',
+            y0: 0,
+            x1: '2015-02-22',
+            y1: 1,
+            fillcolor: '#d3d3d3',
+            opacity: 0.2,
+            line: {
+                width: 0
+            }
+        }
+    ],
+    height: 500,
+    width: 500
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ highlighting-clusters-of-scatter-points-with-circle-shapes +

+
+ +
+
function normal_array( mean, stddev, size ){
+    var arr = new Array(size), i;
+    // from http://bl.ocks.org/nrabinowitz/2034281
+    var generator = (function() {
+        return d3.random.normal(mean, stddev);
+    }());
+
+    for( i=0; i< arr.length; i++ ){
+        arr[i] = generator();
+    }
+    return arr;
+}
+
+var x0 = normal_array(2, 0.45, 300);
+var y0 = normal_array(2, 0.45, 300);
+
+var x1 = normal_array(6, 0.4, 200);
+var y1 = normal_array(6, 0.4, 200)
+
+var x2 = normal_array(4, 0.3, 200);
+var y2 = normal_array(4, 0.3, 200);
+
+console.log(x0);
+
+var data = [
+    {
+        x: x0,
+        y: y0,
+        mode: 'markers'
+    }, {
+        x: x1,
+        y: y1,
+        mode: 'markers'
+    }, {
+        x: x2,
+        y: y2,
+        mode: 'markers'
+    }, {
+        x: x1,
+        y: y0,
+        mode: 'markers'
+    }
+];
+
+var layout = {
+    shapes: [
+        {
+            type: 'circle',
+            xref: 'x',
+            yref: 'y',
+            x0: d3.min(x0),
+            y0: d3.min(y0),
+            x1: d3.max(x0),
+            y1: d3.max(y0),
+            opacity: 0.2,
+            fillcolor: 'blue',
+            line: {
+                color: 'blue'
+            }
+        },
+        {
+            type: 'circle',
+            xref: 'x',
+            yref: 'y',
+            x0: d3.min(x1),
+            y0: d3.min(y1),
+            x1: d3.max(x1),
+            y1: d3.max(y1),
+            opacity: 0.2,
+            fillcolor: 'orange',
+            line: {
+                color: 'orange'
+            }
+        },
+        {
+            type: 'circle',
+            xref: 'x',
+            yref: 'y',
+            x0: d3.min(x2),
+            y0: d3.min(y2),
+            x1: d3.max(x2),
+            y1: d3.max(y2),
+            opacity: 0.2,
+            fillcolor: 'green',
+            line: {
+                color: 'green'
+            }
+        },
+        {
+            type: 'circle',
+            xref: 'x',
+            yref: 'y',
+            x0: d3.min(x1),
+            y0: d3.min(y0),
+            x1: d3.max(x1),
+            y1: d3.max(y0),
+            opacity: 0.2,
+            fillcolor: 'red',
+            line: {
+                color: 'red'
+            }
+        }
+    ],
+    height: 400,
+    width: 480,
+    showlegend: false
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ vertical-and-horizontal-lines-positioned-relative-to-the-axes +

+
+ +
+
var trace1 = {
+  x: [2, 3.5, 6],
+  y: [1, 1.5, 1],
+  text: ['Vertical Line', 'Horizontal Dashed Line', 'Diagonal dotted Line'],
+  mode: 'text'
+};
+
+var layout = {
+  title: {
+    text: 'Vertical and Horizontal Lines Positioned Relative to the Axes'
+  },
+  xaxis: {
+    range: [0, 7]
+  },
+  yaxis: {
+    range: [0, 2.5]
+  },
+  width: 500,
+  height: 500,
+  shapes: [
+
+    //line vertical
+
+    {
+      type: 'line',
+      x0: 1,
+      y0: 0,
+      x1: 1,
+      y1: 2,
+      line: {
+        color: 'rgb(55, 128, 191)',
+        width: 3
+      }
+    },
+
+    //Line Horizontal
+
+    {
+      type: 'line',
+      x0: 2,
+      y0: 2,
+      x1: 5,
+      y1: 2,
+      line: {
+        color: 'rgb(50, 171, 96)',
+        width: 4,
+        dash: 'dashdot'
+      }
+    },
+
+    //Line Diagonal
+
+    {
+      type: 'line',
+      x0: 4,
+      y0: 0,
+      x1: 6,
+      y1: 2,
+      line: {
+        color: 'rgb(128, 0, 128)',
+        width: 4,
+        dash: 'dot'
+      }
+    }
+  ]
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ circle +

+
+ +
+
var trace1 = {
+  x: [1.5, 3.5],
+  y: [0.75, 2.5],
+  text: ['Unfilled Circle', 'Filled Circle'],
+  mode: 'text'
+};
+
+var layout = {
+  title: {
+    text: 'Circles'
+  },
+  xaxis: {
+    range: [0, 4.5],
+    zeroline: false
+  },
+  yaxis: {
+    range: [0, 4.5]
+  },
+  width: 500,
+  height: 500,
+  shapes: [
+
+    // Unfilled Circle
+
+    {
+      type: 'circle',
+      xref: 'x',
+      yref: 'y',
+      x0: 1,
+      y0: 1,
+      x1: 3,
+      y1: 3,
+      line: {
+        color: 'rgba(50, 171, 96, 1)'
+      }
+    },
+
+    // Filled Circle
+
+    {
+      type: 'circle',
+      xref: 'x',
+      yref: 'y',
+      fillcolor: 'rgba(50, 171, 96, 0.7)',
+      x0: 3,
+      y0: 3,
+      x1: 4,
+      y1: 4,
+      line: {
+        color: 'rgba(50, 171, 96, 1)'
+      }
+    }
+  ]
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ rectangle-positioned-relative-to-the-axes +

+
+ +
+
var trace1 = {
+  x: [1.5, 4.5],
+  y: [0.75, 0.75],
+  text: ['Unfilled Rectangle', 'Filled Rectangle'],
+  mode: 'text'
+};
+
+var layout = {
+  title: {
+    text: 'Rectangle Positioned Relative to the Axes'
+  },
+  xaxis: {
+    range: [0, 7],
+    showgrid: false
+  },
+  yaxis: {
+    range: [0, 3.5]
+  },
+  width: 500,
+  height: 500,
+  shapes: [
+
+    //Unfilled Rectangle
+
+    {
+      type: 'rect',
+      x0: 1,
+      y0: 1,
+      x1: 2,
+      y1: 3,
+      line: {
+        color: 'rgba(128, 0, 128, 1)'
+      }
+    },
+
+    //Filled Rectangle
+
+    {
+      type: 'rect',
+      x0: 3,
+      y0: 1,
+      x1: 6,
+      y1: 2,
+      line: {
+        color: 'rgba(128, 0, 128, 1)',
+        width: 2
+      },
+      fillcolor: 'rgba(128, 0, 128, 0.7)'
+    }
+  ]
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ rectangle-positioned-relative-to-the-plot-and-to-the-axes +

+
+ +
+
var trace1 = {
+  x: [1.5, 3],
+  y: [2.5, 2.5],
+  text: ['Rectangle reference to the plot', 'Rectangle reference to the axes'],
+  mode: 'text'
+};
+
+var layout = {
+  title: {
+    text: 'Rectangles Positioned Relative to the Plot and to the Axes'
+  },
+  xaxis: {
+    range: [0, 4],
+    showgrid: false
+  },
+  yaxis: {
+    range: [0, 4]
+  },
+  width: 800,
+  height: 600,
+  shapes: [
+
+    //Rectangle reference to the axes
+
+    {
+      type: 'rect',
+      xref: 'x',
+      yref: 'y',
+      x0: 2.5,
+      y0: 0,
+      x1: 3.5,
+      y1: 2,
+      line: {
+        color: 'rgb(55, 128, 191)',
+        width: 3
+      },
+      fillcolor: 'rgba(55, 128, 191, 0.6)'
+    },
+
+    //Rectangle reference to the Plot
+
+    {
+      type: 'rect',
+      xref: 'paper',
+      yref: 'paper',
+      x0: 0.25,
+      y0: 0,
+      x1: 0.5,
+      y1: 0.5,
+      line: {
+        color: 'rgb(50, 171, 96)',
+        width: 3
+      },
+      fillcolor: 'rgba(50, 171, 96, 0.6)'
+    }
+  ]
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ lines-positioned-relative-to-the-plot-and-to-the-axis +

+
+ +
+
var trace1 = {
+  x: [2, 6],
+  y: [1, 1],
+  text: ['Line positioned relative to the plot', 'Line positioned relative to the axes'],
+  mode: 'text'
+};
+
+var layout = {
+  title: {
+    text: 'Lines Positioned Relative to the Plot & to the Axes'
+  },
+  xaxis: {
+    range: [0, 8]
+  },
+  yaxis: {
+    range: [0, 2]
+  },
+  width: 500,
+  height: 500,
+  shapes: [
+
+    //Line reference to the axes
+
+    {
+      type: 'line',
+      xref: 'x',
+      yref: 'y',
+      x0: 4,
+      y0: 0,
+      x1: 8,
+      y1: 1,
+      line: {
+        color: 'rgb(55, 128, 191)',
+        width: 3
+      }
+    },
+
+    //Line reference to the plot
+
+    {
+      type: 'line',
+      xref: 'paper',
+      yref: 'paper',
+      x0: 0,
+      y0: 0,
+      x1: 0.5,
+      y1: 0.5,
+      line: {
+        color: 'rgb(50, 171, 96)',
+        width: 3
+      }
+    }
+  ]
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ basic-arbitrary-svg-paths +

+
+ +
+
var trace1 = {
+  x: [2, 1, 8, 8],
+  y: [0.25, 9, 2, 6],
+  text: ['filled triangle', 'filled Polygon', 'Quadratic Bezier Curves', 'Cubic Bezier Curves'],
+  mode: 'text'
+};
+
+var layout = {
+  title: {
+    text: 'Basic Arbitrary SVG Paths'
+  },
+  xaxis: {
+    range: [0, 9],
+    zeroline: false
+  },
+  yaxis: {
+    range: [0, 11],
+    showgrid: false
+  },
+  width: 500,
+  height: 500,
+  shapes: [
+
+    //Quadratic Bezier Curves
+
+    {
+      type: 'path',
+      path: 'M 4,4 Q 6,0 8,4',
+      line: {
+        color: 'rgb(93, 164, 214)'
+      }
+    },
+
+    //Cubic Bezier Curves
+
+    {
+      type: 'path',
+      path: 'M 1,4 C 2,8 6,4 8,8',
+      line: {
+        color: 'rgb(207, 114, 255)'
+      }
+    },
+
+    //Filled Triangle
+
+    {
+      type: 'path',
+      path: 'M 1 1 L 1 3 L 4 1 Z',
+      fillcolor: 'rgba(44, 160, 101, 0.5)',
+      line: {
+        color: 'rgb(44, 160, 101)'
+      }
+    },
+
+    //Filled Polygon
+
+    {
+      type: 'path',
+      path: ' M 3,7 L2,8 L2,9 L3,10, L4,10 L5,9 L5,8 L4,7 Z',
+      fillcolor: 'rgba(255, 140, 184, 0.5)',
+      line: {
+        color: 'rgb(255, 140, 184)'
+      }
+    }
+  ]
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ venn-diagram-with-circle-shapes +

+
+ +
+
var trace1 = {
+  x: [1, 1.75, 2.5],
+  y: [1, 1, 1],
+  type: 'scatter',
+  mode: 'text',
+  text: ['A', 'A+B', 'B'],
+  textfont: {
+    color: 'black',
+    size: 18,
+    family: 'Arial'
+  }
+};
+
+var layout = {
+  title: {
+    text: 'Venn Diagram with Circle Shapes'
+  },
+  xaxis: {
+    showticklabels: false,
+    tickmode: 'linear',
+    showgrid: false,
+    zeroline: false
+  },
+  yaxis: {
+    showticklabels: false,
+    tickmode: 'linear',
+    showgrid: false,
+    zeroline: false
+  },
+  shapes: [{
+    opacity: 0.3,
+    xref: 'x',
+    yref: 'y',
+    fillcolor: 'blue',
+    x0: 0,
+    y0: 0,
+    x1: 2,
+    y1: 2,
+    type: 'circle',
+    line: {
+      color: 'blue'
+    }
+  }, {
+    opacity: 0.3,
+    xref: 'x',
+    yref: 'y',
+    fillcolor: 'gray',
+    x0: 1.5,
+    y0: 0,
+    x1: 3.5,
+    y1: 2,
+    type: 'circle',
+    line: {
+      color: 'gray'
+    }
+  }],
+  margin: {
+    l: 20,
+    r: 20,
+    b: 100
+  },
+  height: 500,
+  width: 500
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ creating-tangent-lines-with-shapes +

+
+ +
+
function linspace(a,b,n) {
+  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});
+}
+
+var xValues = linspace(1, 3, 200);
+
+var yValues = [];
+
+for ( var i = 0 ; i < xValues.length ; i++ ) {
+  var result = xValues[i] * Math.sin(Math.pow(xValues[i], 2)) + 1;
+  yValues.push(result);
+};
+
+var trace1 = {
+  x: xValues,
+  y: yValues,
+  type: 'scatter'
+};
+
+var data = [trace1];
+
+var layout = {
+  title: {
+    text: 'Rectangles Positioned Relative to the Plot and to the Axes'
+  },
+  shapes: [{
+    type: 'line',
+    x0: 1,
+    y0: 2.30756,
+    x1: 1.75,
+    y1: 2.30756,
+    opacity: 0.7,
+    line: {
+      color: 'red',
+      width: 2.5
+    }
+  }, {
+    type: 'line',
+    x0: 2.5,
+    y0: 3.80796,
+    x1: 3.05,
+    y1: 3.80796,
+    opacity: 0.7,
+    line: {
+      color: 'red',
+      width: 2.5
+    }
+  }, {
+    type: 'line',
+    x0: 1.90,
+    y0: -1.1827,
+    x1: 2.50,
+    y1: -1.1827,
+    opacity: 0.7,
+    line: {
+      color: 'red',
+      width: 2.5
+    }
+  }],
+  height: 500,
+  width: 500
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ adding-labels-to-shapes +

+
+

This example adds a label to a rectangle and a line on the graph, +sets a font size and color on the rectangle, and positions its label + 'top center' using textposition. On the line, we specify a yanchor of "top" + to anchor the top of the label to its textposition. + You can also draw new shapes on the graph and each new shape automatically + gets a text label.

+
+
var data = [
+  {
+    x: [
+      '2015-02-01', '2015-02-02', '2015-02-03', '2015-02-04', '2015-02-05',
+      '2015-02-06', '2015-02-07', '2015-02-08', '2015-02-09', '2015-02-10',
+      '2015-02-11', '2015-02-12', '2015-02-13', '2015-02-14', '2015-02-15',
+      '2015-02-16', '2015-02-17', '2015-02-18', '2015-02-19', '2015-02-20',
+      '2015-02-21', '2015-02-22', '2015-02-23', '2015-02-24', '2015-02-25',
+      '2015-02-26', '2015-02-27', '2015-02-28',
+    ],
+    y: [
+      14, 17, 8, 4, 7, 10, 12, 14, 12, 11, 10, 9, 18, 14, 14, 16, 13, 8, 8,
+      7, 7, 3, 9, 9, 4, 13, 9, 6,
+    ],
+    mode: 'line',
+  },
+];
+
+var layout = {
+  title: {text: 'Product price changes and revenue growth'},
+  xaxis: { title: {text: 'Date' }},
+  yaxis: { title: {text: 'Revenue Growth' }},
+  dragmode: 'drawline',
+
+  shapes: [
+    {
+      type: 'rect',
+      xref: 'x',
+      yref: 'paper',
+      x0: '2015-02-02',
+      y0: 0,
+      x1: '2015-02-08',
+      y1: 1,
+      fillcolor: '#d3d3d3',
+      opacity: 0.2,
+      editable: true,
+      line: {
+        width: 0,
+      },
+      label: {
+        text: 'Price drop',
+        font: { size: 10, color: 'green' },
+        textposition: 'top center',
+      },
+    },
+    {
+      type: 'line',
+      x0: '2015-02-01',
+      y0: 8,
+      x1: '2015-02-28',
+      y1: 8,
+      fillcolor: '#d3d3d3',
+      opacity: 0.2,
+      editable: true,
+      label: {
+        text: 'January average',
+        yanchor: 'top',
+      },
+    },
+  ],
+  newshape: { label: { text: 'New shape text' } },
+  height: 500,
+  width: 500,
+};
+
+var config = { 'modeBarButtonsToAdd': [
+  'drawline',
+  'drawopenpath',
+  'drawclosedpath',
+  'drawcircle',
+  'drawrect',
+  'eraseshape'
+  ]
+};
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/sliders/index.html b/docs/examples/sliders/index.html new file mode 100644 index 00000000000..c7c28ebcf12 --- /dev/null +++ b/docs/examples/sliders/index.html @@ -0,0 +1,4789 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sliders - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

sliders

+
+
+

+ bind-components-to-the-appearance-of-a-plot +

+
+ +
+
Plotly.newPlot('myDiv', [{
+  x: [1, 2, 3],
+  y: [2, 1, 3]
+}], {
+  sliders: [{
+    pad: {t: 30},
+    len: 0.5,
+    x: 0.5,
+    currentvalue: {
+      xanchor: 'right',
+      prefix: 'color: ',
+      font: {
+        color: '#888',
+        size: 20
+      }
+    },
+    // If all of a component's commands affect a single attribute, the component
+    // will be bound to the plot and will automatically update to reflect changes.
+    steps: [{
+      label: 'red',
+      method: 'restyle',
+      args: ['line.color', 'red']
+    }, {
+      label: 'green',
+      method: 'restyle',
+      args: ['line.color', 'green']
+    }, {
+      label: 'blue',
+      method: 'restyle',
+      args: ['line.color', 'blue']
+    }]
+  }],
+  updatemenus: [{
+    pad: {t: 60, r: 30},
+    type: 'buttons',
+    xanchor: 'left',
+    yanchor: 'top',
+    x: 00,
+    y: 0,
+    direction: 'right',
+    buttons: [{
+      label: 'red',
+      method: 'restyle',
+      args: ['line.color', 'red']
+    }, {
+      label: 'green',
+      method: 'restyle',
+      args: ['line.color', 'green']
+    }, {
+      label: 'blue',
+      method: 'restyle',
+      args: ['line.color', 'blue']
+    }]
+  }]
+});
+
+ + + + + +
+
+
+ +
+
+

+ basic-slider +

+
+ +
+
Plotly.newPlot('myDiv', [{
+  x: [1, 2, 3],
+  y: [2, 1, 3]
+}], {
+  sliders: [{
+    pad: {t: 30},
+    currentvalue: {
+      xanchor: 'right',
+      prefix: 'color: ',
+      font: {
+        color: '#888',
+        size: 20
+      }
+    },
+    steps: [{
+      label: 'red',
+      method: 'restyle',
+      args: ['line.color', 'red']
+    }, {
+      label: 'green',
+      method: 'restyle',
+      args: ['line.color', 'green']
+    }, {
+      label: 'blue',
+      method: 'restyle',
+      args: ['line.color', 'blue']
+    }]
+  }]
+});
+
+ + + + + +
+
+
+ +
+
+

+ add-a-play-button-to-control-a-slider +

+
+ +
+
Plotly.newPlot('myDiv', {
+  data: [{
+    x: [1, 2, 3],
+    y: [2, 1, 3],
+    line: {
+      color: 'red',
+      simplify: false,
+    }
+  }],
+  layout: {
+    sliders: [{
+      pad: {t: 30},
+      x: 0.05,
+      len: 0.95,
+      currentvalue: {
+        xanchor: 'right',
+        prefix: 'color: ',
+        font: {
+          color: '#888',
+          size: 20
+        }
+      },
+      transition: {duration: 500},
+      // By default, animate commands are bound to the most recently animated frame:
+      steps: [{
+        label: 'red',
+        method: 'animate',
+        args: [['red'], {
+          mode: 'immediate',
+          frame: {redraw: false, duration: 500},
+          transition: {duration: 500}
+        }]
+      }, {
+        label: 'green',
+        method: 'animate',
+        args: [['green'], {
+          mode: 'immediate',
+          frame: {redraw: false, duration: 500},
+          transition: {duration: 500}
+        }]
+      }, {
+        label: 'blue',
+        method: 'animate',
+        args: [['blue'], {
+          mode: 'immediate',
+          frame: {redraw: false, duration: 500},
+          transition: {duration: 500}
+        }]
+      }]
+    }],
+    updatemenus: [{
+      type: 'buttons',
+      showactive: false,
+      x: 0.05,
+      y: 0,
+      xanchor: 'right',
+      yanchor: 'top',
+      pad: {t: 60, r: 20},
+      buttons: [{
+        label: 'Play',
+        method: 'animate',
+        args: [null, {
+          fromcurrent: true,
+          frame: {redraw: false, duration: 1000},
+          transition: {duration: 500}
+        }]
+      }]
+    }]
+  },
+  // The slider itself does not contain any notion of timing, so animating a slider
+  // must be accomplished through a sequence of frames. Here we'll change the color
+  // and the data of a single trace:
+  frames: [{
+    name: 'red',
+    data: [{
+      y: [2, 1, 3],
+      'line.color': 'red'
+    }]
+  }, {
+    name: 'green',
+    data: [{
+      y: [3, 2, 1],
+      'line.color': 'green'}]
+  }, {
+    name: 'blue',
+    data: [{
+      y: [1, 3, 2],
+      'line.color': 'blue'}]
+  }]
+});
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/spc-control-charts/index.html b/docs/examples/spc-control-charts/index.html new file mode 100644 index 00000000000..d3b2662c2ec --- /dev/null +++ b/docs/examples/spc-control-charts/index.html @@ -0,0 +1,4984 @@ + + + + + + + + + + + + + + + + + + + + + + + + + SPC Control Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

spc-control-charts

+
+
+

+ basic-spc-control-chart +

+
+ +
+
var Data = {
+  type: 'scatter',
+  x: [1,2,3,4,5,6,7,8,9],
+  y: [4,2,-1,4,-5,-7,0,3,8],
+  mode: 'lines+markers',
+  name: 'Data',
+  showlegend: true,
+  hoverinfo: 'all',
+  line: {
+    color: 'blue',
+    width: 2
+  },
+  marker: {
+    color: 'blue',
+    size: 8,
+    symbol: 'circle'
+  }
+}
+
+var Viol = {
+  type: 'scatter',
+  x: [6,9],
+  y: [-7,8],
+  mode: 'markers',
+  name: 'Violation',
+  showlegend: true,
+  marker: {
+    color: 'rgb(255,65,54)',
+    line: {width: 3},
+    opacity: 0.5,
+    size: 12,
+    symbol: 'circle-open'
+  }
+}
+
+var CL = {
+  type: 'scatter',
+  x: [0.5, 10, null, 0.5, 10],
+  y: [-5, -5, null, 5, 5],
+  mode: 'lines',
+  name: 'LCL/UCL',
+  showlegend: true,
+  line: {
+    color: 'red',
+    width: 2,
+    dash: 'dash'
+  }
+}
+
+var Centre = {
+  type: 'scatter',
+  x: [0.5, 10],
+  y: [0, 0],
+  mode: 'lines',
+  name: 'Centre',
+  showlegend: true,
+  line: {
+    color: 'grey',
+    width: 2
+  }
+}
+
+var data = [Data,Viol,CL,Centre]
+
+var layout = {
+  title: {
+    text: 'Basic SPC Chart'
+  },
+  xaxis: {
+    zeroline: false
+  },
+  yaxis: {
+    range: [-10,10],
+    zeroline: false
+  }
+}
+
+Plotly.newPlot('myDiv', data,layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ spc-control-chart-&-distribution +

+
+ +
+
var Data = {
+  type: 'scatter',
+  x: [1,2,3,4,5,6,7,8,9],
+  y: [4,2,-1,4,-5,-7,0,3,8],
+  mode: 'lines+markers',
+  name: 'Data',
+  showlegend: true,
+  hoverinfo: 'all',
+  line: {
+    color: 'blue',
+    width: 2
+  },
+  marker: {
+    color: 'blue',
+    size: 8,
+    symbol: 'circle'
+  }
+}
+
+var Viol = {
+  type: 'scatter',
+  x: [6,9],
+  y: [-7,8],
+  mode: 'markers',
+  name: 'Violation',
+  showlegend: true,
+  marker: {
+    color: 'rgb(255,65,54)',
+    line: {width: 3},
+    opacity: 0.5,
+    size: 12,
+    symbol: 'circle-open'
+  }
+}
+
+var CL = {
+  type: 'scatter',
+  x: [0.5, 10, null, 0.5, 10],
+  y: [-5, -5, null, 5, 5],
+  mode: 'lines',
+  name: 'LCL/UCL',
+  showlegend: true,
+  line: {
+    color: 'red',
+    width: 2,
+    dash: 'dash'
+  }
+}
+
+var Centre = {
+  type: 'scatter',
+  x: [0.5, 10],
+  y: [0, 0],
+  mode: 'lines',
+  name: 'Centre',
+  showlegend: true,
+  line: {
+    color: 'grey',
+    width: 2
+  }
+}
+
+var histo = {
+  type: 'histogram',
+  x: [1,2,3,4,5,6,7,8,9],
+  y: [4,2,-1,4,-5,-7,0,3,8],
+  name: 'Distribution',
+  orientation: 'h',
+  marker: {
+    color: 'blue',
+    line: {
+      color: 'white',
+      width: 1
+    }
+  },
+  xaxis: 'x2',
+  yaxis: 'y2'
+}
+
+var data = [Data,Viol,CL,Centre,histo]
+
+// layout
+var layout = {
+  title: {
+    text: 'Basic SPC Chart'
+  },
+  xaxis: {
+    domain: [0, 0.7], // 0 to 70% of width
+    zeroline: false
+  },
+  yaxis: {
+    range: [-10,10],
+    zeroline: false
+  },
+  xaxis2: {
+    domain: [0.8, 1] // 70 to 100% of width
+  },
+  yaxis2: {
+    anchor: 'x2',
+    showticklabels: false
+  }
+}
+
+Plotly.newPlot('myDiv', data,layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/splom/index.html b/docs/examples/splom/index.html new file mode 100644 index 00000000000..3449885fefc --- /dev/null +++ b/docs/examples/splom/index.html @@ -0,0 +1,4946 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Scatterplot Matrix - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

splom

+
+
+

+ splom-of-iris-dataset +

+
+

The Iris dataset contains four data variables, sepal length, sepal width, petal length petal width, for 150 iris flowers. The flowers are labeled as Iris-setosa, Iris-versicolor, Iris-virginica.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/iris-data.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key.replace('.',' ')]; });
+    }
+
+    colors = []
+    for (i=0; i < unpack(rows, 'class').length; i++) {
+      if (unpack(rows, 'class')[i] == "Iris-setosa") {
+        colors.push(0)
+      } else if (unpack(rows, 'class')[i] == "Iris-versicolor") {
+        colors.push(0.5)
+      } else if (unpack(rows, 'class')[i] == "Iris-virginica") {
+        colors.push(1)
+      }
+    }
+
+    var pl_colorscale=[
+               [0.0, '#19d3f3'],
+               [0.333, '#19d3f3'],
+               [0.333, '#e763fa'],
+               [0.666, '#e763fa'],
+               [0.666, '#636efa'],
+               [1, '#636efa']
+    ]
+
+    var axis = () => ({
+      showline:false,
+      zeroline:false,
+      gridcolor:'#ffff',
+      ticklen:4
+    })
+
+    var data = [{
+      type: 'splom',
+      dimensions: [
+        {label:'sepal length', values:unpack(rows,'sepal length')},
+        {label:'sepal width', values:unpack(rows,'sepal width')},
+        {label:'petal length', values:unpack(rows,'petal length')},
+        {label:'petal width', values:unpack(rows,'petal width')}
+      ],
+      text: unpack(rows, 'class'),
+      marker: {
+        color: colors,
+        colorscale:pl_colorscale,
+        size: 7,
+        line: {
+          color: 'white',
+          width: 0.5
+        }
+      }
+    }]
+
+    var layout = {
+      title: {
+        text: 'Iris Data set'
+      },
+      height: 800,
+      width: 800,
+      autosize: false,
+      hovermode:'closest',
+      dragmode:'select',
+      plot_bgcolor:'rgba(240,240,240, 0.95)',
+      xaxis:axis(),
+      yaxis:axis(),
+      xaxis2:axis(),
+      xaxis3:axis(),
+      xaxis4:axis(),
+      yaxis2:axis(),
+      yaxis3:axis(),
+      yaxis4:axis()
+    }
+
+    Plotly.react('myDiv', data, layout)
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ splom-of-diabetes-dataset +

+
+

Diabetes dataset is downloaded from kaggle. It is used to predict the onset of diabetes based on 8 diagnostic measures. The diabetes file contains the diagnostic measures for 768 patients, that are labeled as non-diabetic (Outcome=0), respectively diabetic (Outcome=1). The splom associated to the 8 variables can illustrate the strength of the relationship between pairs of measures for diabetic/nondiabetic patients.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/diabetes.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });
+    }
+
+    text = []
+    for (i=0; i < unpack(rows, 'Outcome').length; i++) {
+      if (unpack(rows, 'Outcome')[i] == "0") {
+        text.push("Diabetic")
+      } else {
+        text.push("Non-Diabetic")
+      }
+    }
+
+    var pl_colorscale=[
+      [0.0, '#119dff'],
+      [0.5, '#119dff'],
+      [0.5, '#ef553b'],
+      [1, '#ef553b']
+    ]
+
+    var axis = () => ({
+      showline:false,
+      zeroline:false,
+      gridcolor:'#ffff',
+      ticklen:2,
+      tickfont:{size:10},
+      title:{font:{size:12}}
+    })
+
+    var data = [{
+      type: 'splom',
+      dimensions: [
+        {label:'Pregnancies', values:unpack(rows, 'Pregnancies')},
+        {label:'Glucose', values:unpack(rows, 'Glucose')},
+        {label:'BloodPressure', values:unpack(rows, 'BloodPressure')},
+        {label:'SkinThickness', values:unpack(rows, 'SkinThickness')},
+        {label:'Insulin', values:unpack(rows, 'Insulin')},
+        {label:'BMI', values:unpack(rows, 'BMI')},
+        {label:'DiabPedigreeFun', values:unpack(rows, 'DiabetesPedigreeFunction')},
+        {label:'Age', values:unpack(rows, 'Age')}
+      ],
+      text:text,
+      marker: {
+        color: unpack(rows, 'Outcome'),
+        colorscale:pl_colorscale,
+        size: 5,
+        line: {
+          color: 'white',
+          width: 0.5
+        }
+      }
+    }]
+
+    var layout = {
+      title: {
+        text: "Scatterplot Matrix (SPLOM) for Diabetes Dataset<br>Data source: <a href='https://www.kaggle.com/uciml/pima-indians-diabetes-database/data'>[1]</a>"
+      },
+      height: 1000,
+      width: 1000,
+      autosize: false,
+      hovermode:'closest',
+      dragmode:'select',
+      plot_bgcolor:'rgba(240,240,240, 0.95)',
+      xaxis:axis(),
+      yaxis:axis(),
+      xaxis2:axis(),
+      xaxis3:axis(),
+      xaxis4:axis(),
+      xaxis5:axis(),
+      xaxis6:axis(),
+      xaxis7:axis(),
+      xaxis8:axis(),
+      yaxis2:axis(),
+      yaxis3:axis(),
+      yaxis4:axis(),
+      yaxis5:axis(),
+      yaxis6:axis(),
+      yaxis7:axis(),
+      yaxis8:axis()
+    }
+
+    Plotly.react('myDiv', data, layout);
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/streaming/index.html b/docs/examples/streaming/index.html new file mode 100644 index 00000000000..0ef6c0e819a --- /dev/null +++ b/docs/examples/streaming/index.html @@ -0,0 +1,4879 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Streaming - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

streaming

+
+
+

+ basic-streaming +

+
+ +
+
function rand() {
+  return Math.random();
+}
+
+Plotly.newPlot('myDiv', [{
+  y: [1,2,3].map(rand),
+  mode: 'lines',
+  line: {color: '#80CAF6'}
+}]);
+
+var cnt = 0;
+
+var interval = setInterval(function() {
+
+  Plotly.extendTraces('myDiv', {
+    y: [[rand()]]
+  }, [0])
+
+  if(++cnt === 100) clearInterval(interval);
+}, 300);
+
+ + + + + +
+
+
+ +
+
+

+ multiple-traces +

+
+ +
+
function rand() {
+  return Math.random();
+}
+
+Plotly.newPlot('myDiv', [{
+  y: [1,2,3].map(rand),
+  mode: 'lines',
+  line: {color: '#80CAF6'}
+}, {
+  y: [1,2,3].map(rand),
+  mode: 'lines',
+  line: {color: '#DF56F1'}
+}]);
+
+var cnt = 0;
+
+var interval = setInterval(function() {
+
+  Plotly.extendTraces('myDiv', {
+    y: [[rand()], [rand()]]
+  }, [0, 1])
+
+  if(++cnt === 100) clearInterval(interval);
+}, 300);
+
+ + + + + +
+
+
+ +
+
+

+ streaming-with-timestamp +

+
+ +
+
function rand() {
+  return Math.random();
+}
+
+var time = new Date();
+
+var data = [{
+  x: [time],
+  y: [rand()],
+  mode: 'lines',
+  line: {color: '#80CAF6'}
+}]
+
+
+Plotly.newPlot('myDiv', data);
+
+var cnt = 0;
+
+var interval = setInterval(function() {
+
+  var time = new Date();
+
+  var update = {
+  x:  [[time]],
+  y: [[rand()]]
+  }
+
+  Plotly.extendTraces('myDiv', update, [0])
+
+  if(++cnt === 100) clearInterval(interval);
+}, 1000);
+
+ + + + + +
+
+
+ +
+
+

+ extend-traces-&-relayout +

+
+ +
+
function rand() {
+  return Math.random();
+}
+
+var time = new Date();
+
+var data = [{
+  x: [time],
+  y: [rand],
+  mode: 'lines',
+  line: {color: '#80CAF6'}
+}]
+
+Plotly.newPlot('myDiv', data);
+
+var cnt = 0;
+
+var interval = setInterval(function() {
+
+  var time = new Date();
+
+  var update = {
+  x:  [[time]],
+  y: [[rand()]]
+  }
+
+  var olderTime = time.setMinutes(time.getMinutes() - 1);
+  var futureTime = time.setMinutes(time.getMinutes() + 1);
+
+  var minuteView = {
+        xaxis: {
+          type: 'date',
+          range: [olderTime,futureTime]
+        }
+      };
+
+  Plotly.relayout('myDiv', minuteView);
+  Plotly.extendTraces('myDiv', update, [0])
+
+  if(++cnt === 100) clearInterval(interval);
+}, 1000);
+
+ + + + + +
+
+
+ +
+
+

+ 30-points-using-update +

+
+ +
+
var arrayLength = 30
+var newArray = []
+
+for(var i = 0; i < arrayLength; i++) {
+  var y = Math.round(Math.random()*10) + 1
+  newArray[i] = y
+}
+
+Plotly.newPlot('myDiv', [{
+  y: newArray,
+  mode: 'lines',
+  line: {color: '#80CAF6'}
+}]);
+
+var cnt = 0;
+
+var interval = setInterval(function() {
+
+  var y = Math.round(Math.random()*10) + 1
+  newArray = newArray.concat(y)
+  newArray.splice(0, 1)
+
+  var data_update = {
+    y: [newArray]
+  };
+
+  Plotly.update('myDiv', data_update)
+
+  if(++cnt === 100) clearInterval(interval);
+}, 1000);
+
+ + + + + +
+
+
+ +
+
+

+ streaming-subplots +

+
+ +
+
function rand() {
+  return Math.random();
+}
+
+var time = new Date();
+
+var trace1 = {
+  x: [],
+  y: [],
+  mode: 'lines',
+  line: {
+    color: '#80CAF6',
+    shape: 'spline'
+  }
+}
+
+var trace2 = {
+  x: [],
+  y: [],
+  xaxis: 'x2',
+  yaxis: 'y2',
+  mode: 'lines',
+  line: {color: '#DF56F1'}
+};
+
+var layout = {
+  xaxis: {
+    type: 'date',
+    domain: [0, 1],
+    showticklabels: false
+  },
+  yaxis: {domain: [0.6,1]},
+  xaxis2: {
+    type: 'date',
+    anchor: 'y2',
+    domain: [0, 1]
+  },
+  yaxis2: {
+    anchor: 'x2',
+    domain: [0, 0.4]},
+}
+
+var data = [trace1,trace2];
+
+Plotly.newPlot('myDiv', data, layout);
+
+var cnt = 0;
+
+var interval = setInterval(function() {
+
+  var time = new Date();
+
+  var update = {
+    x: [[time], [time]],
+    y: [[rand()], [rand()]]
+  }
+
+  Plotly.extendTraces('myDiv', update, [0,1])
+
+  if(++cnt === 100) clearInterval(interval);
+}, 1000);
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/streamtube-plot/index.html b/docs/examples/streamtube-plot/index.html new file mode 100644 index 00000000000..9c0aaf72b7b --- /dev/null +++ b/docs/examples/streamtube-plot/index.html @@ -0,0 +1,4795 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 3D Streamtube Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

streamtube-plot

+
+
+

+ introduction +

+
+

In streamtube plots, attributes inlcude x, y, and z, which set the coorindates of the vector field, and u, v, and w, which sets the x, y, and z components of the vector field. Additionally, you can use starts to determine the streamtube's starting position. Lastly, maxdisplayed determines the maximum segments displayed in a streamtube.

+ + +
+
+
+ +
+
+

+ basic-streamtube-plot +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/streamtube-basic.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return row[key]; });
+    }
+
+    var data = [{
+      type: "streamtube",
+      x: unpack(rows, 'x'),
+      y: unpack(rows, 'y'),
+      z: unpack(rows, 'z'),
+      u: unpack(rows, 'u'),
+      v: unpack(rows, 'v'),
+      w: unpack(rows, 'w'),
+      sizeref: 0.5,
+      cmin: 0,
+      cmax: 3
+    }]
+
+    var layout = {
+      scene: {
+        camera: {
+          eye: {
+            x: -0.7243612458865182,
+            y: 1.9269804254717962,
+            z: 0.6704828299861716
+          }
+        }
+      }
+    }
+
+    Plotly.newPlot('myDiv', data, layout)
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ starting-position-and-segments +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/streamtube-wind.csv', function(err, rows){
+
+    function unpack(rows, key) {
+        return rows.map(function(row) { return +row[key]; });
+    }
+
+    var data = [{
+      type: 'streamtube',
+      x: unpack(rows, 'x'),
+      y: unpack(rows, 'y'),
+      z: unpack(rows, 'z'),
+      u: unpack(rows, 'u'),
+      v: unpack(rows, 'v'),
+      w: unpack(rows, 'w'),
+      starts: {
+        x: Array(16).fill(80),
+        y: [20,30,40,50,20,30,40,50,20,30,40,50,20,30,40,50],
+        z: [0,0,0,0,5,5,5,5,10,10,10,10,15,15,15,15]
+      },
+      sizeref: 0.3,
+      colorscale: "Portland",
+      showscale: false,
+      maxdisplayed: 3000
+    }]
+
+    var layout = {
+      scene: {
+        aspectratio: {
+          x: 2,
+          y: 1,
+          z: 0.3
+        }
+      },
+      margin: {
+        t: 20,
+        b: 20,
+        l: 20,
+        r: 20
+      },
+      width: 600,
+      height: 400
+    }
+
+    Plotly.newPlot('myDiv', data, layout);
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/subplots/index.html b/docs/examples/subplots/index.html new file mode 100644 index 00000000000..92552a8f301 --- /dev/null +++ b/docs/examples/subplots/index.html @@ -0,0 +1,5293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Subplots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

subplots

+
+
+

+ simple-subplot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [4, 5, 6],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [20, 30, 40],
+  y: [50, 60, 70],
+  xaxis: 'x2',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  grid: {rows: 1, columns: 2, pattern: 'independent'},
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ custom-sized-subplot +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [4, 5, 6],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [20, 30, 40],
+  y: [50, 60, 70],
+  xaxis: 'x2',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2];
+
+var layout = {
+  xaxis: {domain: [0, 0.7]},
+  yaxis2: {anchor: 'x2'},
+  xaxis2: {domain: [0.8, 1]}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-subplots +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [4, 5, 6],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [20, 30, 40],
+  y: [50, 60, 70],
+  xaxis: 'x2',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [300, 400, 500],
+  y: [600, 700, 800],
+  xaxis: 'x3',
+  yaxis: 'y3',
+  type: 'scatter'
+};
+
+var trace4 = {
+  x: [4000, 5000, 6000],
+  y: [7000, 8000, 9000],
+  xaxis: 'x4',
+  yaxis: 'y4',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  grid: {rows: 2, columns: 2, pattern: 'independent'},
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ subplots-with-shared-axes +

+
+ +
+
var trace1 = {
+  x: [1, 2, 3],
+  y: [2, 3, 4],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [20, 30, 40],
+  y: [5, 5, 5],
+  xaxis: 'x2',
+  yaxis: 'y',
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [2, 3, 4],
+  y: [600, 700, 800],
+  xaxis: 'x',
+  yaxis: 'y3',
+  type: 'scatter'
+};
+
+var trace4 = {
+  x: [4000, 5000, 6000],
+  y: [7000, 8000, 9000],
+  xaxis: 'x4',
+  yaxis: 'y4',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  grid: {
+    rows: 2,
+    columns: 2,
+    subplots:[['xy','x2y'], ['xy3','x4y4']],
+    roworder:'bottom to top'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ stacked-subplots +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2],
+  y: [10, 11, 12],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [2, 3, 4],
+  y: [100, 110, 120],
+  xaxis: 'x2',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [3, 4, 5],
+  y: [1000, 1100, 1200],
+  xaxis: 'x3',
+  yaxis: 'y3',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+grid: {
+    rows: 3,
+    columns: 1,
+    pattern: 'independent',
+    roworder: 'bottom to top'}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ stacked-subplots-with-a-shared-x-axis +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2],
+  y: [10, 11, 12],
+  type: 'scatter'
+};
+
+var trace2 = {
+  x: [2, 3, 4],
+  y: [100, 110, 120],
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var trace3 = {
+  x: [3, 4, 5],
+  y: [1000, 1100, 1200],
+  yaxis: 'y3',
+  type: 'scatter'
+};
+
+var data = [trace1, trace2, trace3];
+
+var layout = {
+  yaxis: {domain: [0, 0.33]},
+  legend: {traceorder: 'reversed'},
+  yaxis2: {domain: [0.33, 0.66]},
+  yaxis3: {domain: [0.66, 1]}
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-custom-sized-subplots +

+
+ +
+
var trace1 = {
+  x: [1, 2],
+  y: [1, 2],
+  type: 'scatter',
+  name: '(1,1)'
+};
+
+var trace2 = {
+  x: [1, 2],
+  y: [1, 2],
+  type: 'scatter',
+  name: '(1,2)',
+  xaxis: 'x2',
+  yaxis: 'y2'
+};
+
+var trace3 = {
+  x: [1, 2],
+  y: [1, 2],
+  type: 'scatter',
+  name: '(1,2)',
+  xaxis: 'x3',
+  yaxis: 'y3'
+};
+
+var trace4 = {
+  x: [1, 2],
+  y: [1, 2],
+  type: 'scatter',
+  name: '(1,2)',
+  xaxis: 'x4',
+  yaxis: 'y4'
+};
+
+var data = [trace1, trace2, trace3, trace4];
+
+var layout = {
+  title: {text: 'Multiple Custom Sized Subplots'},
+  xaxis: {
+    domain: [0, 0.45],
+    anchor: 'y1'
+  },
+  yaxis: {
+    domain: [0.5, 1],
+    anchor: 'x1'
+  },
+  xaxis2: {
+    domain: [0.55, 1],
+    anchor: 'y2'
+  },
+  yaxis2: {
+    domain: [0.8, 1],
+    anchor: 'x2'
+  },
+  xaxis3: {
+    domain: [0.55, 1],
+    anchor: 'y3'
+  },
+  yaxis3: {
+    domain: [0.5, 0.75],
+    anchor: 'x3'
+  },
+  xaxis4: {
+    domain: [0, 1],
+    anchor: 'y4'
+  },
+  yaxis4: {
+    domain: [0, 0.45],
+    anchor: 'x4'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/sunburst-charts/index.html b/docs/examples/sunburst-charts/index.html new file mode 100644 index 00000000000..5bff62cae9d --- /dev/null +++ b/docs/examples/sunburst-charts/index.html @@ -0,0 +1,4952 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sunburst Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

sunburst-charts

+
+
+

+ basic-sunburst-chart +

+
+ +
+
var data = [{
+  type: "sunburst",
+  labels: ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
+  parents: ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ],
+  values:  [10, 14, 12, 10, 2, 6, 6, 4, 4],
+  outsidetextfont: {size: 20, color: "#377eb8"},
+  leaf: {opacity: 0.4},
+  marker: {line: {width: 2}},
+}];
+
+var layout = {
+  margin: {l: 0, r: 0, b: 0, t: 0},
+  width: 500,
+  height: 500
+};
+
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ branchvalues +

+
+

With branchvalues "total", the value of the parent represents the width of its wedge. In the example below, +"Enoch" is 4 and "Awan" is 6 and so Enoch's width is 4/6ths of Awans. With branchvalues "remainder", the +parent's width is determined by its own value plus those of its children. So, Enoch's width is 4/10ths of +Awan's (4 / (6 + 4)).

Note that this means that the sum of the values of the children cannot exceed the +value of their parent when branchvalues "total". When branchvalues "relative" (the default), children will not take +up all of the space below their parent (unless the parent is the root and it has a value of 0).

+
+
var data = [
+{
+  "type": "sunburst",
+  "labels": ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
+  "parents": ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ],
+  "values":  [65, 14, 12, 10, 2, 6, 6, 4, 4],
+  "leaf": {"opacity": 0.4},
+  "marker": {"line": {"width": 2}},
+  "branchvalues": 'total'
+}];
+
+var layout = {
+  "margin": {"l": 0, "r": 0, "b": 0, "t": 0},
+};
+
+
+Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true})
+
+myPlot = document.getElementById("myDiv");
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ sunburst-with-repeated-labels +

+
+ +
+
var data = [{
+  type: "sunburst",
+  ids: [
+    "North America", "Europe", "Australia", "North America - Football", "Soccer",
+    "North America - Rugby", "Europe - Football", "Rugby",
+    "Europe - American Football","Australia - Football", "Association",
+    "Australian Rules", "Autstralia - American Football", "Australia - Rugby",
+    "Rugby League", "Rugby Union"
+  ],
+  labels: [
+    "North<br>America", "Europe", "Australia", "Football", "Soccer", "Rugby",
+    "Football", "Rugby", "American<br>Football", "Football", "Association",
+    "Australian<br>Rules", "American<br>Football", "Rugby", "Rugby<br>League",
+    "Rugby<br>Union"
+  ],
+  parents: [
+    "", "", "", "North America", "North America", "North America", "Europe",
+    "Europe", "Europe","Australia", "Australia - Football", "Australia - Football",
+    "Australia - Football", "Australia - Football", "Australia - Rugby",
+    "Australia - Rugby"
+  ],
+  outsidetextfont: {size: 20, color: "#377eb8"},
+  // leaf: {opacity: 0.4},
+  marker: {line: {width: 2}},
+}];
+
+var layout = {
+  margin: {l: 0, r: 0, b: 0, t:0},
+  sunburstcolorway:["#636efa","#ef553b","#00cc96"],
+};
+
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ large-number-of-slices +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+var data = [
+    {
+      type: "sunburst",
+      maxdepth: 3,
+      ids: unpack(rows, 'ids'),
+      labels: unpack(rows, 'labels'),
+      parents:unpack(rows, 'parents')
+    }
+  ];
+
+var layout = {
+  margin: {l: 0, r: 0, b: 0, t:0},
+  sunburstcolorway:[
+    "#636efa","#EF553B","#00cc96","#ab63fa","#19d3f3",
+    "#e763fa", "#FECB52","#FFA15A","#FF6692","#B6E880"
+  ],
+  extendsunburstcolorway: true
+};
+
+
+Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true});
+})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ control-text-orientation-inside-sunburst-chart-sectors +

+
+

The insidetextorientation attribute controls the orientation of the text inside chart sectors. When set to auto, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The horizontal option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The radial option orients text along the radius of the sector. The tangential option orients text perpendicular to the radius of the sector.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){
+  function unpack(rows, key) {
+  return rows.map(function(row) {return row[key]})
+}
+
+  var data = [{
+        type: "sunburst",
+        maxdepth: 2,
+        ids: unpack(rows, 'ids'),
+        labels: unpack(rows, 'labels'),
+        parents: unpack(rows, 'parents'),
+        textposition: 'inside',
+        insidetextorientation: 'radial'
+  }]
+
+  var layout = {margin: {l: 0, r: 0, b: 0, t:0}}
+
+  Plotly.newPlot('myDiv', data, layout)
+})
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/table-subplots/index.html b/docs/examples/table-subplots/index.html new file mode 100644 index 00000000000..6a730fa7b3d --- /dev/null +++ b/docs/examples/table-subplots/index.html @@ -0,0 +1,4822 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Table and Chart Subplots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

table-subplots

+
+
+

+ table-and-chart-subplot +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/Mining-BTC-180.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+  }
+
+  // header values
+  var headerNames = d3.keys(rows[0]);
+  var headerValues = [headerNames[1],headerNames[2],
+                      headerNames[3],headerNames[4]];
+
+  // cell values
+  var cellValues = [];
+  for (i = 0; i < headerValues.length; i++) {
+    cellValue = unpack(rows, headerValues[i]);
+    cellValues[i] = cellValue;
+  }
+
+  // clean date
+  for (i = 0; i < cellValues[0].length; i++) {
+  var dateValue = cellValues[0][i].split(' ')[0]
+  cellValues[0][i] = dateValue
+  }
+
+  // create table
+  var table = {
+    type: 'table',
+    columnwidth: [150,200,200,150],
+    columnorder: [0,1,2,3],
+    header: {
+      values: headerValues,
+      align: "center",
+      line: {width: 1, color: 'rgb(50, 50, 50)'},
+      fill: {color: ['rgb(235, 100, 230)']},
+      font: {family: "Arial", size: 11, color: "white"}
+    },
+    cells: {
+      values: cellValues,
+      align: ["center", "center"],
+      line: {color: "black", width: 1},
+      fill: {color: ['rgb(235, 193, 238)', 'rgba(228, 222, 249, 0.65)']},
+      font: {family: "Arial", size: 10, color: ["black"]}
+    },
+    xaxis: 'x',
+    yaxis: 'y',
+    domain: {x: [0,0.4], y: [0,1]}
+  }
+
+  // create 1st plot
+  var trace1 = {
+    x: unpack(rows, 'Date'),
+    y: unpack(rows, 'Hash-rate'),
+    xaxis: 'x1',
+    yaxis: 'y1',
+    mode: 'lines',
+    line: {width: 2, color: '#9748a1'},
+    name: 'hash-rate-TH/s'
+  }
+  // create 2nd plot
+  var trace2 = {
+    x: unpack(rows, 'Date'),
+    y: unpack(rows, 'Mining-revenue-USD'),
+    xaxis: 'x2',
+    yaxis: 'y2',
+    mode: 'lines',
+    line: {width: 2, color: '#b04553'},
+    name: 'Mining-revenue-USD'
+  }
+
+  // create 3rd plot
+  var trace3 = {
+    x: unpack(rows, 'Date'),
+    y: unpack(rows, 'Transaction-fees-BTC'),
+    xaxis: 'x3',
+    yaxis: 'y3',
+    mode: 'lines',
+    line: {width: 2, color: '#af7bbd'},
+    name: 'Transaction-fees-BTC'
+  }
+
+  var data = [table,trace1,trace2,trace3]
+
+  // define subplot axes
+  var axis = {
+    showline: true,
+    zeroline: false,
+    showgrid: true,
+    mirror:true,
+    ticklen: 4,
+    gridcolor: '#ffffff',
+    tickfont: {size: 10},
+  }
+
+  var axis1 = {domain: [0.5, 1], anchor: 'y1', showticklabels: false}
+  var axis2 = {domain: [0.5, 1], anchor: 'y2', showticklabels: false}
+  var axis3 = {domain: [0.5, 1], anchor: 'y3'}
+  var axis4 = {domain: [0.66, 0.98], anchor: 'x1', hoverformat: '.2f'}
+  var axis5 = {domain: [0.34, 0.64], anchor: 'x2', tickprefix: '$', hoverformat: '.2f'}
+  var axis6 = {domain: [0.0, 0.32], anchor: 'x3', tickprefix: '\u20BF', hoverformat: '.2f'}
+
+  // define layout
+  var layout = {
+    title: {text: "Bitcoin mining stats for 180 days"},
+    plot_bgcolor: 'rgba(228, 222, 249, 0.65)',
+    showlegend: false,
+    xaxis1: Object.assign(axis1,axis),
+    xaxis2: Object.assign(axis2,axis),
+    xaxis3: Object.assign(axis3,axis),
+    yaxis1: Object.assign(axis4,axis),
+    yaxis2: Object.assign(axis5,axis),
+    yaxis3: Object.assign(axis6,axis)
+  }
+
+  Plotly.newPlot('myDiv', data, layout);
+
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/table/index.html b/docs/examples/table/index.html new file mode 100644 index 00000000000..686380e99f5 --- /dev/null +++ b/docs/examples/table/index.html @@ -0,0 +1,5063 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Tables - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

table

+
+
+

+ basic-table +

+
+ +
+
var values = [
+      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL</b>'],
+      [1200000, 20000, 80000, 2000, 12120000],
+      [1300000, 20000, 70000, 2000, 130902000],
+      [1300000, 20000, 120000, 2000, 131222000],
+      [1400000, 20000, 90000, 2000, 14102000]]
+
+var data = [{
+  type: 'table',
+  header: {
+    values: [["<b>EXPENSES</b>"], ["<b>Q1</b>"],
+                 ["<b>Q2</b>"], ["<b>Q3</b>"], ["<b>Q4</b>"]],
+    align: "center",
+    line: {width: 1, color: 'black'},
+    fill: {color: "grey"},
+    font: {family: "Arial", size: 12, color: "white"}
+  },
+  cells: {
+    values: values,
+    align: "center",
+    line: {color: "black", width: 1},
+    font: {family: "Arial", size: 11, color: ["black"]}
+  }
+}]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ styled-table +

+
+ +
+
var values = [
+      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL</b>'],
+      [1200000, 20000, 80000, 2000, 12120000],
+      [1300000, 20000, 70000, 2000, 130902000],
+      [1300000, 20000, 120000, 2000, 131222000],
+      [1400000, 20000, 90000, 2000, 14102000]]
+
+var data = [{
+  type: 'table',
+  header: {
+    values: [["<b>EXPENSES</b>"], ["<b>Q1</b>"],
+                 ["<b>Q2</b>"], ["<b>Q3</b>"], ["<b>Q4</b>"]],
+    align: ["left", "center"],
+    line: {width: 1, color: '#506784'},
+    fill: {color: '#119DFF'},
+    font: {family: "Arial", size: 12, color: "white"}
+  },
+  cells: {
+    values: values,
+    align: ["left", "center"],
+    line: {color: "#506784", width: 1},
+     fill: {color: ['#25FEFD', 'white']},
+    font: {family: "Arial", size: 11, color: ["#506784"]}
+  }
+}]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ table-from-a-csv +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/Mining-BTC-180.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+  }
+
+  var headerNames = d3.keys(rows[0]);
+
+  var headerValues = [];
+  var cellValues = [];
+  for (i = 0; i < headerNames.length; i++) {
+    headerValue = [headerNames[i]];
+    headerValues[i] = headerValue;
+    cellValue = unpack(rows, headerNames[i]);
+    cellValues[i] = cellValue;
+  }
+
+  // clean date
+  for (i = 0; i < cellValues[1].length; i++) {
+  var dateValue = cellValues[1][i].split(' ')[0]
+  cellValues[1][i] = dateValue
+  }
+
+
+var data = [{
+  type: 'table',
+  columnwidth: [150,600,1000,900,600,500,1000,1000,1000],
+  columnorder: [0,1,2,3,4,5,6,7,8,9],
+  header: {
+    values: headerValues,
+    align: "center",
+    line: {width: 1, color: 'rgb(50, 50, 50)'},
+    fill: {color: ['rgb(235, 100, 230)']},
+    font: {family: "Arial", size: 8, color: "white"}
+  },
+  cells: {
+    values: cellValues,
+    align: ["center", "center"],
+    line: {color: "black", width: 1},
+    fill: {color: ['rgba(228, 222, 249, 0.65)','rgb(235, 193, 238)', 'rgba(228, 222, 249, 0.65)']},
+    font: {family: "Arial", size: 9, color: ["black"]}
+  }
+}]
+
+var layout = {
+  title: {
+    text: "Bitcoin mining stats for 180 days"
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ changing-size-of-rows-and-columns +

+
+ +
+
var values = [
+      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL<br>EXPENSES</b>'],
+    ["Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad",
+     "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad",
+     "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad",
+     "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad",
+    "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad"]]
+
+var data = [{
+  type: 'table',
+  columnorder: [1,2],
+  columnwidth: [80,400],
+  header: {
+    values: [["<b>EXPENSES</b><br>as of July 2017"], ["<b>DESCRIPTION</b>"]],
+     align: ["left", "center"],
+     height: 40,
+    line: {width: 1, color: '#506784'},
+    fill: {color: '#119DFF'},
+    font: {family: "Arial", size: 12, color: "white"}
+  },
+  cells: {
+    values: values,
+    align: ["left", "center"],
+     height: 30,
+    line: {color: "#506784", width: 1},
+     fill: {color: ['#25FEFD', 'white']},
+    font: {family: "Arial", size: 11, color: ["#506784"]}
+  }
+}]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ alternating-row-colors +

+
+ +
+
var values = [
+      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL</b>'],
+      [1200000, 20000, 80000, 2000, 12120000],
+      [1300000, 20000, 70000, 2000, 130902000],
+      [1300000, 20000, 120000, 2000, 131222000],
+      [1400000, 20000, 90000, 2000, 14102000]]
+
+var headerColor = "grey";
+var rowEvenColor = "lightgrey";
+var rowOddColor = "white";
+
+var data = [{
+  type: 'table',
+  header: {
+    values: [["<b>EXPENSES</b>"], ["<b>Q1</b>"],
+                 ["<b>Q2</b>"], ["<b>Q3</b>"], ["<b>Q4</b>"]],
+    align: "center",
+    line: {width: 1, color: 'black'},
+    fill: {color: headerColor},
+    font: {family: "Arial", size: 12, color: "white"}
+  },
+  cells: {
+    values: values,
+    align: "center",
+    line: {color: "black", width: 1},
+    fill: {color: [[rowOddColor,rowEvenColor,rowOddColor,
+                          rowEvenColor,rowOddColor]]},
+    font: {family: "Arial", size: 11, color: ["black"]}
+  }
+}]
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ table-subplots +

+
+

Please see Table Subplots documentation.

+ + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/ternary-contour/index.html b/docs/examples/ternary-contour/index.html new file mode 100644 index 00000000000..3e8c875d2a6 --- /dev/null +++ b/docs/examples/ternary-contour/index.html @@ -0,0 +1,4719 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Ternary contours - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

ternary-contour

+
+
+

+ basic-filled-ternary-plot +

+
+ +
+
var url = 'https://gist.githubusercontent.com/davenquinn/988167471993bc2ece29/raw/f38d9cb3dd86e315e237fde5d65e185c39c931c2/data.json';
+
+var colors = ['#8dd3c7','#ffffb3','#bebada','#fb8072','#80b1d3','#fdb462','#b3de69','#fccde5','#d9d9d9','#bc80bd','#ccebc5','#ffed6f'];
+
+
+d3.json(url, function(err, rawData) {
+    if(err) throw err;
+
+    plot(rawData);
+});
+
+function plot(rawData) {
+    var data = Object.keys(rawData).map(function(k, i) {
+        var pts = rawData[k];
+        pts = pts.concat(pts[0]);
+
+        return {
+            type: 'scatterternary',
+            mode: 'lines',
+            name: k,
+            a: pts.map(function(d) { return d.clay }),
+            b: pts.map(function(d) { return d.sand }),
+            c: pts.map(function(d) { return d.silt }),
+            line: { color: '#444' },
+            fill: 'toself',
+            fillcolor: colors[i],
+            hoveron:'fills+points'
+        };
+    });
+
+    var layout = {
+        ternary: {
+            sum: 100,
+            aaxis: makeAxis('Clay'),
+            baxis: makeAxis('Sand'),
+            caxis: makeAxis('Silt')
+        },
+        showlegend: false,
+        width: 700,
+        annotations: [{
+            showarrow: false,
+            text: 'Soil Types Fill Plot',
+            x: 0.15,
+            y: 1.1
+        }]
+    };
+
+    Plotly.newPlot('myDiv', data, layout);
+}
+
+function makeAxis(title) {
+  return {
+      title: {
+        text: title
+      },
+      ticksuffix: '%',
+      min: 0.01,
+      linewidth: 2,
+      ticks: 'outside',
+      ticklen: 8,
+      showgrid: true,
+  };
+}
+
+ +
+ Inspired from Daven Quinn's block +
+ +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/ternary-plots/index.html b/docs/examples/ternary-plots/index.html new file mode 100644 index 00000000000..3cb8483c99b --- /dev/null +++ b/docs/examples/ternary-plots/index.html @@ -0,0 +1,4865 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Ternary Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

ternary-plots

+
+
+

+ basic-ternary-plot-with-markers +

+
+ +
+
var rawData = [
+    {journalist:75,developer:25,designer:0,label:'point 1'},
+    {journalist:70,developer:10,designer:20,label:'point 2'},
+    {journalist:75,developer:20,designer:5,label:'point 3'},
+    {journalist:5,developer:60,designer:35,label:'point 4'},
+    {journalist:10,developer:80,designer:10,label:'point 5'},
+    {journalist:10,developer:90,designer:0,label:'point 6'},
+    {journalist:20,developer:70,designer:10,label:'point 7'},
+    {journalist:10,developer:20,designer:70,label:'point 8'},
+    {journalist:15,developer:5,designer:80,label:'point 9'},
+    {journalist:10,developer:10,designer:80,label:'point 10'},
+    {journalist:20,developer:10,designer:70,label:'point 11'},
+];
+
+Plotly.newPlot('myDiv', [{
+    type: 'scatterternary',
+    mode: 'markers',
+    a: rawData.map(function(d) { return d.journalist; }),
+    b: rawData.map(function(d) { return d.developer; }),
+    c: rawData.map(function(d) { return d.designer; }),
+    text: rawData.map(function(d) { return d.label; }),
+    marker: {
+        symbol: 100,
+        color: '#DB7365',
+        size: 14,
+        line: { width: 2 }
+    },
+}], {
+    ternary: {
+        sum: 100,
+        aaxis: makeAxis('Journalist', 0),
+        baxis: makeAxis('<br>Developer', 45),
+        caxis: makeAxis('<br>Designer', -45),
+        bgcolor: '#fff1e0'
+    },
+    annotations: [{
+      showarrow: false,
+      text: 'Replica of Tom Pearson\'s <a href="http://bl.ocks.org/tomgp/7674234">block</a>',
+        x: 1.0,
+        y: 1.3,
+        font: { size: 15 }
+    }],
+    paper_bgcolor: '#fff1e0',
+});
+
+function makeAxis(title, tickangle) {
+    return {
+        title: {
+            text: title,
+            font: {
+                size: 20
+            }
+        },
+        tickangle: tickangle,
+        tickfont: {
+            size: 15
+        },
+        tickcolor: 'rgba(0,0,0,0)',
+        ticklen: 5,
+        showline: true,
+        showgrid: true
+    };
+}
+
+ +
+ Inspired from Tom Pearson's block +
+ +
+ + +
+
+ +
+
+
+ +
+
+

+ soil-types-ternary-plot +

+
+ +
+
var url = 'https://gist.githubusercontent.com/davenquinn/988167471993bc2ece29/raw/f38d9cb3dd86e315e237fde5d65e185c39c931c2/data.json';
+
+d3.json(url, function(err, rawData) {
+    if(err) throw err;
+
+    plot(rawData);
+});
+
+function plot(rawData) {
+    var data = Object.keys(rawData).map(function(k) {
+        var pts = rawData[k];
+
+        return {
+            type: 'scatterternary',
+            mode: 'lines',
+            name: k,
+            a: pts.map(function(d) { return d.clay }),
+            b: pts.map(function(d) { return d.sand }),
+            c: pts.map(function(d) { return d.silt }),
+            line: { color: '#c00' }
+        };
+    });
+
+    var layout = {
+        ternary: {
+            sum: 100,
+            aaxis: makeAxis('Clay'),
+            baxis: makeAxis('Sand'),
+            caxis: makeAxis('Silt')
+        },
+        showlegend: false,
+        width: 700,
+        annotations: [{
+            showarrow: false,
+            text: 'Replica of Daven Quinn\'s <a href="http://bl.ocks.org/davenquinn/988167471993bc2ece29">block</a>',
+            x: 0.15,
+            y: 1.1
+        }]
+    };
+
+    Plotly.newPlot('myDiv', data, layout);
+}
+
+function makeAxis(title) {
+  return {
+      title: {
+         text: title
+      },
+      ticksuffix: '%',
+      min: 0.01,
+      linewidth: 2,
+      ticks: 'outside',
+      ticklen: 8,
+      showgrid: true,
+  };
+}
+
+ +
+ Inspired from Daven Quinn's block +
+ +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/text-and-annotations/index.html b/docs/examples/text-and-annotations/index.html new file mode 100644 index 00000000000..b2e6fbdcab9 --- /dev/null +++ b/docs/examples/text-and-annotations/index.html @@ -0,0 +1,5818 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Text and Annotations - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

text-and-annotations

+
+
+

+ adding-text-to-data-in-line-and-scatter-plots +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2],
+  y: [1, 1, 1],
+  mode: 'lines+markers+text',
+  name: 'Lines, Markers and Text',
+  text: ['Text A', 'Text B', 'Text C'],
+  textposition: 'top',
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2],
+  y: [2, 2, 2],
+  mode: 'markers+text',
+  name: 'Markers and Text',
+  text: ['Text D', 'Text E', 'Text F'],
+  textposition: 'bottom',
+  type: 'scatter'
+};
+var trace3 = {
+  x: [0, 1, 2],
+  y: [3, 3, 3],
+  mode: 'lines+text',
+  name: 'Lines and Text',
+  text: ['Text G', 'Text H', 'Text I'],
+  textposition: 'bottom',
+  type: 'scatter'
+};
+var data = [trace1, trace2, trace3];
+var layout = {showlegend: false};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ simple-annotation +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 3, 2, 4, 3, 4, 6, 5],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 5, 1, 2, 2, 3, 4, 2],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  showlegend: false,
+  annotations: [
+    {
+      x: 2,
+      y: 5,
+      xref: 'x',
+      yref: 'y',
+      text: 'Annotation Text',
+      showarrow: true,
+      arrowhead: 7,
+      ax: 0,
+      ay: -40
+    }
+  ]
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ paper-referenced-annotations +

+
+ +
+
Plotly.newPlot('myDiv', [{
+  x: [1,2,3],
+  y: [2,1,2]
+}], {
+  annotations: [{
+    xref: 'paper',
+    yref: 'paper',
+    x: 0,
+    xanchor: 'right',
+    y: 1,
+    yanchor: 'bottom',
+    text: 'X axis label',
+    showarrow: false
+  }, {
+    xref: 'paper',
+    yref: 'paper',
+    x: 1,
+    xanchor: 'left',
+    y: 0,
+    yanchor: 'top',
+    text: 'Y axis label',
+    showarrow: false
+  }]
+
+})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ annotations-with-log-axes +

+
+

If the x or y positions of an annotation reference a log axis, you need to provide that position as a log10 value when adding the annotation. In this example, the yaxis is a log axis so we pass the log10 value of 1000 to the annotation's y position.

+
+
var dates = [
+    "2024-01-01",
+    "2024-01-02",
+    "2024-01-03",
+    "2024-01-04",
+    "2024-01-05",
+    "2024-01-06",
+];
+
+var y_values = [1, 30, 70, 100, 1000, 10000000];
+
+var trace1 = {
+    x: dates,
+    y: y_values,
+    mode: 'lines+markers',
+    type: 'scatter'
+};
+
+var layout = {
+    yaxis: {
+        type: 'log',
+    },
+    annotations: [
+        {
+            x: '2024-01-05',
+            y: Math.log10(1000),
+            text: 'Log axis annotation',
+            showarrow: true,
+            xanchor: 'right',
+        }
+    ]
+};
+
+var data = [trace1];
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multiple-annotations +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 3, 2, 4, 3, 4, 6, 5],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 5, 1, 2, 2, 3, 4, 2],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  showlegend: false,
+  annotations: [
+    {
+      x: 2,
+      y: 5,
+      xref: 'x',
+      yref: 'y',
+      text: 'Annotation Text',
+      showarrow: true,
+      arrowhead: 7,
+      ax: 0,
+      ay: -40
+    },
+    {
+      x: 4,
+      y: 4,
+      xref: 'x',
+      yref: 'y',
+      text: 'Annotation Text 2',
+      showarrow: true,
+      arrowhead: 7,
+      ax: 0,
+      ay: -40
+    }
+  ]
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ subplot-annotations +

+
+ +
+
var trace0 = {
+  x: [1, 2, 3],
+  y: [4, 5, 6],
+  type: 'scatter'
+};
+
+var trace1 = {
+  x: [20, 30, 40],
+  y: [50, 60, 70],
+  xaxis: 'x2',
+  yaxis: 'y2',
+  type: 'scatter'
+};
+
+var data = [trace0, trace1];
+
+var layout = {
+  title: {
+    text: 'Subplot Annotations'
+  },
+  xaxis: {domain: [0, 0.45]},
+  yaxis2: {anchor: 'x2'},
+  xaxis2: {domain: [0.55, 1]},
+  annotations: [
+    {
+      x: 2,
+      y: 5,
+      xref: 'x',
+      yref: 'y',
+      text: 'Annotation A',
+      showarrow: true,
+      arrowhead: 3,
+      ax: -30,
+      ay: -40
+    },
+    {
+      x: 30,
+      y: 60,
+      xref: 'x2',
+      yref: 'y2',
+      text: 'Annotation B',
+      showarrow: true,
+      arrowhead: 2,
+      ax: -25,
+      ay: -40
+    }
+  ]
+};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ 3d-annotations +

+
+ +
+
var data = [{
+    type: "scatter3d",
+    x: ["2017-01-01", "2017-02-10", "2017-03-20"],
+    y: ["A", "B", "C"],
+    z: [1, 1e3, 1e5]
+ }]
+
+var layout = {
+    scene: {
+      camera: {
+        eye: {x: 2.1, y: 0.1, z: 0.9}
+      },
+      xaxis: {
+        title: {
+            text: ""
+        }
+      },
+      yaxis: {
+          title: {
+              text: ""
+          }
+      },
+      zaxis: {
+          type: "log",
+          title: {
+              text: ""
+          }
+      },
+      annotations: [{
+        showarrow: false,
+        x: "2017-01-01",
+        y: "A",
+        z: 0,
+        text: "Point 1",
+        font: {
+          color: "black",
+          size: 12
+        },
+        xanchor: "left",
+        xshift: 10,
+        opacity: 0.7
+      }, {
+        x: "2017-02-10",
+        y: "B",
+        z: 4,
+        text: "Point 2",
+        textangle: 0,
+        ax: 0,
+        ay: -75,
+        font: {
+          color: "black",
+          size: 12
+        },
+        arrowcolor: "black",
+        arrowsize: 3,
+        arrowwidth: 1,
+        arrowhead: 1
+      }, {
+        x: "2017-03-20",
+        y: "C",
+        z: 5,
+        ax: 50,
+        ay: 0,
+        text: "Point 3",
+        arrowhead: 1,
+        xanchor: "left",
+        yanchor: "bottom"
+      }]
+}
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ custom-text-color-and-styling +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2],
+  y: [1, 1, 1],
+  mode: 'lines+markers+text',
+  name: 'Lines, Markers and Text',
+  text: ['Text A', 'Text B', 'Text C'],
+  textposition: 'top right',
+  textfont: {
+    family: 'sans serif',
+    size: 18,
+    color: '#1f77b4'
+  },
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2],
+  y: [2, 2, 2],
+  mode: 'lines+markers+text',
+  name: 'Lines and Text',
+  text: ['Text G', 'Text H', 'Text I'],
+  textposition: 'bottom',
+  textfont: {
+    family: 'sans serif',
+    size: 18,
+    color: '#ff7f0e'
+  },
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {showlegend: false};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ styling-and-coloring-annotations +

+
+ +
+
var trace1 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 1, 3, 2, 4, 3, 4, 6, 5],
+  type: 'scatter'
+};
+var trace2 = {
+  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],
+  y: [0, 4, 5, 1, 2, 2, 3, 4, 2],
+  type: 'scatter'
+};
+var data = [trace1, trace2];
+var layout = {
+  showlegend: false,
+  annotations: [
+    {
+      x: 2,
+      y: 5,
+      xref: 'x',
+      yref: 'y',
+      text: 'max=5',
+      showarrow: true,
+      font: {
+        family: 'Courier New, monospace',
+        size: 16,
+        color: '#ffffff'
+      },
+      align: 'center',
+      arrowhead: 2,
+      arrowsize: 1,
+      arrowwidth: 2,
+      arrowcolor: '#636363',
+      ax: 20,
+      ay: -30,
+      bordercolor: '#c7c7c7',
+      borderwidth: 2,
+      borderpad: 4,
+      bgcolor: '#ff7f0e',
+      opacity: 0.8
+    }
+  ]
+};
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ styling-and-formatting-annotations +

+
+ +
+
var myPlot = document.getElementById('myDiv'),
+   N = 12,
+    x = d3.range(N).map( d3.random.normal(3) ),
+    y1 = d3.range(N).map( d3.random.normal(4) ),
+    y2 = d3.range(N).map( d3.random.normal(4) ),
+    y3 = d3.range(N).map( d3.random.normal(4) ),
+    months = ['Jan', 'Feb', 'Mar',
+          'Apr', 'May', 'June',
+          'July', 'Aug', 'Sept',
+          'Oct', 'Nov', 'Dec'],
+    data = [{ x:x, y:y1,
+             type:'scatter', mode:'markers',
+         name:'2014', text: months,
+             marker:{color:'rgba(200, 50, 100, .7)',
+                      size:16}
+             },
+            { x:x, y:y2,
+             type:'scatter', mode:'markers',
+         name:'2015', text:months,
+             marker:{color:'rgba(120, 20, 130, .7)',
+                     size:16}
+             },
+            { x:x, y:y3,
+             type:'scatter', mode:'markers',
+         name: '2016', text:months,
+             marker:{color:'rgba(10, 180, 180, .8)',
+                     size:16}}];
+    layout = {
+        hovermode:'closest',
+        title: {text: '<b>Formatting Annotations</b> <br> click on a point to plot an annotation'},
+        xaxis: {
+          zeroline: false,
+          title: {
+              text: 'Value A'
+          }
+        },
+        yaxis: {
+            zeroline: false,
+            title: {
+                text: 'Value B'
+            }
+        }
+     };
+
+Plotly.newPlot('myDiv', data, layout);
+
+myPlot.on('plotly_click',
+    function(data){
+      var point = data.points[0],
+          newAnnotation = {
+            x: point.xaxis.d2l(point.x),
+            y: point.yaxis.d2l(point.y),
+            arrowhead: 6,
+            ax: 0,
+            ay: -80,
+            bgcolor: 'rgba(255, 255, 255, 0.9)',
+            arrowcolor: point.fullData.marker.color,
+            font: {size:12},
+            bordercolor: point.fullData.marker.color,
+            borderwidth: 3,
+            borderpad: 4,
+            text: '<i>Series Identification</i>' + <br>
+                  '<b>Year</b>       '+(point.data.name) + '<br>' +
+                  '<i>Point Identification</i><br>' +
+                  '<b>Month</b>      '+ (months[point.pointNumber]) +
+                  '<br><i>Point Values</i><br>' +
+                  '<b>A</b>     '+(point.x).toPrecision(4) +
+                  '<br><b>B</b>     '+(point.y).toPrecision(4)
+
+        },
+        divid = document.getElementById('myDiv'),
+        newIndex = (divid.layout.annotations || []).length;
+    console.log(point.pointNumber)
+     // delete instead if clicked twice
+    if(newIndex) {
+       var foundCopy = false;
+       divid.layout.annotations.forEach(function(ann, sameIndex) {
+         if(ann.text === newAnnotation.text ) {
+           Plotly.relayout('myDiv', 'annotations[' + sameIndex + ']', 'remove');
+           foundCopy = true;
+         }
+       });
+       if(foundCopy) return;
+     }
+     Plotly.relayout('myDiv', 'annotations[' + newIndex + ']', newAnnotation);
+  })
+  .on('plotly_clickannotation', function(event, data) {
+    Plotly.relayout('myDiv', 'annotations[' + data.index + ']', 'remove');
+  });
+
+ + + + + +
+
+
+ +
+
+

+ webgl-text-and-annotations +

+
+ +
+
var n = 250;
+var t = 12;
+var x = [];
+var y = [];
+var z = [];
+var text = [];
+var arr = ["A","T","G", "C"];
+
+for (var j = 0; j < t; j++){
+  ztemp = [];
+  for (var i = 0; i < n; i++) {
+    x.push(i);
+    y.push(j);
+    ztemp.push(Math.floor(Math.random() * 10));
+    text.push(arr[Math.floor(Math.random() * 4)])
+  }
+  z.push(ztemp)
+}
+
+var steps = [];
+for (var e = 0; e < n-30; e++){
+  steps.push({
+      label: e,
+      value: e,
+      method: 'relayout',
+      args: ['xaxis', {range: [-0.5 + e, 30.5 + e]}]
+    })
+}
+
+data1 = {
+  x: x,
+  y: y,
+  mode: "text",
+  text: text,
+  type: "scattergl",
+  textfont: {
+    size: 20
+    }
+  }
+
+data2 = {
+  z: z,
+  type: "heatmap"
+  }
+
+sliders = [{
+      active: 0,
+      steps: steps
+    }]
+
+layout = {
+  sliders: sliders,
+  xaxis: {
+    range: [-0.5, 30.5],
+    showline: false,
+    zeroline: false,
+     showgrid: false
+  },
+  yaxis: {
+    showline: false,
+    zeroline: false,
+     showgrid: false
+  }  
+  }
+
+data = [data1, data2]
+Plotly.newPlot('myDiv', {data:data,
+                     layout:layout});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/texttemplate/index.html b/docs/examples/texttemplate/index.html new file mode 100644 index 00000000000..c7a5290d789 --- /dev/null +++ b/docs/examples/texttemplate/index.html @@ -0,0 +1,4735 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Text Template - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

texttemplate

+
+
+

+ add-text-template-in-pie-chart +

+
+

To show an arbitrary text in your chart you can use texttemplate, which is a template string used for rendering the information, and will override textinfo.

+
+
var data = [{
+  type: "pie",
+  values: [2, 5, 3, 2.5],
+  labels: ["R", "Python", "Java Script", "Matlab"],
+  texttemplate: "%{label}: %{value} (%{percent})",
+  textposition: "inside"
+}];
+
+Plotly.newPlot("myDiv", data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ customize-text-template +

+
+

The following example uses textfont to customize the added text.

+
+
var data = [{
+      type: "scatterternary",
+      a: [3, 2, 5],
+      b: [2, 5, 2],
+      c: [5, 2, 2],
+      mode: "markers+text",
+      text: ["A", "B", "C"],
+      texttemplate: "%{text}<br>(%{a:.2f}, %{b:.2f}, %{c:.2f})",
+      textposition: "bottom center",
+      textfont:{'family': "Times", 'size': [18, 21, 20], 'color': ["IndianRed", "MediumPurple", "DarkOrange"]}
+}];
+
+Plotly.newPlot("myDiv", data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ set-date-in-text-template +

+
+

The following example displays how to show date by setting axis.type in funnel charts.

+
+
var data = [{
+  type: 'funnel',
+  name: 'Montreal',
+  orientation: "h",
+  y: ["2018-01-01", "2018-07-01", "2019-01-01", "2020-01-01"],
+  x: [100, 60, 40, 20],
+  textposition: "inside",
+  texttemplate: "%{label}"
+},{
+  type: "funnel",
+  name: 'Vancouver',
+  orientation: "h",
+  y: ["2018-01-01", "2018-07-01", "2019-01-01", "2020-01-01"],
+  x: [90, 70, 50, 10],
+  textposition: "inside",
+  textinfo: "label"}]
+
+var layout = {yaxis: {type: 'date'}}
+
+Plotly.newPlot("myDiv", data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/tick-formatting/index.html b/docs/examples/tick-formatting/index.html new file mode 100644 index 00000000000..9b996f66946 --- /dev/null +++ b/docs/examples/tick-formatting/index.html @@ -0,0 +1,5233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Formatting Ticks - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

tick-formatting

+
+
+

+ layout-attributes-with-respect-to-formatting-ticks +

+
+ +
+
{
+  xaxis: {
+    /* show/hide tick labels (defaults to true) */
+    showticklabels: boolean,
+    /*  Set the tick mode for the axis "auto" or "linear" or "array" */
+    tickmode: 'auto',
+
+    /* Set the placement of the first tick*/
+    tick0: '',
+    /* Set the step in-between ticks*/
+    dtick: '',
+    /* Specifies the maximum number of ticks */
+    nticks: 0,
+
+    /* Set the values at which ticks on this axis appear */
+    tickvals: [ /* */ ],
+    /* Set the text displayed at the ticks position via tickvals */
+    ticktext: [ /* */ ],
+    /* Set the source reference for tickvals */
+    tickvalssrc: '',
+    /* Set the source reference for ticktext */
+    tickvtextsrc: '',
+
+    /* Set the tick label formatting rule using d3 formatting mini-languages */
+    tickformat: '',
+    /* Set the tickformat per zoom level */
+    tickformatstops: {
+      enabled: true,
+      /* Set the range of the dtick values which describe the zoom level, it is possible to omit "min" or "max" value by passing "null" */
+      dtickrange: ["min", "max"],
+      /* dtickformat for described zoom level, the same as "tickformat" */
+      value: string,
+    },
+
+    /* Set the ticks to display with a prefix: "all" or "first" or "last" or "none" */
+    showtickprefix: 'all',
+    tickprefix: string,
+
+    /* Set the ticks to display with a suffix: "all" or "first" or "last" or "none" */
+    showticksuffix: 'all',
+    ticksuffix: string,
+
+    /* Determines a formatting rule for the tick exponents: "none" or "e" or "E" or "power" or "SI" or "B" */
+    exponentformat: 'B',
+  }
+  /* similarly for yaxis */
+}
+
+ + +
+
+
+ +
+
+

+ tickmode---linear +

+
+ +
+
var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
+var y = [28.8, 28.5, 37, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9];
+var data = [{
+  x: x,
+  y: y,
+  type: 'scatter'
+}];
+var layout = {
+  xaxis: {
+    tickmode: "linear", //  If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick`
+    tick0: 0.5,
+    dtick: 0.75
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ tickmode---linear-(date) +

+
+ +
+
var x = ['2000-01', '2000-02', '2000-03', '2000-04', '2000-05', '2000-06', '2000-07', '2000-08', '2000-09', '2000-10', '2000-11', '2000-12', '2001-01'];
+var y = [-36.5, -26.6, -43.6, -52.3, -71.5, -81.4, -80.5, -82.2, -76, -67.3, -46.1, -35, -40];
+var data = [{
+  x: x,
+  y: y,
+  type: 'scatter'
+}];
+var layout = {
+  xaxis: {
+    tickmode: "linear", //  If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick`
+    tick0: '1999-12-15',
+    dtick: 30 * 24 * 60 * 60 * 1000 // milliseconds
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ tickmode---array +

+
+ +
+
var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
+var y = [28.8, 28.5, 37, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9];
+var data = [{
+  x: x,
+  y: y,
+  type: 'scatter'
+}];
+var layout = {
+  xaxis: {
+    tickmode: "array", // If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`.
+    tickvals: [1, 3, 5, 7, 9, 11],
+    ticktext: ['One', 'Three', 'Five', 'Seven', 'Nine', 'Eleven']
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ using-tickformat +

+
+ +
+
var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
+var y = [0.18, 0.38, 0.56, 0.46, 0.59, 0.4, 0.78, 0.77, 0.74, 0.42, 0.45, 0.39];
+var data = [{
+  x: x,
+  y: y,
+  type: 'scatter'
+}];
+var layout = {
+  yaxis: {
+    tickformat: '%' // For more formatting types, see: https://github.com/d3/d3-format/blob/master/README.md#locale_format
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ using-tickformat-(date) +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function (err, rows) {
+
+  function unpack(rows, key) {
+    return rows.map(function (row) {
+      return row[key];
+    });
+  }
+
+
+  var trace1 = {
+    type: "scatter",
+    mode: "lines",
+    name: 'AAPL High',
+    x: unpack(rows, 'Date'),
+    y: unpack(rows, 'AAPL.High'),
+    line: {
+      color: '#17BECF'
+    }
+  }
+
+  var trace2 = {
+    type: "scatter",
+    mode: "lines",
+    name: 'AAPL Low',
+    x: unpack(rows, 'Date'),
+    y: unpack(rows, 'AAPL.Low'),
+    line: {
+      color: '#7F7F7F'
+    }
+  }
+
+  var data = [trace1, trace2];
+
+  var layout = {
+    title: {text: 'Time series with custom tickformat'},
+    xaxis: {
+      tickformat: '%d %B (%a)\n %Y' // For more time formatting types, see: https://github.com/d3/d3-time-format/blob/master/README.md
+    }
+  };
+
+  Plotly.newPlot('myDiv', data, layout);
+})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ tickformatstops-to-customize-for-different-zoom-levels +

+
+ +
+
var gd = document.getElementById('myDiv');
+var x = ["2005-01", "2005-02", "2005-03", "2005-04", "2005-05", "2005-06", "2005-07"];
+var y = [-20, 10, -5, 0, 5, -10, 20];
+var data = [{
+  x: x,
+  y: y,
+  type: 'scatter'
+}];
+var layout = {
+  xaxis: {
+    tickformatstops: [{
+        "dtickrange": [null, 1000],
+        "value": "%H:%M:%S.%L ms"
+      },
+      {
+        "dtickrange": [1000, 60000],
+        "value": "%H:%M:%S s"
+      },
+      {
+        "dtickrange": [60000, 3600000],
+        "value": "%H:%M m"
+      },
+      {
+        "dtickrange": [3600000, 86400000],
+        "value": "%H:%M h"
+      },
+      {
+        "dtickrange": [86400000, 604800000],
+        "value": "%e. %b d"
+      },
+      {
+        "dtickrange": [604800000, "M1"],
+        "value": "%e. %b w"
+      },
+      {
+        "dtickrange": ["M1", "M12"],
+        "value": "%b '%y M"
+      },
+      {
+        "dtickrange": ["M12", null],
+        "value": "%Y Y"
+      }
+    ]
+  }
+};
+
+Plotly.newPlot("myDiv", data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ using-exponentformat +

+
+ +
+
var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
+var y = [68000, 52000, 60000, 20000, 95000, 40000, 60000, 79000, 74000, 42000, 20000, 90000];
+var data = [{
+  x: x,
+  y: y,
+  type: 'scatter'
+}];
+var layout = {
+  yaxis: {
+    showexponent: 'all',
+    exponentformat: 'e'
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ include-locale-config +

+
+ +
+
var x = ['2013-02-04', '2013-04-05', '2013-06-06', '2013-08-07', '2013-10-02'];
+var y = [1, 4, 3, 6, 2];
+var data = [{
+  x: x,
+  y: y,
+  type: 'scatter'
+}];
+var layout = {
+  xaxis: {
+    tickformat: '%a %e %b \n %Y'
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout, {
+  locale: 'fr' // For more info, see: https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization and https://github.com/plotly/plotly.js/tree/master/dist
+});
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/tile-county-choropleth/index.html b/docs/examples/tile-county-choropleth/index.html new file mode 100644 index 00000000000..c7bde434ccf --- /dev/null +++ b/docs/examples/tile-county-choropleth/index.html @@ -0,0 +1,4772 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Tile Choropleth Maps - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

tile-county-choropleth

+
+
+

+ basic-tile +

+
+

This tutorial uses Maplibre GL JS to make a map of US states using vector tiles.

+
+
var data = [{
+  type: "choroplethmap", locations: ["NY", "MA", "VT"], z: [-50, -10, -20],
+  geojson: "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json"
+}];
+
+var layout = {map: {center: {lon: -74, lat: 43}, zoom: 3.5},
+              width: 600, height:400};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ streets-tile +

+
+

The following example sets geojson object of type feature and geometries of type 'Polygon'. For more information see geojson attribute in the reference page. +As you see, the scattermap trace is above the Choropleth map trace. To set the Choropleth map trace above all the other traces you should set below attribute.

+
+
var data = [
+   {type: "scattermap", lon: [-86], lat: [34], marker: {size: 20, color: 'purple'}},
+   {
+    type: "choroplethmap",locations: ["AL"], z: [10], coloraxis: "coloraxis",           geojson: {type: "Feature", id: "AL", geometry: {type: "Polygon", coordinates: [[
+    [-86, 35], [-85, 34], [-85, 32], [-85, 32], [-85, 32], [-85, 32], [-85, 31],
+    [-86, 31], [-87, 31], [-87, 31], [-88, 30], [-88, 30], [-88, 30], [-88, 30],
+    [-88, 34], [-88, 35]]]
+   }}}];
+
+var layout = {width: 600, height: 400, map: {style: 'streets',
+    center: {lon: -86, lat: 33}, zoom: 5}, marker: {line: {color: "blue"}},
+    coloraxis: {showscale: false, colorscale: "Viridis"}};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ dark-tile +

+
+

This example uses zmin and zmax to define the lower bound and upper bound of the color domain. If these attributes are not set, Plotly determines the color domain based on the input data.

+
+
var data = [{
+ type: "choroplethmap", name: "US states", geojson: "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json", locations: [ "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY" ],
+z: [ 141, 140, 155, 147, 132, 146, 151, 137, 146, 136, 145, 141, 149, 151, 138, 158, 164, 141, 146, 145, 142, 150, 155, 160, 156, 161, 147, 164, 150, 152, 155, 167, 145, 146, 151, 154, 161, 145, 155, 150, 151, 162, 172, 169, 170, 151, 152, 173, 160, 176 ],
+zmin: 25, zmax: 280, colorbar: {y: 0, yanchor: "bottom", title: {text: "US states", side: "right"}}}
+ ];
+
+var layout = {map: {style: "dark", center: {lon: -110, lat: 50}, zoom: 0.8}, width: 600, height: 400, margin: {t: 0, b: 0}};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ basic-tile-using-mapbox +

+
+

> Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

+

Earlier examples use traces that render with Maplibre GL JS. +These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, +which are now deprecated. Here's one of the earlier examples using the Mapbox-based choroplethmapbox trace

+
+
var data = [{
+  type: "choroplethmapbox", locations: ["NY", "MA", "VT"], z: [-50, -10, -20],
+  geojson: "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json"
+}];
+
+var layout = {mapbox: {center: {lon: -74, lat: 43}, zoom: 3.5},
+              width: 600, height:400};
+
+var config = {mapboxAccessToken: "your access token"};
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/tile-density-heatmaps/index.html b/docs/examples/tile-density-heatmaps/index.html new file mode 100644 index 00000000000..9b041cee39c --- /dev/null +++ b/docs/examples/tile-density-heatmaps/index.html @@ -0,0 +1,4772 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Tile Density Heatmap - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

tile-density-heatmaps

+
+
+

+ light-tile +

+
+ +
+
var data = [
+  {type: "densitymap", lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2],
+   radius: 50, colorbar: {y: 1, yanchor: 'top', len: 0.45}},
+  {type: 'densitymap', lon: [-10, -20, -30], lat: [15, 25, 35],
+   radius: [50, 100, 10],  colorbar: {y: 0, yanchor: 'bottom', len: 0.45}
+  }];
+
+var layout = {map: {style: 'light', center: {lat: 20}}, width: 600, height: 400};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ outdoors-tile +

+
+ +
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/earthquakes-23k.csv',
+  function(err, rows){function unpack(rows, key) {return rows.map(function(row){ return row[key];
+})};
+
+var data = [{
+  lon: unpack(rows, 'Longitude'), lat: unpack(rows, 'Latitude'), radius:10,
+  z: unpack(rows, 'Magnitude'), type: "densitymap", coloraxis: 'coloraxis',
+  hoverinfo: 'skip'}];
+
+var layout = {
+    map: {center: {lon: 60, lat: 30}, style: "outdoors", zoom: 2},
+    coloraxis: {colorscale: "Viridis"}, title: {text: "Earthquake Magnitude"},
+    width: 600, height: 400, margin: {t: 30, b: 0}};
+
+Plotly.newPlot('myDiv', data, layout);
+})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ stamen-terrain-tile +

+
+ +
+
var data = [{type: 'densitymapbox', lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2]}];
+
+var layout = {width: 600, height: 400, mapbox: {style: 'https://tiles.stadiamaps.com/styles/stamen_watercolor.json?api_key=YOUR-API-KEY'}};
+
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ light-tile-(mapbox)---requires-token +

+
+

Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

+

Earlier examples use traces that render with Maplibre GL JS. +These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, +which are now deprecated. Here's one of the earlier examples written using the Mapbox-based densitymapbox trace.

+
+
var data = [
+  {type: "densitymapbox", lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2],
+   radius: 50, colorbar: {y: 1, yanchor: 'top', len: 0.45}},
+  {type: 'densitymapbox', lon: [-10, -20, -30], lat: [15, 25, 35],
+   radius: [50, 100, 10],  colorbar: {y: 0, yanchor: 'bottom', len: 0.45}
+  }];
+
+var layout = {mapbox: {style: 'light', center: {lat: 20}}, width: 600, height: 400};
+
+var config = {mapboxAccessToken: "your access token"};
+
+Plotly.newPlot('myDiv', data, layout, config);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/tile-map-layers/index.html b/docs/examples/tile-map-layers/index.html new file mode 100644 index 00000000000..6dc444716ea --- /dev/null +++ b/docs/examples/tile-map-layers/index.html @@ -0,0 +1,4983 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Tile Map Layers - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

tile-map-layers

+
+
+

+ how-layers-work-in-tile-based-maps +

+
+

If your figure contains one or more traces of type Scattermap, Choroplethmap or Densitymap, the layout object in your figure contains configuration information for the map itself. The map is composed of various layers, of three different types.

+
    +
  1. `layout.map.style` defines the lowest layers, also known as your "base map"
  2. +
  3. The various traces in `data` are by default rendered above the base map (although this can be controlled via the `below` attribute).
  4. +
  5. `layout.map.layers` is an array that defines more layers that are by default rendered above the traces in `data` (although this can also be controlled via the `below` attribute).
  6. +
+ + +
+
+
+ +
+
+

+ openstreetmap-tiles +

+
+

Here is a simple map rendered with "open-street-map" tiles.

+
+
d3.csv(
+    "https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv",
+    function(err, rows) {
+        function unpack(rows, key) {
+            return rows.map(function(row) {
+                return row[key];
+            });
+        }
+
+        var data = [
+            {
+                type: "scattermap",
+                text: unpack(rows, "Globvalue"),
+                lon: unpack(rows, "Lon"),
+                lat: unpack(rows, "Lat"),
+                marker: { color: "fuchsia", size: 4 }
+            }
+        ];
+
+        var layout = {
+            dragmode: "zoom",
+            map: { style: "open-street-map", center: { lat: 38, lon: -90 }, zoom: 3 },
+            margin: { r: 0, t: 0, b: 0, l: 0 }
+        };
+
+        Plotly.newPlot("myDiv", data, layout);
+    }
+);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ using-"layout.map.layers"-to-specify-a-base-map +

+
+

If you have access to your own private tile servers, or wish to use a tile server not included in the list above, the recommended approach is to set layout.map.style to "white-bg" and to use layout.map.layers with below to specify a custom base map. +If you omit the below attribute when using this approach, your data will likely be hidden by fully-opaque raster tiles!

+ + +
+
+
+ +
+
+

+ base-tiles-from-the-usgs +

+
+

Here is an example of a map which uses a public USGS imagery map, specified in layout.map.layers, and which is rendered below the data layer.

+
+
d3.csv(
+    "https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv",
+    function(err, rows) {
+        function unpack(rows, key) {
+            return rows.map(function(row) {
+                return row[key];
+            });
+        }
+
+var data = [
+    {
+        type: "scattermap",
+        text: unpack(rows, "Globvalue"),
+        lon: unpack(rows, "Lon"),
+        lat: unpack(rows, "Lat"),
+        marker: { color: "fuchsia", size: 4 }
+    }
+];
+
+var layout = {
+    dragmode: "zoom",
+    map: {
+        style: "white-bg",
+        layers: [
+            {
+                sourcetype: "raster",
+                source: ["https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}"],
+                below: "traces"
+            }
+        ],
+        center: { lat: 38, lon: -90 },
+        zoom: 3
+    },
+    margin: { r: 0, t: 0, b: 0, l: 0 }
+};
+
+Plotly.newPlot("myDiv", data, layout);
+    }
+);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ base-tiles-from-the-usgs-radar-overlay-from-environment-canada +

+
+

Here is the same example, with in addition, a WMS layer from Environment Canada which displays near-real-time radar imagery in partly-transparent raster tiles, rendered above the go.Scattermap trace, as is the default.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){
+      function unpack(rows, key) {
+          return rows.map(function(row) { return row[key]; });
+        }
+
+var data = [{
+        type: 'scattermap', text: unpack(rows, 'Globvalue'),
+        lon: unpack(rows, 'Lon'), lat: unpack(rows, 'Lat'),
+        marker: {color: 'fuchsia', size: 4}
+    }];
+
+var layout = {
+    dragmode: 'zoom',
+    map: {
+        style: 'white-bg',
+        layers: [
+            {
+            "below": 'traces',
+            "sourcetype": "raster",
+            "source": [
+                "https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}"
+            ]
+        },
+            {
+             sourcetype: "raster",
+             source: ["https://geo.weather.gc.ca/geomet/?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX={bbox-epsg-3857}&CRS=EPSG:3857&WIDTH=1000&HEIGHT=1000&LAYERS=RADAR_1KM_RDBR&TILED=true&FORMAT=image/png"]}],
+        below: 'traces',
+        center: {lat: 38, lon: -90}, zoom: 4},
+    margin: {r: 0, t: 0, b: 0, l: 0},
+    showlegend: false};
+
+Plotly.newPlot('myDiv', data, layout);
+  });
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ dark-tiles +

+
+ +
+
var url = "https://maplibre.org/maplibre-gl-js/docs/assets/significant-earthquakes-2015.geojson";
+
+d3.json(url, (err, raw) => {
+  var lon = raw.features.map(f => f.geometry.coordinates[0]);
+  var lat = raw.features.map(f => f.geometry.coordinates[1]);
+  var z = raw.features.map(f => f.properties.mag);
+
+  var data = [
+    { type: "scattermap", lon: lon, lat: lat, z: z, hoverinfo: "y" }
+  ];
+
+  var layout = {
+    map: { style: "dark", zoom: 2, center: { lon: -150, lat: 60 } },
+    margin: { t: 0, b: 0 }
+  };
+
+  Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ mapbox-maps-and-access-tokens +

+
+

> Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

+

The word "mapbox" in the trace names and layout.mapbox refers to the Mapbox GL JS open-source library. +If your basemap in layout.mapbox.style uses data from the Mapbox service, +then you will need to register for a free account at https://mapbox.com/ and obtain a Mapbox Access token. +If your basemap uses data from the Stadia Maps service (see below for details), you'll need to register for a Stadia Maps account and token.

+

To use a token, provide it as mapboxAccessToken in the setPlotConfig function, or as a variable that would be passed as an argument of newPlot. +If your layout.mapbox.style does not use data from the Mapbox service, you do not need to register for a Mapbox account.

+
Base Maps in `layout.mapbox.style`
+

The accepted values for layout.mapbox.style are one of the following tiles.

+
    +
  1. `"white-bg"` yields an empty white canvas which results in no external HTTP requests
  2. +
  3. `"open-street-map"`, `"carto-positron"`, or `"carto-darkmatter"` yield maps composed of *raster* tiles from various public tile servers which do not require signups or access tokens
  4. +
  5. `"stamen-terrain"`, `"stamen-toner"` or `"stamen-watercolor"` yield maps composed of *raster* tiles from the [Stadia Maps service](https://stadiamaps.com/) and require a Stadia Maps account and token.
  6. +
  7. `"basic"`, `"streets"`, `"outdoors"`, `"light"`, `"dark"`, `"satellite"`, or `"satellite-streets"` yield maps composed of *vector* tiles from the Mapbox service, and *do* require a Mapbox Access Token or an on-premise Mapbox installation.
  8. +
  9. A Mapbox service style URL, which requires a Mapbox Access Token or an on-premise Mapbox installation.
  10. +
  11. A Mapbox Style object as defined at https://docs.mapbox.com/mapbox-gl-js/style-spec/
  12. +
+ + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/time-series/index.html b/docs/examples/time-series/index.html new file mode 100644 index 00000000000..6fc5e87afdf --- /dev/null +++ b/docs/examples/time-series/index.html @@ -0,0 +1,4975 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Time Series and Date Axes - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

time-series

+
+
+

+ date-strings +

+
+ +
+
var data = [
+  {
+    x: ['2013-10-04 22:23:00', '2013-11-04 22:23:00', '2013-12-04 22:23:00'],
+    y: [1, 3, 6],
+    type: 'scatter'
+  }
+];
+
+Plotly.newPlot('myDiv', data);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ basic-time-series +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+
+var trace1 = {
+  type: "scatter",
+  mode: "lines",
+  name: 'AAPL High',
+  x: unpack(rows, 'Date'),
+  y: unpack(rows, 'AAPL.High'),
+  line: {color: '#17BECF'}
+}
+
+var trace2 = {
+  type: "scatter",
+  mode: "lines",
+  name: 'AAPL Low',
+  x: unpack(rows, 'Date'),
+  y: unpack(rows, 'AAPL.Low'),
+  line: {color: '#7F7F7F'}
+}
+
+var data = [trace1,trace2];
+
+var layout = {
+  title: {
+    text: 'Date'
+  },
+};
+
+Plotly.newPlot('myDiv', data, layout);
+})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ manually-set-range +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+
+var trace1 = {
+  type: "scatter",
+  mode: "lines",
+  x: unpack(rows, 'Date'),
+  y: unpack(rows, 'AAPL.High'),
+  line: {color: '#17BECF'}
+}
+
+var trace2 = {
+  type: "scatter",
+  mode: "lines",
+  x: unpack(rows, 'Date'),
+  y: unpack(rows, 'AAPL.Low'),
+  line: {color: '#7F7F7F'}
+}
+
+var data = [trace1,trace2];
+
+var layout = {
+  title: {
+    text: 'Custom Range'
+  },
+  xaxis: {
+    range: ['2016-07-01', '2016-12-31'],
+    type: 'date'
+  },
+  yaxis: {
+    autorange: true,
+    range: [86.8700008333, 138.870004167],
+    type: 'linear'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+})
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ time-series-with-rangeslider +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+}
+
+
+var trace1 = {
+  type: "scatter",
+  mode: "lines",
+  name: 'AAPL High',
+  x: unpack(rows, 'Date'),
+  y: unpack(rows, 'AAPL.High'),
+  line: {color: '#17BECF'}
+}
+
+var trace2 = {
+  type: "scatter",
+  mode: "lines",
+  name: 'AAPL Low',
+  x: unpack(rows, 'Date'),
+  y: unpack(rows, 'AAPL.Low'),
+  line: {color: '#7F7F7F'}
+}
+
+var data = [trace1,trace2];
+
+var layout = {
+  title: {text: 'Time Series with Rangeslider'},
+  xaxis: {
+    autorange: true,
+    range: ['2015-02-17', '2017-02-16'],
+    rangeselector: {buttons: [
+        {
+          count: 1,
+          label: '1m',
+          step: 'month',
+          stepmode: 'backward'
+        },
+        {
+          count: 6,
+          label: '6m',
+          step: 'month',
+          stepmode: 'backward'
+        },
+        {step: 'all'}
+      ]},
+    rangeslider: {range: ['2015-02-17', '2017-02-16']},
+    type: 'date'
+  },
+  yaxis: {
+    autorange: true,
+    range: [86.8700008333, 138.870004167],
+    type: 'linear'
+  }
+};
+
+Plotly.newPlot('myDiv', data, layout);
+})
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/treemaps/index.html b/docs/examples/treemaps/index.html new file mode 100644 index 00000000000..f7dd6110da2 --- /dev/null +++ b/docs/examples/treemaps/index.html @@ -0,0 +1,4945 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Treemap Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

treemaps

+
+
+

+ basic-treemap +

+
+

Treemap charts visualize hierarchical data using nested rectangles. Same as Sunburst the hierarchy is defined by labels and parents attributes. Click on one sector to zoom in/out, which also displays a pathbar in the upper-left corner of your treemap. To zoom out you can use the path bar as well.

+
+
data = [{
+      type: "treemap",
+      labels: ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
+      parents: ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ]
+}]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ set-different-attributes-in-treemap +

+
+

This example uses the following attributes:

+
    +
  1. [values](https://plotly.com/javascript/reference/treemap/#treemap-values): sets the values associated with each of the sectors.
  2. +
  3. [textinfo](https://plotly.com/javascript/reference/treemap/#treemap-textinfo): determines which trace information appear on the graph that can be 'text', 'value', 'current path', 'percent root', 'percent entry', and 'percent parent', or any combination of them.
  4. +
  5. [pathbar](https://plotly.com/javascript/reference/treemap/#treemap-pathbar): a main extra feature of treemap to display the current path of the visible portion of the hierarchical map. It may also be useful for zooming out of the graph.
  6. +
  7. [branchvalues](https://plotly.com/javascript/reference/treemap/#treemap-branchvalues): determines how the items in `values` are summed. When set to "total", items in `values` are taken to be value of all its descendants. In the example below Eva = 65, which is equal to 14 + 12 + 10 + 2 + 6 + 6 + 1 + 4.
  8. +
+

When set to "remainder", items in values corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

+
+
var labels = ["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"]
+var parents = ["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve"]
+var data = [{
+      type: "treemap",
+      labels: labels,
+      parents: parents,
+      values:  [10, 14, 12, 10, 2, 6, 6, 1, 4],
+      textinfo: "label+value+percent parent+percent entry",
+      domain: {"x": [0, 0.48]},
+      outsidetextfont: {"size": 20, "color": "#377eb8"},
+      marker: {"line": {"width": 2}},
+      pathbar: {"visible": false}
+    },{
+      type: "treemap",
+      branchvalues: "total",
+      labels: labels,
+      parents: parents,
+      domain: {x: [0.52, 1]},
+      values: [65, 14, 12, 10, 2, 6, 6, 1, 4],
+      textinfo: "label+value+percent parent+percent entry",
+      outsidetextfont: {"size": 20, "color": "#377eb8"},
+      marker: {"line": {"width": 2}},
+      pathbar: {"visible": false}
+    }];
+var layout = {
+  annotations: [{
+    showarrow: false,
+    text: "branchvalues: <b>remainder</b>",
+    x: 0.25,
+    xanchor: "center",
+    y: 1.1,
+    yanchor: "bottom"
+    }, {
+    showarrow: false,
+    text: "branchvalues: <b>total</b>",
+    x: 0.75,
+    xanchor: "center",
+    y: 1.1,
+    yanchor: "bottom"
+    }]}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ set-color-of-treemap-sectors +

+
+

There are three different ways to change the color of the sectors in Treemap: +1) marker.colors, 2) colorway, 3) colorscale. The following examples show how to use each of them.

+
+
var labels = ["A1", "A2", "A3", "A4", "A5", "B1", "B2"];
+var parents = ["", "A1", "A2", "A3", "A4", "", "B1"];
+var data = [{
+  type: 'treemap',
+  labels: labels,
+  parents: parents,
+  marker: {colors: ["pink", "royalblue", "lightgray", "purple", "cyan", "lightgray", "lightblue"]}
+}]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ +

+
+

This example uses treemapcolorway attribute, which should be set in layout.

+
+
var labels = ["A1", "A2", "A3", "A4", "A5", "B1", "B2"];
+var parents = ["", "A1", "A2", "A3", "A4", "", "B1"];
+var data = [{
+  type: 'treemap',
+  labels: labels,
+  parents: parents
+}]
+var layout = {treemapcolorway: ["pink", "lightgray"]}
+
+Plotly.newPlot('myDiv', data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ +

+
+

This example uses marker.colorscale to change the sector's color.

+
+
var values = ["11", "12", "13", "14", "15", "20", "30"]
+var labels = ["A1", "A2", "A3", "A4", "A5", "B1", "B2"]
+var parents = ["", "A1", "A2", "A3", "A4", "", "B1"]
+
+var data = [{
+  type: 'treemap',
+  values: values,
+  labels: labels,
+  parents: parents,
+  marker: {colorscale: 'Blues'}
+}]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ nested-layers-in-treemap +

+
+

The following example uses hierarchical data that includes layers and grouping. Treemap and Sunburst charts reveal insights into the data, and the format of your hierarchical data. maxdepth attribute sets the number of rendered sectors from the given level.

+
+
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]});
+}
+
+var data = [{
+      type: "treemap",
+      ids: unpack(rows, 'ids'),
+      labels: unpack(rows, 'labels'),
+      parents: unpack(rows, 'parents')
+    }];
+
+Plotly.newPlot('myDiv', data);
+})
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/trisurf/index.html b/docs/examples/trisurf/index.html new file mode 100644 index 00000000000..6c54023023f --- /dev/null +++ b/docs/examples/trisurf/index.html @@ -0,0 +1,4923 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Trisurf Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

trisurf

+
+
+

+ basic-trisurf-plot +

+
+ +
+
function trisurf(Tri, X, Y, Z, C) {
+  var data = {
+    type: 'mesh3d',
+    x: X,
+    y: Y,
+    z: Z,
+    i: Tri.map(function(f) { return f[0] }),
+    j: Tri.map(function(f) { return f[1] }),
+    k: Tri.map(function(f) { return f[2] }),
+    facecolor: C,
+    flatshading: true,
+  }
+
+  Plotly.newPlot('myDiv', [data])
+}
+
+
+//Example usage
+trisurf(
+  [
+    [0, 1, 2],
+    [0, 2, 3],
+    [0, 3, 1],
+    [1, 2, 3]
+  ], 
+  [0, 1, 0, 0],
+  [0, 0, 1, 0],
+  [0, 0, 0, 1],
+  [ 
+    'rgb(0, 0, 0)',
+    'rgb(255, 0, 0)',
+    'rgb(0, 255, 0)',
+    'rgb(0, 0, 255)'
+  ])
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ trisurf-cube +

+
+ +
+
var x = [0, 0, 1, 1, 0, 0, 1, 1]
+var y = [0, 1, 1, 0, 0, 1, 1, 0]
+var z = [0, 0, 0, 0, 1, 1, 1, 1]
+var i = [7, 0, 0, 0, 4, 4, 2, 6, 4, 0, 3, 7]
+var j = [3, 4, 1, 2, 5, 6, 5, 5, 0, 1, 2, 2]
+var k = [0, 7, 2, 3, 6, 7, 1, 2, 5, 5, 7, 6]
+
+var facecolor = [
+    'rgb(50, 200, 200)',
+    'rgb(100, 200, 255)',
+    'rgb(150, 200, 115)',
+    'rgb(200, 200, 50)',
+    'rgb(230, 200, 10)',
+    'rgb(255, 140, 0)'
+]
+
+facecolor2 = new Array(facecolor.length * 2);
+
+facecolor.forEach(function(x, i) {
+    facecolor2[i * 2 + 1] = facecolor2[i * 2] = x;
+});
+
+var data = {
+    x: x,
+    y: y,
+    z: z,
+    i: i,
+    j: j,
+    k: k,
+    facecolor: facecolor2,
+    type: 'mesh3d'
+}
+
+Plotly.newPlot('myDiv', [data])
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ extending-the-cube-example-for-boxes +

+
+ +
+
// Note x, y, z define the vertices for a unit cube
+
+var x = [0, 0, 1, 1, 0, 0, 1, 1];
+var y = [0, 1, 1, 0, 0, 1, 1, 0];
+var z = [0, 0, 0, 0, 1, 1, 1, 1];
+var i = [7, 0, 0, 0, 4, 4, 2, 6, 4, 0, 3, 7];
+var j = [3, 4, 1, 2, 5, 6, 5, 5, 0, 1, 2, 2];
+var k = [0, 7, 2, 3, 6, 7, 1, 2, 5, 5, 7, 6];
+
+var range_x = [-2, 2];
+var range_y = [-3, 3];
+var range_z = [-1, 1];
+
+function rectangle(x, y, z, range_x, range_y, range_z) {
+
+  if (range_x.length !== 2 || range_y.length !== 2 || range_z.length !== 2) {
+    throw 'Ranges must contain 2 values';
+  }
+    // we will forego other checks for to limit the length of the example
+    x = x.map(function(e, i) {
+    return range_x[e];
+  });
+
+  y = y.map(function(e, i) {
+    return range_y[e];
+  });
+
+  z = z.map(function(e, i) {
+    return range_z[e];
+  });
+
+    return {x: x, y: y, z: z};
+}
+
+result = rectangle(x, y, z, range_x, range_y, range_z);
+
+// x, y, z now represent the vertices for the rectangular box with
+// the ranges specified above
+x = result.x;
+y = result.y;
+z = result.z;
+
+var facecolor = [
+    'rgb(50, 200, 200)',
+    'rgb(100, 200, 255)',
+    'rgb(150, 200, 115)',
+    'rgb(200, 200, 50)',
+    'rgb(230, 200, 10)',
+    'rgb(255, 140, 0)'
+];
+
+facecolor2 = new Array(facecolor.length * 2);
+facecolor.forEach(function(x, i) {
+    facecolor2[i * 2 + 1] = facecolor2[i * 2] = x;
+});
+
+var data = {
+    x: x,
+    y: y,
+    z: z,
+    i: i,
+    j: j,
+    k: k,
+    facecolor: facecolor2,
+    type: 'mesh3d'
+};
+
+Plotly.newPlot('myDiv', [data]);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/uirevision/index.html b/docs/examples/uirevision/index.html new file mode 100644 index 00000000000..689bf726485 --- /dev/null +++ b/docs/examples/uirevision/index.html @@ -0,0 +1,4672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + uirevision in Plotly.react - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

uirevision

+
+
+

+ persist-user-changes +

+
+

Adding a uirevision attribute and then keeping it the same during the next call to Plotly.react ensures that user +interactions persist.

+
+
const rand = () => Math.random();
+var x = [1, 2, 3, 4, 5];
+const new_data = (trace) => Object.assign(trace, {y: x.map(rand)});
+
+// add random data to three line traces
+var data = [
+    {mode:'lines', line: {color: "#b55400"}},
+    {mode: 'lines', line: {color: "#393e46"}},
+    {mode: 'lines', line: {color: "#222831"}}
+].map(new_data);
+
+var layout = {
+    title: {text: 'User Zoom Persists<br>When uirevision Unchanged'},
+    uirevision:'true',
+    xaxis: {autorange: true},
+    yaxis: {autorange: true}
+};
+
+Plotly.react('myDiv', data, layout);
+
+var myPlot = document.getElementById('myDiv');
+
+var cnt = 0;
+var interval = setInterval(function() {
+    data = data.map(new_data);
+
+    // user interaction will mutate layout and set autorange to false
+    // so we need to reset it to true
+    layout.xaxis.autorange = true;
+    layout.yaxis.autorange = true;
+
+    // not changing uirevision will ensure that user interactions are unchanged
+    // layout.uirevision = rand();
+
+    Plotly.react('myDiv', data, layout);
+    if(cnt === 100) clearInterval(interval);
+}, 2500);
+
+ + + + + +
+
+
+ +
+
+

+ reset-user-changes +

+
+

Changing the uirevision attribute during a Plotly.react call will reset previous user interactions in the updated plot.

+
+
const rand = () => Math.random();
+var x = [1, 2, 3, 4, 5];
+const new_data = (trace) => Object.assign(trace, {y: x.map(rand)});
+
+// add random data to three line traces
+var data = [
+    {mode:'lines', line: {color: "#b55400"}},
+    {mode: 'lines', line: {color: "#393e46"}},
+    {mode: 'lines', line: {color: "#222831"}}
+].map(new_data);
+
+var layout = {
+    title: {text: 'User Zoom Resets<br>When uirevision Changes'},
+    uirevision:'true',
+    xaxis: {autorange: true},
+    yaxis: {autorange: true}
+};
+
+Plotly.react('myDiv', data, layout);
+
+var myPlot = document.getElementById('myDiv');
+
+var cnt = 0;
+var interval = setInterval(function() {
+    data = data.map(new_data);
+
+    // user interaction will mutate layout and set autorange to false
+    // so we need to reset it to true
+    layout.xaxis.autorange = true;
+    layout.yaxis.autorange = true;
+
+    // a new random number should ensure that uirevision will be different
+    // and so the graph will autorange after the Plotly.react
+    layout.uirevision = rand();
+
+    Plotly.react('myDiv', data, layout);
+  if(cnt === 100) clearInterval(interval);
+}, 2500);
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/violin/index.html b/docs/examples/violin/index.html new file mode 100644 index 00000000000..91de7824e00 --- /dev/null +++ b/docs/examples/violin/index.html @@ -0,0 +1,6227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Violin Plots - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

violin

+
+
+

+ basic-violin-plot +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+  }
+
+var data = [{
+  type: 'violin',
+  y: unpack(rows, 'total_bill'),
+  points: 'none',
+  box: {
+    visible: true
+  },
+  boxpoints: false,
+  line: {
+    color: 'black'
+  },
+  fillcolor: '#8dd3c7',
+  opacity: 0.6,
+  meanline: {
+    visible: true
+  },
+  x0: "Total Bill"
+}]
+
+var layout = {
+  title: {
+    text: ""
+  },
+  yaxis: {
+    zeroline: false
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ grouped-violin-plot +

+
+ +
+
// need to fix data
+
+d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+  }
+
+var data = [{
+  type: 'violin',
+  x: unpack(rows, 'day'),
+  y: unpack(rows, 'total_bill'),
+  legendgroup: 'M',
+  scalegroup: 'M',
+  name: 'M',
+  box: {
+    visible: true
+  },
+  line: {
+    color: 'blue',
+  },
+  meanline: {
+    visible: true
+  }
+}, {
+  type: 'violin',
+  x: unpack(rows, 'day'),
+  y: unpack(rows, 'total_bill'),
+  legendgroup: 'F',
+  scalegroup: 'F',
+  name: 'F',
+  box: {
+    visible: true
+  },
+  line: {
+    color: 'pink',
+  },
+  meanline: {
+    visible: true
+  }
+}]
+
+var layout = {
+  title: {
+    text: "Grouped Violin Plot"
+  },
+  yaxis: {
+    zeroline: false
+  },
+  violinmode: 'group'
+}
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ horizontal-violin-plot +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+  }
+
+var data = [{
+  type: 'violin',
+  x: unpack(rows, 'total_bill'),
+  points: 'none',
+  box: {
+    visible: true
+  },
+  boxpoints: false,
+  line: {
+    color: 'black'
+  },
+  fillcolor: '#8dd3c7',
+  opacity: 0.6,
+  meanline: {
+    visible: true
+  },
+  y0: "Total Bill"
+}]
+
+var layout = {
+  title: {
+    text: "Basic Horizontal Violin Plot"
+  },
+  xaxis: {
+    zeroline: false
+  }
+}
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ split-violin-plot +

+
+ +
+
d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv", function(err, rows){
+
+  function unpack(rows, key) {
+  return rows.map(function(row) { return row[key]; });
+  }
+
+var data = [{
+  type: 'violin',
+  x: unpack(rows, 'day'),
+  y: unpack(rows, 'total_bill'),
+  legendgroup: 'Yes',
+  scalegroup: 'Yes',
+  name: 'Yes',
+  side: 'negative',
+  box: {
+    visible: true
+  },
+  line: {
+    color: 'blue',
+    width: 2
+  },
+  meanline: {
+    visible: true
+  }
+}, {
+  type: 'violin',
+  x: unpack(rows, 'day'),
+  y: unpack(rows, 'total_bill'),
+  legendgroup: 'No',
+  scalegroup: 'No',
+  name: 'No',
+  side: 'positive',
+  box: {
+    visible: true
+  },
+  line: {
+    color: 'green',
+    width: 2
+  },
+  meanline: {
+    visible: true
+  }
+}]
+
+var layout = {
+  title: {
+    text: "Split Violin Plot"
+  },
+  yaxis: {
+    zeroline: false
+  },
+  violingap: 0,
+  violingroupgap: 0,
+  violinmode: "overlay",
+}
+
+Plotly.newPlot('myDiv', data, layout);
+});
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ advanced-violin-plot +

+
+ +
+
var trace1 = {
+            text: "sample length: 32",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "F",
+            scalegroup: "F",
+            points: "all",
+            pointpos: 1,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#bebada"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: false,
+            side: "positive",
+            type: "violin",
+            name: "F",
+            span: [
+                0
+            ],
+            line: {
+                color: "#bebada"
+            },
+            y0: "Thursday",
+            x: [
+                10.07,
+                34.83,
+                10.65,
+                12.43,
+                24.08,
+                13.42,
+                12.48,
+                29.8,
+                14.52,
+                11.38,
+                20.27,
+                11.17,
+                12.26,
+                18.26,
+                8.51,
+                10.33,
+                14.15,
+                13.16,
+                17.47,
+                27.05,
+                16.43,
+                8.35,
+                18.64,
+                11.87,
+                19.81,
+                43.11,
+                13.0,
+                12.74,
+                13.0,
+                16.4,
+                16.47,
+                18.78
+            ],
+            orientation: "h"
+        }
+
+
+var trace2 = {
+            text: "sample length: 30",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "M",
+            scalegroup: "M",
+            points: "all",
+            pointpos: -0.6,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#8dd3c7"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: false,
+            side: "negative",
+            type: "violin",
+            name: "M",
+            span: [
+                0
+            ],
+            line: {
+                color: "#8dd3c7"
+            },
+            y0: "Thursday",
+            x: [
+                27.2,
+                22.76,
+                17.29,
+                19.44,
+                16.66,
+                32.68,
+                15.98,
+                13.03,
+                18.28,
+                24.71,
+                21.16,
+                11.69,
+                14.26,
+                15.95,
+                8.52,
+                22.82,
+                19.08,
+                16.0,
+                34.3,
+                41.19,
+                9.78,
+                7.51,
+                28.44,
+                15.48,
+                16.58,
+                7.56,
+                10.34,
+                13.51,
+                18.71,
+                20.53
+            ],
+            orientation: "h"
+        }
+
+var trace3 = {
+            text: "sample length: 9",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "F",
+            scalegroup: "F",
+            points: "all",
+            pointpos: 0.4,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#bebada"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: false,
+            side: "positive",
+            type: "violin",
+            name: "F",
+            span: [
+                0
+            ],
+            line: {
+                color: "#bebada"
+            },
+            y0: "Friday",
+            x: [
+                5.75,
+                16.32,
+                22.75,
+                11.35,
+                15.38,
+                13.42,
+                15.98,
+                16.27,
+                10.09
+            ],
+            orientation: "h"
+        }
+
+
+var trace4= {
+            text: "sample length: 10",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "M",
+            scalegroup: "M",
+            points: "all",
+            pointpos: -0.3,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#8dd3c7"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: false,
+            side: "negative",
+            type: "violin",
+            name: "M",
+            span: [
+                0
+            ],
+            line: {
+                color: "#8dd3c7"
+            },
+            y0: "Friday",
+            x: [
+                28.97,
+                22.49,
+                40.17,
+                27.28,
+                12.03,
+                21.01,
+                12.46,
+                12.16,
+                8.58,
+                13.42
+            ],
+            orientation: "h"
+        }
+
+var trace5 = {
+            text: "sample length: 28",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "F",
+            scalegroup: "F",
+            points: "all",
+            pointpos: 0.55,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#bebada"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: true,
+            side: "positive",
+            type: "violin",
+            name: "F",
+            span: [
+                0
+            ],
+            line: {
+                color: "#bebada"
+            },
+            y0: "Saturday",
+            x: [
+                20.29,
+                15.77,
+                19.65,
+                15.06,
+                20.69,
+                16.93,
+                26.41,
+                16.45,
+                3.07,
+                17.07,
+                26.86,
+                25.28,
+                14.73,
+                44.3,
+                22.42,
+                20.92,
+                14.31,
+                7.25,
+                10.59,
+                10.63,
+                12.76,
+                13.27,
+                28.17,
+                12.9,
+                30.14,
+                22.12,
+                35.83,
+                27.18
+            ],
+            orientation: "h"
+        }
+
+var trace4 = {
+            text: "sample length: 59",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "M",
+            scalegroup: "M",
+            points: "all",
+            pointpos: -1.1,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#8dd3c7"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: true,
+            side: "negative",
+            type: "violin",
+            name: "M",
+            span: [
+                0
+            ],
+            line: {
+                color: "#8dd3c7"
+            },
+            y0: "Saturday",
+            x: [
+                20.65,
+                17.92,
+                39.42,
+                19.82,
+                17.81,
+                13.37,
+                12.69,
+                21.7,
+                9.55,
+                18.35,
+                17.78,
+                24.06,
+                16.31,
+                18.69,
+                31.27,
+                16.04,
+                38.01,
+                11.24,
+                48.27,
+                20.29,
+                13.81,
+                11.02,
+                18.29,
+                17.59,
+                20.08,
+                20.23,
+                15.01,
+                12.02,
+                10.51,
+                17.92,
+                15.36,
+                20.49,
+                25.21,
+                18.24,
+                14.0,
+                50.81,
+                15.81,
+                26.59,
+                38.73,
+                24.27,
+                30.06,
+                25.89,
+                48.33,
+                28.15,
+                11.59,
+                7.74,
+                20.45,
+                13.28,
+                24.01,
+                15.69,
+                11.61,
+                10.77,
+                15.53,
+                10.07,
+                12.6,
+                32.83,
+                29.03,
+                22.67,
+                17.82
+            ],
+            orientation: "h"
+        }
+
+var trace6 = {
+            text: "sample length: 18",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "F",
+            scalegroup: "F",
+            points: "all",
+            pointpos: 0.45,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#bebada"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: false,
+            side: "positive",
+            type: "violin",
+            name: "F",
+            span: [
+                0
+            ],
+            line: {
+                color: "#bebada"
+            },
+            y0: "Sunday",
+            x: [
+                16.99,
+                24.59,
+                35.26,
+                14.83,
+                10.33,
+                16.97,
+                10.29,
+                34.81,
+                25.71,
+                17.31,
+                29.85,
+                25.0,
+                13.39,
+                16.21,
+                17.51,
+                9.6,
+                20.9,
+                18.15
+            ],
+            orientation: "h"
+        }
+
+var trace7 = {
+            text: "sample length: 58",
+            hoveron: "points+kde",
+            meanline: {
+                visible: true
+            },
+            legendgroup: "M",
+            scalegroup: "M",
+            points: "all",
+            pointpos: -0.9,
+            box: {
+                visible: true
+            },
+            jitter: 0,
+            scalemode: "count",
+            marker: {
+                line: {
+                    width: 2,
+                    color: "#8dd3c7"
+                },
+                symbol: "line-ns"
+            },
+            showlegend: false,
+            side: "negative",
+            type: "violin",
+            name: "M",
+            span: [
+                0
+            ],
+            line: {
+                color: "#8dd3c7"
+            },
+            y0: "Sunday",
+            x: [
+                10.34,
+                21.01,
+                23.68,
+                25.29,
+                8.77,
+                26.88,
+                15.04,
+                14.78,
+                10.27,
+                15.42,
+                18.43,
+                21.58,
+                16.29,
+                17.46,
+                13.94,
+                9.68,
+                30.4,
+                18.29,
+                22.23,
+                32.4,
+                28.55,
+                18.04,
+                12.54,
+                9.94,
+                25.56,
+                19.49,
+                38.07,
+                23.95,
+                29.93,
+                14.07,
+                13.13,
+                17.26,
+                24.55,
+                19.77,
+                48.17,
+                16.49,
+                21.5,
+                12.66,
+                13.81,
+                24.52,
+                20.76,
+                31.71,
+                7.25,
+                31.85,
+                16.82,
+                32.9,
+                17.89,
+                14.48,
+                34.63,
+                34.65,
+                23.33,
+                45.35,
+                23.17,
+                40.55,
+                20.69,
+                30.46,
+                23.1,
+                15.69
+            ],
+            orientation: "h"
+        }
+
+var data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7]
+
+var layout = {
+        hovermode: "closest",
+        width: 400,
+        yaxis: {
+            showgrid: true
+        },
+        title: {
+            text: "Total bill distribution<br><i>scaled by number of bills per gender"
+        },
+        legend: {
+            tracegroupgap: 0
+        },
+        violingap: 0,
+        violingroupgap: 0,
+        violinmode: "overlay",
+        height: 700
+    }
+
+Plotly.newPlot("myDiv", data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/waterfall-charts/index.html b/docs/examples/waterfall-charts/index.html new file mode 100644 index 00000000000..0a30b3fd558 --- /dev/null +++ b/docs/examples/waterfall-charts/index.html @@ -0,0 +1,5082 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Waterfall Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

waterfall-charts

+
+
+

+ basic-waterfall-chart +

+
+ +
+
var data = [
+        {
+            name: "2018",
+            type: "waterfall",
+            orientation: "v",
+            measure: [
+                "relative",
+                "relative",
+                "total",
+                "relative",
+                "relative",
+                "total"
+            ],
+            x: [
+                "Sales",
+                "Consulting",
+                "Net revenue",
+                "Purchases",
+                "Other expenses",
+                "Profit before tax"
+            ],
+            textposition: "outside",
+            text: [
+                "+60",
+                "+80",
+                "",
+                "-40",
+                "-20",
+                "Total"
+            ],          
+            y: [
+                60,
+                80,
+                0,
+                -40,
+                -20,
+                0
+            ],
+            connector: {
+              line: {
+                color: "rgb(63, 63, 63)"
+              }
+            },
+        }
+    ];
+ layout = {
+        title: {
+            text: "Profit and loss statement 2018"
+        },
+        xaxis: {
+            type: "category"
+        },
+        yaxis: {
+            type: "linear"
+        },
+        autosize: true,
+        showlegend: true
+    };
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ multi-category-waterfall-chart +

+
+ +
+
var gd = document.getElementById('myDiv');
+var data = [
+    {
+      type: "waterfall",
+      x: [
+        ["2016", "2017", "2017", "2017", "2017", "2018", "2018", "2018", "2018"],
+        ["initial", "q1", "q2", "q3", "total", "q1", "q2", "q3", "total" ]
+      ],
+      measure: ["absolute", "relative", "relative", "relative", "total", "relative", "relative", "relative", "total"],
+      y: [1, 2, 3, -1, null, 1, 2, -4, null],
+      base: 1000
+    },
+    {
+      type: "waterfall",
+      x: [
+        ["2016", "2017", "2017", "2017", "2017", "2018", "2018", "2018", "2018"],
+        ["initial", "q1", "q2", "q3", "total", "q1", "q2", "q3", "total" ]
+      ],
+      measure: ["absolute", "relative", "relative", "relative", "total", "relative", "relative", "relative", "total"],
+      y: [1.1, 2.2, 3.3, -1.1, null, 1.1, 2.2, -4.4, null],
+      base: 1000
+    }
+  ];
+var layout = {
+    waterfallgroupgap : 0.5,
+    xaxis: {
+      title: {
+        text: "MULTI-CATEGORY",
+      },
+      tickfont: {size: 16},
+      ticks: "outside"
+    }
+  }
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ horizontal-waterfall-chart +

+
+ +
+
var gd = document.getElementById('myDiv');
+var data = [
+        {
+            name: "2018",
+            type: "waterfall",
+            orientation: "h",
+            measure: [
+                "relative",
+                "relative",
+                "relative",
+                "relative",
+                "total",
+                "relative",
+                "relative",
+                "relative",
+                "relative",
+                "total",
+                "relative",
+                "relative",
+                "total",
+                "relative",
+                "total"
+            ],
+            y: [
+                "Sales",
+                "Consulting",
+                "Maintenance",
+                "Other revenue",
+                "Net revenue",
+                "Purchases",
+                "Material expenses",
+                "Personnel expenses",
+                "Other expenses",
+                "Operating profit",
+                "Investment income",
+                "Financial income",
+                "Profit before tax",
+                "Income tax (15%)",
+                "Profit after tax"
+            ],
+            x: [
+                375,
+                128,
+                78,
+                27,
+                null,
+                -327,
+                -12,
+                -78,
+                -12,
+                null,
+                32,
+                89,
+                null,
+                -45,
+                null
+            ],
+            connector: {
+                mode: "between",
+                line: {
+                    width: 4,
+                    color: "rgb(0, 0, 0)",
+                    dash: 0
+                }
+            }
+        }
+    ];
+var layout = {title: {
+            text: "Profit and loss statement 2018<br>waterfall chart displaying positive and negative"
+        },
+        yaxis: {
+            type: "category",
+            autorange: "reversed"
+        },
+        xaxis: {
+            type: "linear"
+        },
+        margin: { l: 150 },
+        showlegend: true
+    }
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ style-waterfall-chart +

+
+ +
+
var gd = document.getElementById('myDiv');
+var data = [
+    {
+      type: "waterfall",
+      x: [
+        ["2016", "2017", "2017", "2017", "2017", "2018", "2018", "2018", "2018"],
+        ["initial", "q1", "q2", "q3", "total", "q1", "q2", "q3", "total" ]
+      ],
+      measure: ["absolute", "relative", "relative", "relative", "total", "relative", "relative", "relative", "total"],
+      y: [10, 20, 30, -10, null, 10, 20, -40, null],
+      base: 300,
+    decreasing: { marker: { color: "Maroon" , line:{color : "red", width :2}}},
+    increasing: { marker: { color: "Teal"} },
+    totals: { marker: { color: "deep sky blue", line:{color:'blue',width:3}} }
+    }];
+var layout = {title: {
+            text: "Profit and loss statement"
+        },
+    waterfallgap : 0.3,
+    xaxis: {
+      title: { text: ""},
+      tickfont: {size: 15},
+      ticks: "outside"
+    }
+  }
+Plotly.newPlot('myDiv', data, layout);
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/webgl-vs-svg/index.html b/docs/examples/webgl-vs-svg/index.html new file mode 100644 index 00000000000..b5526a6cbe4 --- /dev/null +++ b/docs/examples/webgl-vs-svg/index.html @@ -0,0 +1,4843 @@ + + + + + + + + + + + + + + + + + + + + + + + + + WebGL vs SVG - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

webgl-vs-svg

+
+
+

+ webgl-with-100000-points +

+
+ +
+
function gaussianRand() {
+  var rand = 0;
+  for (var i = 0; i < 6; i += 1) {
+    rand += Math.random();
+  }
+  return (rand / 6)-0.5;
+}
+
+var X = [],
+    Y = [],
+    n = 100000,
+    i;
+
+for (i = 0; i < n; i += 1) {
+  X.push(gaussianRand());
+  Y.push(gaussianRand());
+}
+
+var data = [{
+    type: "scattergl",
+    mode: "markers",
+    marker: {
+        line: {
+            width: 1,
+            color: '#404040'}
+    },
+    x: X,
+    y: Y
+}]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ webgl-with-1-million-points +

+
+ +
+
function gaussianRand() {
+  var rand = 0;
+  for (var i = 0; i < 6; i += 1) {
+    rand += Math.random();
+  }
+  return (rand / 6)-0.5;
+}
+
+var X = [],
+    Y = [],
+    n = 1000000,
+    i;
+
+for (i = 0; i < n; i += 1) {
+  X.push(gaussianRand());
+  Y.push(gaussianRand());
+}
+
+var data = [{
+    type: "scattergl",
+    mode: "markers",
+    marker: {
+        color : 'rgb(152, 0, 0)',
+        line: {
+            width: 1,
+            color: 'rgb(0,0,0)'}
+    },
+    x: X,
+    y: Y
+}]
+
+Plotly.newPlot('myDiv', data)
+
+ + +
+ + +
+
+ +
+
+
+ +
+
+

+ webgl-with-many-traces +

+
+ +
+
function gaussianRand() {
+  var rand = 0;
+  for (var i = 0; i < 6; i += 1) {
+    rand += Math.random();
+  }
+  return (rand / 6)-0.5;
+}
+
+
+var start_value = 0,
+     stop_value = 1,
+     point_num = 5000,
+     trace_num = 10;
+var curr_value = start_value;
+var step = (stop_value - start_value) / (point_num - 1);
+
+var data = [];
+for (var j = 0; j < trace_num; j++) {
+    var X = [],
+         Y = [];
+    for (var i = 0; i < point_num; i++) {
+        X.push(curr_value + (step * i));
+        Y.push((gaussianRand()*8)+(j*5));
+    }
+    data.push({
+        type: "scattergl",
+        mode: "line",
+        x: X,
+        y: Y
+    })
+}
+var layout = {showlegend: false}
+Plotly.newPlot('myDiv', data = data, layout = layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/wind-rose-charts/index.html b/docs/examples/wind-rose-charts/index.html new file mode 100644 index 00000000000..0f7d7535880 --- /dev/null +++ b/docs/examples/wind-rose-charts/index.html @@ -0,0 +1,4669 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Wind Rose and Polar Bar Charts - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

wind-rose-charts

+
+
+

+ wind-rose-chart +

+
+ +
+
var data = [{
+    r: [77.5, 72.5, 70.0, 45.0, 22.5, 42.5, 40.0, 62.5],
+    theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"],
+    name: "11-14 m/s",
+    marker: {color: "rgb(106,81,163)"},
+    type: "barpolar"
+  }, {
+    r: [57.5, 50.0, 45.0, 35.0, 20.0, 22.5, 37.5, 55.0],
+    theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"],
+    name: "8-11 m/s",
+    marker: {color: "rgb(158,154,200)"},
+    type: "barpolar"
+  }, {
+    r: [40.0, 30.0, 30.0, 35.0, 7.5, 7.5, 32.5, 40.0],
+    theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"],
+    name: "5-8 m/s",
+    marker: {color: "rgb(203,201,226)"},
+    type: "barpolar"
+  }, {
+    r: [20.0, 7.5, 15.0, 22.5, 2.5, 2.5, 12.5, 22.5],
+    theta: ["North", "N-E", "East", "S-E", "South", "S-W", "West", "N-W"],
+    name: "< 5 m/s",
+    marker: {color: "rgb(242,240,247)"},
+    type: "barpolar"
+  }]
+var layout = {
+    title: {
+      text: "Wind Speed Distribution in Laurel, NE"
+    },
+    font: {size: 16},
+    legend: {font: {size: 16}},
+    polar: {
+      barmode: "overlay",
+      bargap: 0,
+      radialaxis: {ticksuffix: "%", angle: 45, dtick: 20},
+      angularaxis: {direction: "clockwise"}
+    }
+  }
+
+Plotly.newPlot("myDiv", data, layout)
+
+ + +
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/zoom-events/index.html b/docs/examples/zoom-events/index.html new file mode 100644 index 00000000000..929f55e84f3 --- /dev/null +++ b/docs/examples/zoom-events/index.html @@ -0,0 +1,4595 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Zoom Events - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

zoom-events

+
+
+

+ binding-to-zoom-events +

+
+ +
+
var graphDiv = document.getElementById('myDiv');
+
+var N = 40,
+    x = d3.range(N),
+    y = d3.range(N).map( d3.random.normal() ),
+    data = [ { x:x, y:y } ];
+    layout = { title: {text: 'Click-drag to zoom' }};
+
+Plotly.newPlot(graphDiv, data, layout);
+
+graphDiv.on('plotly_relayout',
+    function(eventdata){
+        alert( 'ZOOM!' + '\n\n' +
+            'Event data:' + '\n' +
+             JSON.stringify(eventdata) + '\n\n' +
+            'x-axis start:' + eventdata['xaxis.range[0]'] + '\n' +
+            'x-axis end:' + eventdata['xaxis.range[1]'] );
+    });
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 00000000000..c3b8201b9ad --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,48 @@ +{% extends "base.html" %} + +{% block site_nav %} + + + {% if nav %} + {% if page and page.meta and page.meta.hide %} + {% set hidden = "hidden" if "navigation" in page.meta.hide %} + {% endif %} + + {% endif %} + + + {% if not "toc.integrate" in features %} + {% if page and page.meta and page.meta.hide %} + {% set hidden = "hidden" if "toc" in page.meta.hide %} + {% endif %} + + {% endif %} +{% endblock %} \ No newline at end of file diff --git a/docs/reference/SUMMARY/index.html b/docs/reference/SUMMARY/index.html new file mode 100644 index 00000000000..edbef1933fd --- /dev/null +++ b/docs/reference/SUMMARY/index.html @@ -0,0 +1,4589 @@ + + + + + + + + + + + + + + + + + + + + + SUMMARY - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/bar/index.html b/docs/reference/bar/index.html new file mode 100644 index 00000000000..96e3adcf48e --- /dev/null +++ b/docs/reference/bar/index.html @@ -0,0 +1,6978 @@ + + + + + + + + + + + + + + + + + + + + + + + + + bar - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

bar

+
+ A bar trace is an object with the key "type" equal to "bar" + (i.e. {"type": "bar"}) and any of the keys listed below. +

The data visualized by the span of the bars is set in `y` if `orientation` is set to "v" (the default) and the labels are set in `x`. By setting `orientation` to "h", the roles are interchanged.

+
+
    +
  • + + alignmentgroup + +
    Parent: data[type=bar] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    +
  • +
  • + + base + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Sets where the bar base is drawn (in position axis units). In "stack" or "relative" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead.

    +
  • +
  • + + cliponaxis + +
    Parent: data[type=bar] +
    + Type: boolean
    Default: true +

    Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + constraintext + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +"inside"| "outside"| "both"| "none" ) +
    Default: "both" +

    Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    +
  • +
  • + + customdata + +
    Parent: data[type=bar] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=bar] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + dy + +
    Parent: data[type=bar] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + error_x + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=bar].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=bar].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=bar].error_x +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + copy_ystyle + +
      Parent: data[type=bar].error_x +
      + Type: boolean
    • +
    • + + symmetric + +
      Parent: data[type=bar].error_x +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=bar].error_x +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=bar].error_x +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=bar].error_x +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=bar].error_x +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=bar].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=bar].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=bar].error_x +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=bar].error_x +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + error_y + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=bar].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=bar].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=bar].error_y +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + symmetric + +
      Parent: data[type=bar].error_y +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=bar].error_y +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=bar].error_y +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=bar].error_y +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=bar].error_y +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=bar].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=bar].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=bar].error_y +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=bar].error_y +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=bar] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=bar].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=bar].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=bar].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=bar].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=bar].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=bar].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=bar] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=bar] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=bar] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextanchor + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +"end"| "middle"| "start" ) +
    Default: "end" +

    Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying inside the bar.

    +
      +
    • + + color + +
      Parent: data[type=bar].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=bar].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=bar].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=bar].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=bar].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=bar].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=bar].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=bar].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=bar].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=bar] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=bar] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=bar].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=bar].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=bar].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=bar] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=bar] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=bar].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=bar].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=bar].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=bar].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=bar].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=bar].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=bar].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=bar].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=bar].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=bar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=bar].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=bar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=bar].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=bar].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=bar].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=bar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=bar].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=bar].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=bar].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=bar].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=bar].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=bar].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=bar].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=bar].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=bar].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=bar].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=bar].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=bar].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=bar].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=bar].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=bar].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=bar].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=bar].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=bar].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=bar].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=bar].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=bar].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=bar].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + cornerradius + +
      Parent: data[type=bar].marker +
      + Type: number or categorical coordinate string +

      Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`. In stack or relative barmode, the first trace to set cornerradius is used for the whole stack.

      +
    • +
    • + + line + +
      Parent: data[type=bar].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=bar].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=bar].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=bar].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=bar].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=bar].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=bar].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=bar].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=bar].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=bar].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=bar].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=bar].marker +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the opacity of the bars.

      +
    • +
    • + + pattern + +
      Parent: data[type=bar].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=bar].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=bar].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=bar].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=bar].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=bar].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=bar].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=bar].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=bar].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    • + + reversescale + +
      Parent: data[type=bar].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=bar].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=bar] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + offset + +
    Parent: data[type=bar] +
    + Type: number or array of numbers

    Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

    +
  • +
  • + + offsetgroup + +
    Parent: data[type=bar] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    +
  • +
  • + + opacity + +
    Parent: data[type=bar] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + orientation + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +"v"| "h" ) +

    Sets the orientation of the bars. With "v" ("h"), the value of the each bar spans along the vertical (horizontal).

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying outside the bar.

    +
      +
    • + + color + +
      Parent: data[type=bar].outsidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=bar].outsidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=bar].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=bar].outsidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=bar].outsidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=bar].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=bar].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=bar].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=bar].outsidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + selected + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=bar].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=bar].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=bar].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=bar].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=bar].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=bar] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=bar] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textangle + +
    Parent: data[type=bar] +
    + Type: angle +
    Default: "auto" +

    Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

    +
  • +
  • + + textfont + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text`.

    +
      +
    • + + color + +
      Parent: data[type=bar].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=bar].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=bar].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=bar].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=bar].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=bar].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=bar].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=bar].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=bar].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=bar] +
    + Type: + enumerated or array of enumerateds + , one of ( +"inside"| "outside"| "auto"| "none" ) +
    Default: "auto" +

    Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=bar] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`.

    +
  • +
  • + + type + +
    Parent: data[type=bar] +
    +Type: "bar" +
  • +
  • + + uid + +
    Parent: data[type=bar] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=bar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=bar].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=bar].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=bar].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=bar].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=bar].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + width + +
    Parent: data[type=bar] +
    + Type: number or array of numbers

    Sets the bar width (in position axis units).

    +
  • +
  • + + x + +
    Parent: data[type=bar] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + x0 + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + xaxis + +
    Parent: data[type=bar] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=bar] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + y + +
    Parent: data[type=bar] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + y0 + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + yaxis + +
    Parent: data[type=bar] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=bar] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=bar] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=bar] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
  • + + zorder + +
    Parent: data[type=bar] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/barpolar/index.html b/docs/reference/barpolar/index.html new file mode 100644 index 00000000000..42fabe473bf --- /dev/null +++ b/docs/reference/barpolar/index.html @@ -0,0 +1,6221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + barpolar - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

barpolar

+
+ A barpolar trace is an object with the key "type" equal to "barpolar" + (i.e. {"type": "barpolar"}) and any of the keys listed below. +

The data visualized by the radial span of the bars is set in `r`

+
+
    +
  • + + base + +
    Parent: data[type=barpolar] +
    + Type: number or categorical coordinate string +

    Sets where the bar base is drawn (in radial axis units). In "stack" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead.

    +
  • +
  • + + customdata + +
    Parent: data[type=barpolar] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dr + +
    Parent: data[type=barpolar] +
    + Type: number
    Default: 1 +

    Sets the r coordinate step.

    +
  • +
  • + + dtheta + +
    Parent: data[type=barpolar] +
    + Type: number

    Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=barpolar] +
    + Type: flaglist string. + + Any combination of "r", "theta", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "r", "theta", "r+theta", "r+theta+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=barpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=barpolar].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=barpolar].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=barpolar].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=barpolar].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=barpolar].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=barpolar].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=barpolar] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=barpolar] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=barpolar] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=barpolar] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=barpolar] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=barpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=barpolar].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=barpolar].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=barpolar].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=barpolar] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=barpolar] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=barpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=barpolar].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=barpolar].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=barpolar].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=barpolar].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=barpolar].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=barpolar].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=barpolar].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=barpolar].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=barpolar].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=barpolar].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=barpolar].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=barpolar].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=barpolar].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=barpolar].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=barpolar].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=barpolar].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=barpolar].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=barpolar].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=barpolar].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=barpolar].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=barpolar].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=barpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=barpolar].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=barpolar].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=barpolar].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=barpolar].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=barpolar].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=barpolar].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=barpolar].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=barpolar].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=barpolar].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=barpolar].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=barpolar].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=barpolar].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=barpolar].marker +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the opacity of the bars.

      +
    • +
    • + + pattern + +
      Parent: data[type=barpolar].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=barpolar].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    • + + reversescale + +
      Parent: data[type=barpolar].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=barpolar].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=barpolar] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=barpolar] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + offset + +
    Parent: data[type=barpolar] +
    + Type: number or array of numbers

    Shifts the angular position where the bar is drawn (in "thetatunit" units).

    +
  • +
  • + + opacity + +
    Parent: data[type=barpolar] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + r + +
    Parent: data[type=barpolar] +
    + Type: data_array +

    Sets the radial coordinates

    +
  • +
  • + + r0 + +
    Parent: data[type=barpolar] +
    + Type: number or categorical coordinate string +

    Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.

    +
  • +
  • + + selected + +
    Parent: data[type=barpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=barpolar].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=barpolar].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=barpolar].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=barpolar].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=barpolar].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=barpolar] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=barpolar] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + subplot + +
    Parent: data[type=barpolar] +
    + Type: subplotid +
    Default: polar +

    Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), the data refer to `layout.polar`. If "polar2", the data refer to `layout.polar2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=barpolar] +
    + Type: string or array of strings

    Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.

    +
  • +
  • + + theta + +
    Parent: data[type=barpolar] +
    + Type: data_array +

    Sets the angular coordinates

    +
  • +
  • + + theta0 + +
    Parent: data[type=barpolar] +
    + Type: number or categorical coordinate string +

    Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.

    +
  • +
  • + + thetaunit + +
    Parent: data[type=barpolar] +
    + Type: + enumerated , one of ( +"radians"| "degrees"| "gradians" ) +
    Default: "degrees" +

    Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes.

    +
  • +
  • + + type + +
    Parent: data[type=barpolar] +
    +Type: "barpolar" +
  • +
  • + + uid + +
    Parent: data[type=barpolar] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=barpolar] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=barpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=barpolar].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=barpolar].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=barpolar].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=barpolar].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=barpolar].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=barpolar] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + width + +
    Parent: data[type=barpolar] +
    + Type: number or array of numbers

    Sets the bar angular width (in "thetaunit" units).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/box/index.html b/docs/reference/box/index.html new file mode 100644 index 00000000000..746a2acd909 --- /dev/null +++ b/docs/reference/box/index.html @@ -0,0 +1,5658 @@ + + + + + + + + + + + + + + + + + + + + + + + + + box - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

box

+
+ A box trace is an object with the key "type" equal to "box" + (i.e. {"type": "box"}) and any of the keys listed below. +

Each box spans from quartile 1 (Q1) to quartile 3 (Q3). The second quartile (Q2, i.e. the median) is marked by a line inside the box. The fences grow outward from the boxes' edges, by default they span +/- 1.5 times the interquartile range (IQR: Q3-Q1), The sample mean and standard deviation as well as notches and the sample, outlier and suspected outliers points can be optionally added to the box plot. The values and positions corresponding to each boxes can be input using two signatures. The first signature expects users to supply the sample values in the `y` data array for vertical boxes (`x` for horizontal boxes). By supplying an `x` (`y`) array, one box per distinct `x` (`y`) value is drawn If no `x` (`y`) array is provided, a single box is drawn. In this case, the box is positioned with the trace `name` or with `x0` (`y0`) if provided. The second signature expects users to supply the boxes corresponding Q1, median and Q3 statistics in the `q1`, `median` and `q3` data arrays respectively. Other box features relying on statistics namely `lowerfence`, `upperfence`, `notchspan` can be set directly by the users. To have plotly compute them or to show sample points besides the boxes, users can set the `y` data array for vertical boxes (`x` for horizontal boxes) to a 2D array with the outer length corresponding to the number of boxes in the traces and the inner length corresponding the sample size.

+
+
    +
  • + + alignmentgroup + +
    Parent: data[type=box] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    +
  • +
  • + + boxmean + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +true| "sd"| false ) +

    If "true", the mean of the box(es)' underlying distribution is drawn as a dashed line inside the box(es). If "sd" the standard deviation is also drawn. Defaults to "true" when `mean` is set. Defaults to "sd" when `sd` is set Otherwise defaults to "false".

    +
  • +
  • + + boxpoints + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"all"| "outliers"| "suspectedoutliers"| false ) +

    If "outliers", only the sample points lying outside the whiskers are shown If "suspectedoutliers", the outlier points are shown and points either less than 4"Q1-3"Q3 or greater than 4"Q3-3"Q1 are highlighted (see `outliercolor`) If "all", all sample points are shown If "false", only the box(es) are shown with no sample points Defaults to "suspectedoutliers" when `marker.outliercolor` or `marker.line.outliercolor` is set. Defaults to "all" under the q1/median/q3 signature. Otherwise defaults to "outliers".

    +
  • +
  • + + customdata + +
    Parent: data[type=box] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=box] +
    + Type: number

    Sets the x coordinate step for multi-box traces set using q1/median/q3.

    +
  • +
  • + + dy + +
    Parent: data[type=box] +
    + Type: number

    Sets the y coordinate step for multi-box traces set using q1/median/q3.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=box] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=box] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=box] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=box].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=box].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=box].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=box].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=box].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=box].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=box].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=box].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=box].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=box].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=box].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=box].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=box].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=box].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoveron + +
    Parent: data[type=box] +
    + Type: flaglist string. + + Any combination of "boxes", "points" joined with a "+" + OR . + +
    Examples: "boxes", "points", "boxes+points", + +
    Default: "boxes+points" +

    Do the hover effects highlight individual boxes or sample points or both?

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=box] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=box] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=box] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + jitter + +
    Parent: data[type=box] +
    + Type: number less than or equal to 1 +

    Sets the amount of jitter in the sample points drawn. If "0", the sample points align along the distribution axis. If "1", the sample points are drawn in a random jitter of width equal to the width of the box(es).

    +
  • +
  • + + legend + +
    Parent: data[type=box] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=box] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=box] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=box].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=box].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=box].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=box] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=box] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=box] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=box].line +
      + Type: color

      Sets the color of line bounding the box(es).

      +
    • +
    • + + width + +
      Parent: data[type=box].line +
      + Type: number
      Default: 2 +

      Sets the width (in px) of line bounding the box(es).

      +
    • +
    +
  • +
  • + + lowerfence + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the lower fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR.

    +
  • +
  • + + marker + +
    Parent: data[type=box] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=box].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + color + +
      Parent: data[type=box].marker +
      + Type: color

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + line + +
      Parent: data[type=box].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=box].marker.line +
        + Type: color
        Default: "#444" +

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + outliercolor + +
        Parent: data[type=box].marker.line +
        + Type: color

        Sets the border line color of the outlier sample points. Defaults to marker.color

        +
      • +
      • + + outlierwidth + +
        Parent: data[type=box].marker.line +
        + Type: number
        Default: 1 +

        Sets the border line width (in px) of the outlier sample points.

        +
      • +
      • + + width + +
        Parent: data[type=box].marker.line +
        + Type: number

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=box].marker +
      + Type: number less than or equal to 1 +
      Default: 1 +

      Sets the marker opacity.

      +
    • +
    • + + outliercolor + +
      Parent: data[type=box].marker +
      + Type: color
      Default: "rgba(0, 0, 0, 0)" +

      Sets the color of the outlier sample points.

      +
    • +
    • + + size + +
      Parent: data[type=box].marker +
      + Type: number
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + symbol + +
      Parent: data[type=box].marker +
      + Type: + enumerated , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + mean + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the mean values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values.

    +
  • +
  • + + median + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the median values. There should be as many items as the number of boxes desired.

    +
  • +
  • + + meta + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=box] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover. For box traces, the name will also be used for the position coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are missing and the position axis is categorical

    +
  • +
  • + + notched + +
    Parent: data[type=box] +
    + Type: boolean

    Determines whether or not notches are drawn. Notches displays a confidence interval around the median. We compute the confidence interval as median +/- 1.57 " IQR / sqrt(N), where IQR is the interquartile range and N is the sample size. If two boxes' notches do not overlap there is 95% confidence their medians differ. See https://sites.google.com/site/davidsstatistics/home/notched-box-plots for more info. Defaults to "false" unless `notchwidth` or `notchspan` is set.

    +
  • +
  • + + notchspan + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the notch span from the boxes' `median` values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 " IQR / sqrt(N), where N is the sample size.

    +
  • +
  • + + notchwidth + +
    Parent: data[type=box] +
    + Type: number less than or equal to 0.5 +
    Default: 0.25 +

    Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).

    +
  • +
  • + + offsetgroup + +
    Parent: data[type=box] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    +
  • +
  • + + opacity + +
    Parent: data[type=box] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + orientation + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"v"| "h" ) +

    Sets the orientation of the box(es). If "v" ("h"), the distribution is visualized along the vertical (horizontal).

    +
  • +
  • + + pointpos + +
    Parent: data[type=box] +
    + Type: number between or equal to -2 and 2 +

    Sets the position of the sample points in relation to the box(es). If "0", the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes

    +
  • +
  • + + q1 + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the Quartile 1 values. There should be as many items as the number of boxes desired.

    +
  • +
  • + + q3 + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the Quartile 3 values. There should be as many items as the number of boxes desired.

    +
  • +
  • + + quartilemethod + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"linear"| "exclusive"| "inclusive" ) +
    Default: "linear" +

    Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://jse.amstat.org/v14n3/langford.html). The "exclusive" method uses the median to divide the ordered dataset into two halves if the sample is odd, it does not include the median in either half - Q1 is then the median of the lower half and Q3 the median of the upper half. The "inclusive" method also uses the median to divide the ordered dataset into two halves but if the sample is odd, it includes the median in both halves - Q1 is then the median of the lower half and Q3 the median of the upper half.

    +
  • +
  • + + sd + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the standard deviation values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `sd` is not provided but a sample (in `y` or `x`) is set, we compute the standard deviation for each box using the sample values.

    +
  • +
  • + + sdmultiple + +
    Parent: data[type=box] +
    + Type: number
    Default: 1 +

    Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev

    +
  • +
  • + + selected + +
    Parent: data[type=box] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=box].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=box].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=box].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=box].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=box] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showwhiskers + +
    Parent: data[type=box] +
    + Type: boolean

    Determines whether or not whiskers are visible. Defaults to true for `sizemode` "quartiles", false for "sd".

    +
  • +
  • + + sizemode + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"quartiles"| "sd" ) +
    Default: "quartiles" +

    Sets the upper and lower bound for the boxes quartiles means box is drawn between Q1 and Q3 SD means the box is drawn between Mean +- Standard Deviation Argument sdmultiple (default 1) to scale the box size So it could be drawn 1-stddev, 3-stddev etc

    +
  • +
  • + + text + +
    Parent: data[type=box] +
    + Type: string or array of strings

    Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + type + +
    Parent: data[type=box] +
    +Type: "box" +
  • +
  • + + uid + +
    Parent: data[type=box] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=box] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=box].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=box].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=box].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=box].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + upperfence + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the upper fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the upper as the last sample point above 1.5 times the IQR.

    +
  • +
  • + + visible + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + whiskerwidth + +
    Parent: data[type=box] +
    + Type: number less than or equal to 1 +
    Default: 0.5 +

    Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).

    +
  • +
  • + + width + +
    Parent: data[type=box] +
    + Type: number

    Sets the width of the box in data coordinate If "0" (default value) the width is automatically selected based on the positions of other box traces in the same subplot.

    +
  • +
  • + + x + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the x sample data or coordinates. See overview for more info.

    +
  • +
  • + + x0 + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    +
  • +
  • + + xaxis + +
    Parent: data[type=box] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=box] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + y + +
    Parent: data[type=box] +
    + Type: data_array +

    Sets the y sample data or coordinates. See overview for more info.

    +
  • +
  • + + y0 + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    +
  • +
  • + + yaxis + +
    Parent: data[type=box] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=box] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=box] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=box] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
  • + + zorder + +
    Parent: data[type=box] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/candlestick/index.html b/docs/reference/candlestick/index.html new file mode 100644 index 00000000000..08e3102c1c9 --- /dev/null +++ b/docs/reference/candlestick/index.html @@ -0,0 +1,5263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + candlestick - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

candlestick

+
+ A candlestick trace is an object with the key "type" equal to "candlestick" + (i.e. {"type": "candlestick"}) and any of the keys listed below. +

The candlestick is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The boxes represent the spread between the `open` and `close` values and the lines represent the spread between the `low` and `high` values Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing candles are drawn in green whereas decreasing are drawn in red.

+
+
    +
  • + + close + +
    Parent: data[type=candlestick] +
    + Type: data_array +

    Sets the close values.

    +
  • +
  • + + customdata + +
    Parent: data[type=candlestick] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + decreasing + +
    Parent: data[type=candlestick] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fillcolor + +
      Parent: data[type=candlestick].decreasing +
      + Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

      +
    • +
    • + + line + +
      Parent: data[type=candlestick].decreasing +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=candlestick].decreasing.line +
        + Type: color
        Default: "#FF4136" +

        Sets the color of line bounding the box(es).

        +
      • +
      • + + width + +
        Parent: data[type=candlestick].decreasing.line +
        + Type: number
        Default: 2 +

        Sets the width (in px) of line bounding the box(es).

        +
      • +
      +
    • +
    +
  • +
  • + + high + +
    Parent: data[type=candlestick] +
    + Type: data_array +

    Sets the high values.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=candlestick] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=candlestick] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=candlestick].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=candlestick].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=candlestick].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=candlestick].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=candlestick].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=candlestick].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    • + + split + +
      Parent: data[type=candlestick].hoverlabel +
      + Type: boolean

      Show hover information (open, close, high, low) in separate labels.

      +
    • +
    +
  • +
  • + + hovertext + +
    Parent: data[type=candlestick] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=candlestick] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + increasing + +
    Parent: data[type=candlestick] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fillcolor + +
      Parent: data[type=candlestick].increasing +
      + Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

      +
    • +
    • + + line + +
      Parent: data[type=candlestick].increasing +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=candlestick].increasing.line +
        + Type: color
        Default: "#3D9970" +

        Sets the color of line bounding the box(es).

        +
      • +
      • + + width + +
        Parent: data[type=candlestick].increasing.line +
        + Type: number
        Default: 2 +

        Sets the width (in px) of line bounding the box(es).

        +
      • +
      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=candlestick] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=candlestick] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=candlestick] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=candlestick].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=candlestick].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=candlestick].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=candlestick] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=candlestick] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=candlestick] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + width + +
      Parent: data[type=candlestick].line +
      + Type: number
      Default: 2 +

      Sets the width (in px) of line bounding the box(es). Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.

      +
    • +
    +
  • +
  • + + low + +
    Parent: data[type=candlestick] +
    + Type: data_array +

    Sets the low values.

    +
  • +
  • + + meta + +
    Parent: data[type=candlestick] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=candlestick] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=candlestick] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + open + +
    Parent: data[type=candlestick] +
    + Type: data_array +

    Sets the open values.

    +
  • +
  • + + selectedpoints + +
    Parent: data[type=candlestick] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=candlestick] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=candlestick] +
    + Type: string or array of strings

    Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.

    +
  • +
  • + + type + +
    Parent: data[type=candlestick] +
    +Type: "candlestick" +
  • +
  • + + uid + +
    Parent: data[type=candlestick] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=candlestick] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=candlestick] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + whiskerwidth + +
    Parent: data[type=candlestick] +
    + Type: number less than or equal to 1 +

    Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).

    +
  • +
  • + + x + +
    Parent: data[type=candlestick] +
    + Type: data_array +

    Sets the x coordinates. If absent, linear coordinate will be generated.

    +
  • +
  • + + xaxis + +
    Parent: data[type=candlestick] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=candlestick] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=candlestick] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=candlestick] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=candlestick] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=candlestick] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + yaxis + +
    Parent: data[type=candlestick] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=candlestick] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + zorder + +
    Parent: data[type=candlestick] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/carpet/index.html b/docs/reference/carpet/index.html new file mode 100644 index 00000000000..d7a97f67b69 --- /dev/null +++ b/docs/reference/carpet/index.html @@ -0,0 +1,6571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + carpet - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

carpet

+
+ A carpet trace is an object with the key "type" equal to "carpet" + (i.e. {"type": "carpet"}) and any of the keys listed below. +

The data describing carpet axis layout is set in `y` and (optionally) also `x`. If only `y` is present, `x` the plot is interpreted as a cheater plot and is filled in using the `y` values. `x` and `y` may either be 2D arrays matching with each dimension matching that of `a` and `b`, or they may be 1D arrays with total length equal to that of `a` and `b`.

+
+
    +
  • + + a + +
    Parent: data[type=carpet] +
    + Type: data_array +

    An array containing values of the first parameter value

    +
  • +
  • + + a0 + +
    Parent: data[type=carpet] +
    + Type: number

    Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step.

    +
  • +
  • + + aaxis + +
    Parent: data[type=carpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + arraydtick + +
      Parent: data[type=carpet].aaxis +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      The stride between grid lines along the axis

      +
    • +
    • + + arraytick0 + +
      Parent: data[type=carpet].aaxis +
      + Type: integer

      The starting index of grid lines along the axis

      +
    • +
    • + + autorange + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +true| false| "reversed" ) +
      Default: "True" +

      Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to "false".

      +
    • +
    • + + autotypenumbers + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"convert types"| "strict" ) +
      Default: "convert types" +

      Using "strict" a numeric string in trace data is not converted to a number. Using "convert types" a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.

      +
    • +
    • + + categoryarray + +
      Parent: data[type=carpet].aaxis +
      + Type: data_array +

      Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`.

      +
    • +
    • + + categoryorder + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"trace"| "category ascending"| "category descending"| "array" ) +
      Default: "trace" +

      Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", which specifies the order that is present in the data supplied. Set `categoryorder` to "category ascending" or "category descending" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to "array" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the "trace" mode. The unspecified categories will follow the categories in `categoryarray`.

      +
    • +
    • + + cheatertype + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"index"| "value" ) +
      Default: "value" +
    • +
    • + + color + +
      Parent: data[type=carpet].aaxis +
      + Type: color

      Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

      +
    • +
    • + + dtick + +
      Parent: data[type=carpet].aaxis +
      + Type: number
      Default: 1 +

      The stride between grid lines along the axis

      +
    • +
    • + + endline + +
      Parent: data[type=carpet].aaxis +
      + Type: boolean

      Determines whether or not a line is drawn at along the final value of this axis. If "true", the end line is drawn on top of the grid lines.

      +
    • +
    • + + endlinecolor + +
      Parent: data[type=carpet].aaxis +
      + Type: color

      Sets the line color of the end line.

      +
    • +
    • + + endlinewidth + +
      Parent: data[type=carpet].aaxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the end line.

      +
    • +
    • + + exponentformat + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + fixedrange + +
      Parent: data[type=carpet].aaxis +
      + Type: boolean

      Determines whether or not this axis is zoom-able. If true, then zoom is disabled.

      +
    • +
    • + + gridcolor + +
      Parent: data[type=carpet].aaxis +
      + Type: color

      Sets the axis line color.

      +
    • +
    • + + griddash + +
      Parent: data[type=carpet].aaxis +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + gridwidth + +
      Parent: data[type=carpet].aaxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + labelalias + +
      Parent: data[type=carpet].aaxis +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + labelpadding + +
      Parent: data[type=carpet].aaxis +
      + Type: integer
      Default: 10 +

      Extra padding between label and the axis

      +
    • +
    • + + labelprefix + +
      Parent: data[type=carpet].aaxis +
      + Type: string

      Sets a axis label prefix.

      +
    • +
    • + + labelsuffix + +
      Parent: data[type=carpet].aaxis +
      + Type: string

      Sets a axis label suffix.

      +
    • +
    • + + linecolor + +
      Parent: data[type=carpet].aaxis +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + linewidth + +
      Parent: data[type=carpet].aaxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + minexponent + +
      Parent: data[type=carpet].aaxis +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number

      +
    • +
    • + + minorgridcolor + +
      Parent: data[type=carpet].aaxis +
      + Type: color
      Default: "#eee" +

      Sets the color of the grid lines.

      +
    • +
    • + + minorgridcount + +
      Parent: data[type=carpet].aaxis +
      + Type: integer

      Sets the number of minor grid ticks per major grid tick

      +
    • +
    • + + minorgriddash + +
      Parent: data[type=carpet].aaxis +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + minorgridwidth + +
      Parent: data[type=carpet].aaxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the grid lines.

      +
    • +
    • + + nticks + +
      Parent: data[type=carpet].aaxis +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + range + +
      Parent: data[type=carpet].aaxis +
      +{inner}Type: {array} +

      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", it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is "category", it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + rangemode + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"normal"| "tozero"| "nonnegative" ) +
      Default: "normal" +

      If "normal", the range is computed in relation to the extrema of the input data. If "tozero"`, the range extends to 0, regardless of the input data If "nonnegative", the range is non-negative, regardless of the input data.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=carpet].aaxis +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showgrid + +
      Parent: data[type=carpet].aaxis +
      + Type: boolean
      Default: true +

      Determines whether or not grid lines are drawn. If "true", the grid lines are drawn at every tick mark.

      +
    • +
    • + + showline + +
      Parent: data[type=carpet].aaxis +
      + Type: boolean

      Determines whether or not a line bounding this axis is drawn.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"start"| "end"| "both"| "none" ) +
      Default: "start" +

      Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + smoothing + +
      Parent: data[type=carpet].aaxis +
      + Type: number less than or equal to 1.3 +
      Default: 1 +
    • +
    • + + startline + +
      Parent: data[type=carpet].aaxis +
      + Type: boolean

      Determines whether or not a line is drawn at along the starting value of this axis. If "true", the start line is drawn on top of the grid lines.

      +
    • +
    • + + startlinecolor + +
      Parent: data[type=carpet].aaxis +
      + Type: color

      Sets the line color of the start line.

      +
    • +
    • + + startlinewidth + +
      Parent: data[type=carpet].aaxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the start line.

      +
    • +
    • + + tick0 + +
      Parent: data[type=carpet].aaxis +
      + Type: number

      The starting index of grid lines along the axis

      +
    • +
    • + + tickangle + +
      Parent: data[type=carpet].aaxis +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickfont + +
      Parent: data[type=carpet].aaxis +
      Type: object containing one or more of the keys listed below. +

      Sets the tick font.

      +
        +
      • + + color + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=carpet].aaxis.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=carpet].aaxis +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=carpet].aaxis +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=carpet].aaxis.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=carpet].aaxis.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=carpet].aaxis.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=carpet].aaxis.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=carpet].aaxis.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + tickmode + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"linear"| "array" ) +
      Default: "array" +
    • +
    • + + tickprefix + +
      Parent: data[type=carpet].aaxis +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=carpet].aaxis +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=carpet].aaxis +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=carpet].aaxis +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + title + +
      Parent: data[type=carpet].aaxis +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=carpet].aaxis.title +
        Type: object containing one or more of the keys listed below. +

        Sets this axis' title font.

        +
          +
        • + + color + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=carpet].aaxis.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + offset + +
        Parent: data[type=carpet].aaxis.title +
        + Type: number
        Default: 10 +

        An additional amount by which to offset the title from the tick labels, given in pixels.

        +
      • +
      • + + text + +
        Parent: data[type=carpet].aaxis.title +
        + Type: string

        Sets the title of this axis.

        +
      • +
      +
    • +
    • + + type + +
      Parent: data[type=carpet].aaxis +
      + Type: + enumerated , one of ( +"-"| "linear"| "date"| "category" ) +
      Default: "-" +

      Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.

      +
    • +
    +
  • +
  • + + b + +
    Parent: data[type=carpet] +
    + Type: data_array +

    A two dimensional array of y coordinates at each carpet point.

    +
  • +
  • + + b0 + +
    Parent: data[type=carpet] +
    + Type: number

    Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step.

    +
  • +
  • + + baxis + +
    Parent: data[type=carpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + arraydtick + +
      Parent: data[type=carpet].baxis +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      The stride between grid lines along the axis

      +
    • +
    • + + arraytick0 + +
      Parent: data[type=carpet].baxis +
      + Type: integer

      The starting index of grid lines along the axis

      +
    • +
    • + + autorange + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +true| false| "reversed" ) +
      Default: "True" +

      Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to "false".

      +
    • +
    • + + autotypenumbers + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"convert types"| "strict" ) +
      Default: "convert types" +

      Using "strict" a numeric string in trace data is not converted to a number. Using "convert types" a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.

      +
    • +
    • + + categoryarray + +
      Parent: data[type=carpet].baxis +
      + Type: data_array +

      Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`.

      +
    • +
    • + + categoryorder + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"trace"| "category ascending"| "category descending"| "array" ) +
      Default: "trace" +

      Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", which specifies the order that is present in the data supplied. Set `categoryorder` to "category ascending" or "category descending" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to "array" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the "trace" mode. The unspecified categories will follow the categories in `categoryarray`.

      +
    • +
    • + + cheatertype + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"index"| "value" ) +
      Default: "value" +
    • +
    • + + color + +
      Parent: data[type=carpet].baxis +
      + Type: color

      Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

      +
    • +
    • + + dtick + +
      Parent: data[type=carpet].baxis +
      + Type: number
      Default: 1 +

      The stride between grid lines along the axis

      +
    • +
    • + + endline + +
      Parent: data[type=carpet].baxis +
      + Type: boolean

      Determines whether or not a line is drawn at along the final value of this axis. If "true", the end line is drawn on top of the grid lines.

      +
    • +
    • + + endlinecolor + +
      Parent: data[type=carpet].baxis +
      + Type: color

      Sets the line color of the end line.

      +
    • +
    • + + endlinewidth + +
      Parent: data[type=carpet].baxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the end line.

      +
    • +
    • + + exponentformat + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + fixedrange + +
      Parent: data[type=carpet].baxis +
      + Type: boolean

      Determines whether or not this axis is zoom-able. If true, then zoom is disabled.

      +
    • +
    • + + gridcolor + +
      Parent: data[type=carpet].baxis +
      + Type: color

      Sets the axis line color.

      +
    • +
    • + + griddash + +
      Parent: data[type=carpet].baxis +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + gridwidth + +
      Parent: data[type=carpet].baxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + labelalias + +
      Parent: data[type=carpet].baxis +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + labelpadding + +
      Parent: data[type=carpet].baxis +
      + Type: integer
      Default: 10 +

      Extra padding between label and the axis

      +
    • +
    • + + labelprefix + +
      Parent: data[type=carpet].baxis +
      + Type: string

      Sets a axis label prefix.

      +
    • +
    • + + labelsuffix + +
      Parent: data[type=carpet].baxis +
      + Type: string

      Sets a axis label suffix.

      +
    • +
    • + + linecolor + +
      Parent: data[type=carpet].baxis +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + linewidth + +
      Parent: data[type=carpet].baxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + minexponent + +
      Parent: data[type=carpet].baxis +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number

      +
    • +
    • + + minorgridcolor + +
      Parent: data[type=carpet].baxis +
      + Type: color
      Default: "#eee" +

      Sets the color of the grid lines.

      +
    • +
    • + + minorgridcount + +
      Parent: data[type=carpet].baxis +
      + Type: integer

      Sets the number of minor grid ticks per major grid tick

      +
    • +
    • + + minorgriddash + +
      Parent: data[type=carpet].baxis +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + minorgridwidth + +
      Parent: data[type=carpet].baxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the grid lines.

      +
    • +
    • + + nticks + +
      Parent: data[type=carpet].baxis +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + range + +
      Parent: data[type=carpet].baxis +
      +{inner}Type: {array} +

      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", it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is "category", it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + rangemode + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"normal"| "tozero"| "nonnegative" ) +
      Default: "normal" +

      If "normal", the range is computed in relation to the extrema of the input data. If "tozero"`, the range extends to 0, regardless of the input data If "nonnegative", the range is non-negative, regardless of the input data.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=carpet].baxis +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showgrid + +
      Parent: data[type=carpet].baxis +
      + Type: boolean
      Default: true +

      Determines whether or not grid lines are drawn. If "true", the grid lines are drawn at every tick mark.

      +
    • +
    • + + showline + +
      Parent: data[type=carpet].baxis +
      + Type: boolean

      Determines whether or not a line bounding this axis is drawn.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"start"| "end"| "both"| "none" ) +
      Default: "start" +

      Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + smoothing + +
      Parent: data[type=carpet].baxis +
      + Type: number less than or equal to 1.3 +
      Default: 1 +
    • +
    • + + startline + +
      Parent: data[type=carpet].baxis +
      + Type: boolean

      Determines whether or not a line is drawn at along the starting value of this axis. If "true", the start line is drawn on top of the grid lines.

      +
    • +
    • + + startlinecolor + +
      Parent: data[type=carpet].baxis +
      + Type: color

      Sets the line color of the start line.

      +
    • +
    • + + startlinewidth + +
      Parent: data[type=carpet].baxis +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the start line.

      +
    • +
    • + + tick0 + +
      Parent: data[type=carpet].baxis +
      + Type: number

      The starting index of grid lines along the axis

      +
    • +
    • + + tickangle + +
      Parent: data[type=carpet].baxis +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickfont + +
      Parent: data[type=carpet].baxis +
      Type: object containing one or more of the keys listed below. +

      Sets the tick font.

      +
        +
      • + + color + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=carpet].baxis.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=carpet].baxis +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=carpet].baxis +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=carpet].baxis.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=carpet].baxis.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=carpet].baxis.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=carpet].baxis.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=carpet].baxis.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + tickmode + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"linear"| "array" ) +
      Default: "array" +
    • +
    • + + tickprefix + +
      Parent: data[type=carpet].baxis +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=carpet].baxis +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=carpet].baxis +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=carpet].baxis +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + title + +
      Parent: data[type=carpet].baxis +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=carpet].baxis.title +
        Type: object containing one or more of the keys listed below. +

        Sets this axis' title font.

        +
          +
        • + + color + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=carpet].baxis.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + offset + +
        Parent: data[type=carpet].baxis.title +
        + Type: number
        Default: 10 +

        An additional amount by which to offset the title from the tick labels, given in pixels.

        +
      • +
      • + + text + +
        Parent: data[type=carpet].baxis.title +
        + Type: string

        Sets the title of this axis.

        +
      • +
      +
    • +
    • + + type + +
      Parent: data[type=carpet].baxis +
      + Type: + enumerated , one of ( +"-"| "linear"| "date"| "category" ) +
      Default: "-" +

      Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.

      +
    • +
    +
  • +
  • + + carpet + +
    Parent: data[type=carpet] +
    + Type: string

    An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie

    +
  • +
  • + + cheaterslope + +
    Parent: data[type=carpet] +
    + Type: number
    Default: 1 +

    The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted.

    +
  • +
  • + + color + +
    Parent: data[type=carpet] +
    + Type: color
    Default: "#444" +

    Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

    +
  • +
  • + + customdata + +
    Parent: data[type=carpet] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + da + +
    Parent: data[type=carpet] +
    + Type: number
    Default: 1 +

    Sets the a coordinate step. See `a0` for more info.

    +
  • +
  • + + db + +
    Parent: data[type=carpet] +
    + Type: number
    Default: 1 +

    Sets the b coordinate step. See `b0` for more info.

    +
  • +
  • + + font + +
    Parent: data[type=carpet] +
    Type: object containing one or more of the keys listed below. +

    The default font used for axis & tick labels on this carpet

    +
      +
    • + + color + +
      Parent: data[type=carpet].font +
      + Type: color
      Default: "#444" +
    • +
    • + + family + +
      Parent: data[type=carpet].font +
      + Type: string
      Default: ""Open Sans", verdana, arial, sans-serif" +

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=carpet].font +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=carpet].font +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=carpet].font +
      + Type: number greater than or equal to 1 +
      Default: 12 +
    • +
    • + + style + +
      Parent: data[type=carpet].font +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=carpet].font +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=carpet].font +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=carpet].font +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + ids + +
    Parent: data[type=carpet] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=carpet] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=carpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=carpet].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=carpet].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=carpet].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=carpet] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=carpet] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + meta + +
    Parent: data[type=carpet] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=carpet] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=carpet] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + type + +
    Parent: data[type=carpet] +
    +Type: "carpet" +
  • +
  • + + uid + +
    Parent: data[type=carpet] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=carpet] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=carpet] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=carpet] +
    + Type: data_array +

    A two dimensional array of x coordinates at each carpet point. If omitted, the plot is a cheater plot and the xaxis is hidden by default.

    +
  • +
  • + + xaxis + +
    Parent: data[type=carpet] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + y + +
    Parent: data[type=carpet] +
    + Type: data_array +

    A two dimensional array of y coordinates at each carpet point.

    +
  • +
  • + + yaxis + +
    Parent: data[type=carpet] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + zorder + +
    Parent: data[type=carpet] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/choropleth/index.html b/docs/reference/choropleth/index.html new file mode 100644 index 00000000000..0cda48e6816 --- /dev/null +++ b/docs/reference/choropleth/index.html @@ -0,0 +1,5959 @@ + + + + + + + + + + + + + + + + + + + + + + + + + choropleth - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

choropleth

+
+ A choropleth trace is an object with the key "type" equal to "choropleth" + (i.e. {"type": "choropleth"}) and any of the keys listed below. +

The data that describes the choropleth value-to-color mapping is set in `z`. The geographic locations corresponding to each value in `z` are set in `locations`.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=choropleth] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=choropleth] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=choropleth] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=choropleth].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=choropleth].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=choropleth].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=choropleth].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=choropleth].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=choropleth].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=choropleth].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=choropleth].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=choropleth].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=choropleth].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=choropleth].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=choropleth].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=choropleth].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choropleth].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=choropleth].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=choropleth].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=choropleth].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=choropleth].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=choropleth].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=choropleth].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=choropleth].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=choropleth].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=choropleth].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=choropleth].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=choropleth].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=choropleth].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=choropleth].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=choropleth].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=choropleth].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=choropleth].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=choropleth].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=choropleth].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=choropleth].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=choropleth].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=choropleth].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=choropleth] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=choropleth] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + featureidkey + +
    Parent: data[type=choropleth] +
    + Type: string
    Default: "id" +

    Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example "properties.name".

    +
  • +
  • + + geo + +
    Parent: data[type=choropleth] +
    + Type: subplotid +
    Default: geo +

    Sets a reference between this trace's geospatial coordinates and a geographic map. If "geo" (the default value), the geospatial coordinates refer to `layout.geo`. If "geo2", the geospatial coordinates refer to `layout.geo2`, and so on.

    +
  • +
  • + + geojson + +
    Parent: data[type=choropleth] +
    + Type: number or categorical coordinate string +

    Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon".

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=choropleth] +
    + Type: flaglist string. + + Any combination of "location", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "location", "z", "location+z", "location+z+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=choropleth] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=choropleth].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=choropleth].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=choropleth].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=choropleth].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choropleth].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=choropleth].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=choropleth] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=choropleth] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=choropleth] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=choropleth] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=choropleth] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=choropleth] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=choropleth].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choropleth].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=choropleth].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=choropleth] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=choropleth] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + locationmode + +
    Parent: data[type=choropleth] +
    + Type: + enumerated , one of ( +"ISO-3"| "USA-states"| "country names"| "geojson-id" ) +
    Default: "ISO-3" +

    Determines the set of locations used to match entries in `locations` to regions on the map. Values "ISO-3", "USA-states", "country names" correspond to features on the base map and value "geojson-id" corresponds to features from a custom GeoJSON linked to the `geojson` attribute.

    +
  • +
  • + + locations + +
    Parent: data[type=choropleth] +
    + Type: data_array +

    Sets the coordinates via location IDs or names. See `locationmode` for more info.

    +
  • +
  • + + marker + +
    Parent: data[type=choropleth] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: data[type=choropleth].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=choropleth].marker.line +
        + Type: color or array of colors
        Default: "#444" +

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + width + +
        Parent: data[type=choropleth].marker.line +
        + Type: number or array of numbers
        Default: 1 +

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=choropleth].marker +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the opacity of the locations.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=choropleth] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=choropleth] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + reversescale + +
    Parent: data[type=choropleth] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + selected + +
    Parent: data[type=choropleth] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=choropleth].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=choropleth].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=choropleth] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=choropleth] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=choropleth] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + text + +
    Parent: data[type=choropleth] +
    + Type: string or array of strings

    Sets the text elements associated with each location.

    +
  • +
  • + + type + +
    Parent: data[type=choropleth] +
    +Type: "choropleth" +
  • +
  • + + uid + +
    Parent: data[type=choropleth] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=choropleth] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=choropleth] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=choropleth].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=choropleth].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=choropleth] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + z + +
    Parent: data[type=choropleth] +
    + Type: data_array +

    Sets the color values.

    +
  • +
  • + + zauto + +
    Parent: data[type=choropleth] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zmax + +
    Parent: data[type=choropleth] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=choropleth] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=choropleth] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/choroplethmap/index.html b/docs/reference/choroplethmap/index.html new file mode 100644 index 00000000000..afc849b4afd --- /dev/null +++ b/docs/reference/choroplethmap/index.html @@ -0,0 +1,5955 @@ + + + + + + + + + + + + + + + + + + + + + + + + + choroplethmap - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

choroplethmap

+
+ A choroplethmap trace is an object with the key "type" equal to "choroplethmap" + (i.e. {"type": "choroplethmap"}) and any of the keys listed below. +

GeoJSON features to be filled are set in `geojson` The data that describes the choropleth value-to-color mapping is set in `locations` and `z`.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=choroplethmap] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + below + +
    Parent: data[type=choroplethmap] +
    + Type: string

    Determines if the choropleth polygons will be inserted before the layer with the specified ID. By default, choroplethmap traces are placed above the water layers. If set to '', the layer will be inserted above every existing layer.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=choroplethmap] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=choroplethmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=choroplethmap].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choroplethmap].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=choroplethmap].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=choroplethmap].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=choroplethmap].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=choroplethmap].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=choroplethmap].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=choroplethmap].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=choroplethmap].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=choroplethmap].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=choroplethmap].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=choroplethmap].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=choroplethmap].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=choroplethmap].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=choroplethmap] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=choroplethmap] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + featureidkey + +
    Parent: data[type=choroplethmap] +
    + Type: string
    Default: "id" +

    Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Support nested property, for example "properties.name".

    +
  • +
  • + + geojson + +
    Parent: data[type=choroplethmap] +
    + Type: number or categorical coordinate string +

    Sets the GeoJSON data associated with this trace. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon".

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=choroplethmap] +
    + Type: flaglist string. + + Any combination of "location", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "location", "z", "location+z", "location+z+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=choroplethmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=choroplethmap].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=choroplethmap].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=choroplethmap].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=choroplethmap].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choroplethmap].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=choroplethmap].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=choroplethmap] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `properties` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=choroplethmap] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=choroplethmap] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=choroplethmap] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=choroplethmap] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=choroplethmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=choroplethmap].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choroplethmap].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=choroplethmap].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=choroplethmap] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=choroplethmap] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + locations + +
    Parent: data[type=choroplethmap] +
    + Type: data_array +

    Sets which features found in "geojson" to plot using their feature `id` field.

    +
  • +
  • + + marker + +
    Parent: data[type=choroplethmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: data[type=choroplethmap].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=choroplethmap].marker.line +
        + Type: color or array of colors
        Default: "#444" +

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + width + +
        Parent: data[type=choroplethmap].marker.line +
        + Type: number or array of numbers
        Default: 1 +

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=choroplethmap].marker +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the opacity of the locations.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=choroplethmap] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=choroplethmap] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + reversescale + +
    Parent: data[type=choroplethmap] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + selected + +
    Parent: data[type=choroplethmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=choroplethmap].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=choroplethmap].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=choroplethmap] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=choroplethmap] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=choroplethmap] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + subplot + +
    Parent: data[type=choroplethmap] +
    + Type: subplotid +
    Default: map +

    Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the data refer to `layout.map`. If "map2", the data refer to `layout.map2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=choroplethmap] +
    + Type: string or array of strings

    Sets the text elements associated with each location.

    +
  • +
  • + + type + +
    Parent: data[type=choroplethmap] +
    +Type: "choroplethmap" +
  • +
  • + + uid + +
    Parent: data[type=choroplethmap] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=choroplethmap] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=choroplethmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=choroplethmap].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=choroplethmap].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=choroplethmap] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + z + +
    Parent: data[type=choroplethmap] +
    + Type: data_array +

    Sets the color values.

    +
  • +
  • + + zauto + +
    Parent: data[type=choroplethmap] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zmax + +
    Parent: data[type=choroplethmap] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=choroplethmap] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=choroplethmap] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/choroplethmapbox/index.html b/docs/reference/choroplethmapbox/index.html new file mode 100644 index 00000000000..6f18f0c53ef --- /dev/null +++ b/docs/reference/choroplethmapbox/index.html @@ -0,0 +1,5955 @@ + + + + + + + + + + + + + + + + + + + + + + + + + choroplethmapbox - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

choroplethmapbox

+
+ A choroplethmapbox trace is an object with the key "type" equal to "choroplethmapbox" + (i.e. {"type": "choroplethmapbox"}) and any of the keys listed below. +

"choroplethmapbox" trace is deprecated! Please consider switching to the "choroplethmap" trace type and `map` subplots. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ GeoJSON features to be filled are set in `geojson` The data that describes the choropleth value-to-color mapping is set in `locations` and `z`.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=choroplethmapbox] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + below + +
    Parent: data[type=choroplethmapbox] +
    + Type: string

    Determines if the choropleth polygons will be inserted before the layer with the specified ID. By default, choroplethmapbox traces are placed above the water layers. If set to '', the layer will be inserted above every existing layer.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=choroplethmapbox] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=choroplethmapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=choroplethmapbox].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choroplethmapbox].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=choroplethmapbox].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=choroplethmapbox].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=choroplethmapbox].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=choroplethmapbox].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=choroplethmapbox].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=choroplethmapbox].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=choroplethmapbox].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=choroplethmapbox].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=choroplethmapbox].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=choroplethmapbox].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=choroplethmapbox].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=choroplethmapbox].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=choroplethmapbox] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=choroplethmapbox] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + featureidkey + +
    Parent: data[type=choroplethmapbox] +
    + Type: string
    Default: "id" +

    Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Support nested property, for example "properties.name".

    +
  • +
  • + + geojson + +
    Parent: data[type=choroplethmapbox] +
    + Type: number or categorical coordinate string +

    Sets the GeoJSON data associated with this trace. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon".

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=choroplethmapbox] +
    + Type: flaglist string. + + Any combination of "location", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "location", "z", "location+z", "location+z+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=choroplethmapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=choroplethmapbox].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=choroplethmapbox].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=choroplethmapbox].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=choroplethmapbox].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choroplethmapbox].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=choroplethmapbox].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=choroplethmapbox] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `properties` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=choroplethmapbox] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=choroplethmapbox] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=choroplethmapbox] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=choroplethmapbox] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=choroplethmapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=choroplethmapbox].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=choroplethmapbox].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=choroplethmapbox].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=choroplethmapbox] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=choroplethmapbox] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + locations + +
    Parent: data[type=choroplethmapbox] +
    + Type: data_array +

    Sets which features found in "geojson" to plot using their feature `id` field.

    +
  • +
  • + + marker + +
    Parent: data[type=choroplethmapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: data[type=choroplethmapbox].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=choroplethmapbox].marker.line +
        + Type: color or array of colors
        Default: "#444" +

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + width + +
        Parent: data[type=choroplethmapbox].marker.line +
        + Type: number or array of numbers
        Default: 1 +

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=choroplethmapbox].marker +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the opacity of the locations.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=choroplethmapbox] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=choroplethmapbox] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + reversescale + +
    Parent: data[type=choroplethmapbox] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + selected + +
    Parent: data[type=choroplethmapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=choroplethmapbox].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=choroplethmapbox].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=choroplethmapbox] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=choroplethmapbox] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=choroplethmapbox] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + subplot + +
    Parent: data[type=choroplethmapbox] +
    + Type: subplotid +
    Default: mapbox +

    mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If "mapbox" (the default value), the data refer to `layout.mapbox`. If "mapbox2", the data refer to `layout.mapbox2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=choroplethmapbox] +
    + Type: string or array of strings

    Sets the text elements associated with each location.

    +
  • +
  • + + type + +
    Parent: data[type=choroplethmapbox] +
    +Type: "choroplethmapbox" +
  • +
  • + + uid + +
    Parent: data[type=choroplethmapbox] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=choroplethmapbox] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=choroplethmapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=choroplethmapbox].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=choroplethmapbox].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=choroplethmapbox] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + z + +
    Parent: data[type=choroplethmapbox] +
    + Type: data_array +

    Sets the color values.

    +
  • +
  • + + zauto + +
    Parent: data[type=choroplethmapbox] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zmax + +
    Parent: data[type=choroplethmapbox] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=choroplethmapbox] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=choroplethmapbox] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/cone/index.html b/docs/reference/cone/index.html new file mode 100644 index 00000000000..05af76c81b6 --- /dev/null +++ b/docs/reference/cone/index.html @@ -0,0 +1,6063 @@ + + + + + + + + + + + + + + + + + + + + + + + + + cone - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

cone

+
+ A cone trace is an object with the key "type" equal to "cone" + (i.e. {"type": "cone"}) and any of the keys listed below. +

Use cone traces to visualize vector fields. Specify a vector field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and 3 vector component arrays `u`, `v`, `w`. The cones are drawn exactly at the positions given by `x`, `y` and `z`.

+
+
    +
  • + + anchor + +
    Parent: data[type=cone] +
    + Type: + enumerated , one of ( +"tip"| "tail"| "cm"| "center" ) +
    Default: "cm" +

    Sets the cones' anchor with respect to their x/y/z positions. Note that "cm" denote the cone's center of mass which corresponds to 1/4 from the tail to tip.

    +
  • +
  • + + autocolorscale + +
    Parent: data[type=cone] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + cauto + +
    Parent: data[type=cone] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    +
  • +
  • + + cmax + +
    Parent: data[type=cone] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.

    +
  • +
  • + + cmid + +
    Parent: data[type=cone] +
    + Type: number

    Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.

    +
  • +
  • + + cmin + +
    Parent: data[type=cone] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=cone] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=cone] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=cone].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=cone].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=cone].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=cone].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=cone].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=cone].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=cone].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=cone].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=cone].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=cone].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=cone].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=cone].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=cone].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=cone].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=cone].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=cone].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=cone].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=cone].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=cone].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=cone].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=cone].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=cone].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=cone].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=cone].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=cone].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=cone].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=cone].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=cone].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=cone].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=cone].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=cone].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=cone].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=cone].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=cone].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=cone].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=cone] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=cone] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=cone] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "u", "v", "w", "norm", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "x+y+z+norm+text+name" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=cone] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=cone].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=cone].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=cone].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=cone].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=cone].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=cone].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=cone] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `norm` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=cone] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=cone] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=cone] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=cone] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=cone] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=cone].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=cone].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=cone].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=cone] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=cone] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lighting + +
    Parent: data[type=cone] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + ambient + +
      Parent: data[type=cone].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Ambient light increases overall color visibility but can wash out the image.

      +
    • +
    • + + diffuse + +
      Parent: data[type=cone].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Represents the extent that incident rays are reflected in a range of angles.

      +
    • +
    • + + facenormalsepsilon + +
      Parent: data[type=cone].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-06 +

      Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    • + + fresnel + +
      Parent: data[type=cone].lighting +
      + Type: number less than or equal to 5 +
      Default: 0.2 +

      Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      +
    • +
    • + + roughness + +
      Parent: data[type=cone].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      +
    • +
    • + + specular + +
      Parent: data[type=cone].lighting +
      + Type: number less than or equal to 2 +
      Default: 0.05 +

      Represents the level that incident rays are reflected in a single direction, causing shine.

      +
    • +
    • + + vertexnormalsepsilon + +
      Parent: data[type=cone].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-12 +

      Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    +
  • +
  • + + lightposition + +
    Parent: data[type=cone] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=cone].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the X coordinate for each vertex.

      +
    • +
    • + + y + +
      Parent: data[type=cone].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the Y coordinate for each vertex.

      +
    • +
    • + + z + +
      Parent: data[type=cone].lightposition +
      + Type: number between or equal to -100000 and 100000 +

      Numeric vector, representing the Z coordinate for each vertex.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=cone] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=cone] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=cone] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    +
  • +
  • + + reversescale + +
    Parent: data[type=cone] +
    + Type: boolean

    Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    +
  • +
  • + + scene + +
    Parent: data[type=cone] +
    + Type: subplotid +
    Default: scene +

    Sets a reference between this trace's 3D coordinate system and a 3D scene. If "scene" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If "scene2", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    +
  • +
  • + + showlegend + +
    Parent: data[type=cone] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=cone] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + sizemode + +
    Parent: data[type=cone] +
    + Type: + enumerated , one of ( +"scaled"| "absolute"| "raw" ) +
    Default: "scaled" +

    Determines whether `sizeref` is set as a "scaled" (i.e unitless) scalar (normalized by the max u/v/w norm in the vector field) or as "absolute" value (in the same units as the vector field). To display sizes in actual vector length use "raw".

    +
  • +
  • + + sizeref + +
    Parent: data[type=cone] +
    + Type: number

    Adjusts the cone size scaling. The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`. This factor (computed internally) corresponds to the minimum "time" to travel across two successive x/y/z positions at the average velocity of those two successive positions. All cones in a given trace use the same factor. With `sizemode` set to "raw", its default value is "1". With `sizemode` set to "scaled", `sizeref` is unitless, its default value is "0.5". With `sizemode` set to "absolute", `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm.

    +
  • +
  • + + text + +
    Parent: data[type=cone] +
    + Type: string or array of strings

    Sets the text elements associated with the cones. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + type + +
    Parent: data[type=cone] +
    +Type: "cone" +
  • +
  • + + u + +
    Parent: data[type=cone] +
    + Type: data_array +

    Sets the x components of the vector field.

    +
  • +
  • + + uhoverformat + +
    Parent: data[type=cone] +
    + Type: string

    Sets the hover text formatting rulefor `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + uid + +
    Parent: data[type=cone] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=cone] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + v + +
    Parent: data[type=cone] +
    + Type: data_array +

    Sets the y components of the vector field.

    +
  • +
  • + + vhoverformat + +
    Parent: data[type=cone] +
    + Type: string

    Sets the hover text formatting rulefor `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + visible + +
    Parent: data[type=cone] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + w + +
    Parent: data[type=cone] +
    + Type: data_array +

    Sets the z components of the vector field.

    +
  • +
  • + + whoverformat + +
    Parent: data[type=cone] +
    + Type: string

    Sets the hover text formatting rulefor `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + x + +
    Parent: data[type=cone] +
    + Type: data_array +

    Sets the x coordinates of the vector field and of the displayed cones.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=cone] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=cone] +
    + Type: data_array +

    Sets the y coordinates of the vector field and of the displayed cones.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=cone] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=cone] +
    + Type: data_array +

    Sets the z coordinates of the vector field and of the displayed cones.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=cone] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `zaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/contour/index.html b/docs/reference/contour/index.html new file mode 100644 index 00000000000..62086c08cb3 --- /dev/null +++ b/docs/reference/contour/index.html @@ -0,0 +1,6442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + contour - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

contour

+
+ A contour trace is an object with the key "type" equal to "contour" + (i.e. {"type": "contour"}) and any of the keys listed below. +

The data from which contour lines are computed is set in `z`. Data in `z` must be a 2D array of numbers. Say that `z` has N rows and M columns, then by default, these N rows correspond to N y coordinates (set in `y` or auto-generated) and the M columns correspond to M x coordinates (set in `x` or auto-generated). By setting `transpose` to "true", the above behavior is flipped.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=contour] +
    + Type: boolean

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + autocontour + +
    Parent: data[type=contour] +
    + Type: boolean
    Default: true +

    Determines whether or not the contour level attributes are picked by an algorithm. If "true", the number of contour levels can be set in `ncontours`. If "false", set the contour level attributes in `contours`.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=contour] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=contour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=contour].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=contour].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=contour].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=contour].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=contour].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=contour].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=contour].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=contour].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=contour].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=contour].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=contour].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=contour].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=contour].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=contour].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=contour].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=contour].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=contour].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=contour].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=contour].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=contour].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=contour].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=contour].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=contour].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=contour].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=contour].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=contour].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=contour].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=contour].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=contour].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=contour].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=contour].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=contour].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=contour].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=contour].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=contour].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=contour] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + connectgaps + +
    Parent: data[type=contour] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array otherwise it is defaulted to false.

    +
  • +
  • + + contours + +
    Parent: data[type=contour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + coloring + +
      Parent: data[type=contour].contours +
      + Type: + enumerated , one of ( +"fill"| "heatmap"| "lines"| "none" ) +
      Default: "fill" +

      Determines the coloring method showing the contour values. If "fill", coloring is done evenly between each contour level If "heatmap", a heatmap gradient coloring is applied between each contour level. If "lines", coloring is done on the contour lines. If "none", no coloring is applied on this trace.

      +
    • +
    • + + end + +
      Parent: data[type=contour].contours +
      + Type: number

      Sets the end contour level value. Must be more than `contours.start`

      +
    • +
    • + + labelfont + +
      Parent: data[type=contour].contours +
      Type: object containing one or more of the keys listed below. +

      Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

      +
        +
      • + + color + +
        Parent: data[type=contour].contours.labelfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=contour].contours.labelfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=contour].contours.labelfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=contour].contours.labelfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=contour].contours.labelfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=contour].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=contour].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=contour].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=contour].contours.labelfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + labelformat + +
      Parent: data[type=contour].contours +
      + Type: string

      Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      +
    • +
    • + + operation + +
      Parent: data[type=contour].contours +
      + Type: + enumerated , one of ( +"="| "<"| ">="| ">"| "<="| "[]"| "()"| "[)"| "(]"| "]["| ")("| "]("| ")[" ) +
      Default: "=" +

      Sets the constraint operation. "=" keeps regions equal to `value` "<" and "<=" keep regions less than `value` ">" and ">=" keep regions greater than `value` "[]", "()", "[)", and "(]" keep regions inside `value[0]` to `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.

      +
    • +
    • + + showlabels + +
      Parent: data[type=contour].contours +
      + Type: boolean

      Determines whether to label the contour lines with their values.

      +
    • +
    • + + showlines + +
      Parent: data[type=contour].contours +
      + Type: boolean
      Default: true +

      Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to "fill".

      +
    • +
    • + + size + +
      Parent: data[type=contour].contours +
      + Type: number

      Sets the step between each contour level. Must be positive.

      +
    • +
    • + + start + +
      Parent: data[type=contour].contours +
      + Type: number

      Sets the starting contour level value. Must be less than `contours.end`

      +
    • +
    • + + type + +
      Parent: data[type=contour].contours +
      + Type: + enumerated , one of ( +"levels"| "constraint" ) +
      Default: "levels" +

      If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.

      +
    • +
    • + + value + +
      Parent: data[type=contour].contours +
      + Type: number or categorical coordinate string +

      Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) "value" is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) "value" is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=contour] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=contour] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + dy + +
    Parent: data[type=contour] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=contour] +
    + Type: color

    Sets the fill color if `contours.type` is "constraint". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=contour] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=contour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=contour].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=contour].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=contour].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=contour].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=contour].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=contour].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoverongaps + +
    Parent: data[type=contour] +
    + Type: boolean
    Default: true +

    Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=contour] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=contour] +
    + Type: data_array +

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=contour] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=contour] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=contour] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=contour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=contour].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=contour].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=contour].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=contour] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=contour] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=contour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=contour].line +
      + Type: color

      Sets the color of the contour level. Has no effect if `contours.coloring` is set to "lines".

      +
    • +
    • + + dash + +
      Parent: data[type=contour].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + smoothing + +
      Parent: data[type=contour].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Sets the amount of smoothing for the contour lines, where "0" corresponds to no smoothing.

      +
    • +
    • + + width + +
      Parent: data[type=contour].line +
      + Type: number

      Sets the contour line width in (in px) Defaults to "0.5" when `contours.type` is "levels". Defaults to "2" when `contour.type` is "constraint".

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=contour] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + ncontours + +
    Parent: data[type=contour] +
    + Type: integer greater than or equal to 1 +
    Default: 15 +

    Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is "true" or if `contours.size` is missing.

    +
  • +
  • + + opacity + +
    Parent: data[type=contour] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + reversescale + +
    Parent: data[type=contour] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + showlegend + +
    Parent: data[type=contour] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=contour] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + text + +
    Parent: data[type=contour] +
    + Type: data_array +

    Sets the text elements associated with each z value.

    +
  • +
  • + + textfont + +
    Parent: data[type=contour] +
    Type: object containing one or more of the keys listed below. +

    For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=contour].textfont +
      + Type: color
      Default: "auto" +
    • +
    • + + family + +
      Parent: data[type=contour].textfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=contour].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=contour].textfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=contour].textfont +
      + Type: number greater than or equal to 1 +
      Default: "auto" +
    • +
    • + + style + +
      Parent: data[type=contour].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=contour].textfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=contour].textfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=contour].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + texttemplate + +
    Parent: data[type=contour] +
    + Type: string

    For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.

    +
  • +
  • + + transpose + +
    Parent: data[type=contour] +
    + Type: boolean

    Transposes the z data.

    +
  • +
  • + + type + +
    Parent: data[type=contour] +
    +Type: "contour" +
  • +
  • + + uid + +
    Parent: data[type=contour] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=contour] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=contour] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + x0 + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + xaxis + +
    Parent: data[type=contour] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=contour] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=contour] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=contour] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + xtype + +
    Parent: data[type=contour] +
    + Type: + enumerated , one of ( +"array"| "scaled" ) +

    If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If "scaled", the heatmap's x coordinates are given by "x0" and "dx" (the default behavior when `x` is not provided).

    +
  • +
  • + + y + +
    Parent: data[type=contour] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + y0 + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + yaxis + +
    Parent: data[type=contour] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=contour] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=contour] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=contour] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=contour] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
  • + + ytype + +
    Parent: data[type=contour] +
    + Type: + enumerated , one of ( +"array"| "scaled" ) +

    If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If "scaled", the heatmap's y coordinates are given by "y0" and "dy" (the default behavior when `y` is not provided)

    +
  • +
  • + + z + +
    Parent: data[type=contour] +
    + Type: data_array +

    Sets the z data.

    +
  • +
  • + + zauto + +
    Parent: data[type=contour] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=contour] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + zmax + +
    Parent: data[type=contour] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=contour] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=contour] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
  • + + zorder + +
    Parent: data[type=contour] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/contourcarpet/index.html b/docs/reference/contourcarpet/index.html new file mode 100644 index 00000000000..74e1901ee7d --- /dev/null +++ b/docs/reference/contourcarpet/index.html @@ -0,0 +1,6032 @@ + + + + + + + + + + + + + + + + + + + + + + + + + contourcarpet - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

contourcarpet

+
+ A contourcarpet trace is an object with the key "type" equal to "contourcarpet" + (i.e. {"type": "contourcarpet"}) and any of the keys listed below. +

Plots contours on either the first carpet axis or the carpet axis with a matching `carpet` attribute. Data `z` is interpreted as matching that of the corresponding carpet axis.

+
+
    +
  • + + a + +
    Parent: data[type=contourcarpet] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + a0 + +
    Parent: data[type=contourcarpet] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + atype + +
    Parent: data[type=contourcarpet] +
    + Type: + enumerated , one of ( +"array"| "scaled" ) +

    If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If "scaled", the heatmap's x coordinates are given by "x0" and "dx" (the default behavior when `x` is not provided).

    +
  • +
  • + + autocolorscale + +
    Parent: data[type=contourcarpet] +
    + Type: boolean

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + autocontour + +
    Parent: data[type=contourcarpet] +
    + Type: boolean
    Default: true +

    Determines whether or not the contour level attributes are picked by an algorithm. If "true", the number of contour levels can be set in `ncontours`. If "false", set the contour level attributes in `contours`.

    +
  • +
  • + + b + +
    Parent: data[type=contourcarpet] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + b0 + +
    Parent: data[type=contourcarpet] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + btype + +
    Parent: data[type=contourcarpet] +
    + Type: + enumerated , one of ( +"array"| "scaled" ) +

    If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If "scaled", the heatmap's y coordinates are given by "y0" and "dy" (the default behavior when `y` is not provided)

    +
  • +
  • + + carpet + +
    Parent: data[type=contourcarpet] +
    + Type: string

    The `carpet` of the carpet axes on which this contour trace lies

    +
  • +
  • + + coloraxis + +
    Parent: data[type=contourcarpet] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=contourcarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=contourcarpet].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=contourcarpet].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=contourcarpet].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=contourcarpet].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=contourcarpet].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=contourcarpet].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=contourcarpet].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=contourcarpet].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=contourcarpet].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=contourcarpet].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=contourcarpet].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=contourcarpet].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=contourcarpet].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=contourcarpet].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=contourcarpet] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + contours + +
    Parent: data[type=contourcarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + coloring + +
      Parent: data[type=contourcarpet].contours +
      + Type: + enumerated , one of ( +"fill"| "lines"| "none" ) +
      Default: "fill" +

      Determines the coloring method showing the contour values. If "fill", coloring is done evenly between each contour level If "lines", coloring is done on the contour lines. If "none", no coloring is applied on this trace.

      +
    • +
    • + + end + +
      Parent: data[type=contourcarpet].contours +
      + Type: number

      Sets the end contour level value. Must be more than `contours.start`

      +
    • +
    • + + labelfont + +
      Parent: data[type=contourcarpet].contours +
      Type: object containing one or more of the keys listed below. +

      Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

      +
        +
      • + + color + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=contourcarpet].contours.labelfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + labelformat + +
      Parent: data[type=contourcarpet].contours +
      + Type: string

      Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      +
    • +
    • + + operation + +
      Parent: data[type=contourcarpet].contours +
      + Type: + enumerated , one of ( +"="| "<"| ">="| ">"| "<="| "[]"| "()"| "[)"| "(]"| "]["| ")("| "]("| ")[" ) +
      Default: "=" +

      Sets the constraint operation. "=" keeps regions equal to `value` "<" and "<=" keep regions less than `value` ">" and ">=" keep regions greater than `value` "[]", "()", "[)", and "(]" keep regions inside `value[0]` to `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.

      +
    • +
    • + + showlabels + +
      Parent: data[type=contourcarpet].contours +
      + Type: boolean

      Determines whether to label the contour lines with their values.

      +
    • +
    • + + showlines + +
      Parent: data[type=contourcarpet].contours +
      + Type: boolean
      Default: true +

      Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to "fill".

      +
    • +
    • + + size + +
      Parent: data[type=contourcarpet].contours +
      + Type: number

      Sets the step between each contour level. Must be positive.

      +
    • +
    • + + start + +
      Parent: data[type=contourcarpet].contours +
      + Type: number

      Sets the starting contour level value. Must be less than `contours.end`

      +
    • +
    • + + type + +
      Parent: data[type=contourcarpet].contours +
      + Type: + enumerated , one of ( +"levels"| "constraint" ) +
      Default: "levels" +

      If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.

      +
    • +
    • + + value + +
      Parent: data[type=contourcarpet].contours +
      + Type: number or categorical coordinate string +

      Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) "value" is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) "value" is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=contourcarpet] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + da + +
    Parent: data[type=contourcarpet] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + db + +
    Parent: data[type=contourcarpet] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=contourcarpet] +
    + Type: color

    Sets the fill color if `contours.type` is "constraint". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hovertext + +
    Parent: data[type=contourcarpet] +
    + Type: data_array +

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=contourcarpet] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=contourcarpet] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=contourcarpet] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=contourcarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=contourcarpet].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=contourcarpet].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=contourcarpet].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=contourcarpet] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=contourcarpet] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=contourcarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=contourcarpet].line +
      + Type: color

      Sets the color of the contour level. Has no effect if `contours.coloring` is set to "lines".

      +
    • +
    • + + dash + +
      Parent: data[type=contourcarpet].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + smoothing + +
      Parent: data[type=contourcarpet].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Sets the amount of smoothing for the contour lines, where "0" corresponds to no smoothing.

      +
    • +
    • + + width + +
      Parent: data[type=contourcarpet].line +
      + Type: number

      Sets the contour line width in (in px) Defaults to "0.5" when `contours.type` is "levels". Defaults to "2" when `contour.type` is "constraint".

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=contourcarpet] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=contourcarpet] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + ncontours + +
    Parent: data[type=contourcarpet] +
    + Type: integer greater than or equal to 1 +
    Default: 15 +

    Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is "true" or if `contours.size` is missing.

    +
  • +
  • + + opacity + +
    Parent: data[type=contourcarpet] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + reversescale + +
    Parent: data[type=contourcarpet] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + showlegend + +
    Parent: data[type=contourcarpet] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=contourcarpet] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + text + +
    Parent: data[type=contourcarpet] +
    + Type: data_array +

    Sets the text elements associated with each z value.

    +
  • +
  • + + transpose + +
    Parent: data[type=contourcarpet] +
    + Type: boolean

    Transposes the z data.

    +
  • +
  • + + type + +
    Parent: data[type=contourcarpet] +
    +Type: "contourcarpet" +
  • +
  • + + uid + +
    Parent: data[type=contourcarpet] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=contourcarpet] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=contourcarpet] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + xaxis + +
    Parent: data[type=contourcarpet] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + yaxis + +
    Parent: data[type=contourcarpet] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + z + +
    Parent: data[type=contourcarpet] +
    + Type: data_array +

    Sets the z data.

    +
  • +
  • + + zauto + +
    Parent: data[type=contourcarpet] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zmax + +
    Parent: data[type=contourcarpet] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=contourcarpet] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=contourcarpet] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
  • + + zorder + +
    Parent: data[type=contourcarpet] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/densitymap/index.html b/docs/reference/densitymap/index.html new file mode 100644 index 00000000000..4bf2e90bc56 --- /dev/null +++ b/docs/reference/densitymap/index.html @@ -0,0 +1,5857 @@ + + + + + + + + + + + + + + + + + + + + + + + + + densitymap - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

densitymap

+
+ A densitymap trace is an object with the key "type" equal to "densitymap" + (i.e. {"type": "densitymap"}) and any of the keys listed below. +

Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=densitymap] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + below + +
    Parent: data[type=densitymap] +
    + Type: string

    Determines if the densitymap trace will be inserted before the layer with the specified ID. By default, densitymap traces are placed below the first layer of type symbol If set to '', the layer will be inserted above every existing layer.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=densitymap] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=densitymap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=densitymap].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=densitymap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=densitymap].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=densitymap].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=densitymap].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=densitymap].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=densitymap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=densitymap].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=densitymap].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=densitymap].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=densitymap].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=densitymap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=densitymap].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=densitymap].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=densitymap].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=densitymap].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=densitymap].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=densitymap].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=densitymap].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=densitymap].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=densitymap].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=densitymap].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=densitymap].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=densitymap].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=densitymap].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=densitymap].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=densitymap].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=densitymap].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=densitymap].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=densitymap].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=densitymap].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=densitymap].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=densitymap].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=densitymap].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=densitymap].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=densitymap] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=densitymap] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=densitymap] +
    + Type: flaglist string. + + Any combination of "lon", "lat", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "lon", "lat", "lon+lat", "lon+lat+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=densitymap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=densitymap].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=densitymap].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=densitymap].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=densitymap].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=densitymap].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=densitymap].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=densitymap] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=densitymap] +
    + Type: string or array of strings

    Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=densitymap] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + lat + +
    Parent: data[type=densitymap] +
    + Type: data_array +

    Sets the latitude coordinates (in degrees North).

    +
  • +
  • + + legend + +
    Parent: data[type=densitymap] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=densitymap] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=densitymap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=densitymap].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=densitymap].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=densitymap].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=densitymap] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=densitymap] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lon + +
    Parent: data[type=densitymap] +
    + Type: data_array +

    Sets the longitude coordinates (in degrees East).

    +
  • +
  • + + meta + +
    Parent: data[type=densitymap] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=densitymap] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=densitymap] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + radius + +
    Parent: data[type=densitymap] +
    + Type: number or array of numbers greater than or equal to 1 +
    Default: 30 +

    Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymap trace smoother, but less detailed.

    +
  • +
  • + + reversescale + +
    Parent: data[type=densitymap] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + showlegend + +
    Parent: data[type=densitymap] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=densitymap] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + subplot + +
    Parent: data[type=densitymap] +
    + Type: subplotid +
    Default: map +

    Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the data refer to `layout.map`. If "map2", the data refer to `layout.map2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=densitymap] +
    + Type: string or array of strings

    Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + type + +
    Parent: data[type=densitymap] +
    +Type: "densitymap" +
  • +
  • + + uid + +
    Parent: data[type=densitymap] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=densitymap] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=densitymap] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + z + +
    Parent: data[type=densitymap] +
    + Type: data_array +

    Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot

    +
  • +
  • + + zauto + +
    Parent: data[type=densitymap] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zmax + +
    Parent: data[type=densitymap] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=densitymap] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=densitymap] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/densitymapbox/index.html b/docs/reference/densitymapbox/index.html new file mode 100644 index 00000000000..a37a652ae70 --- /dev/null +++ b/docs/reference/densitymapbox/index.html @@ -0,0 +1,5857 @@ + + + + + + + + + + + + + + + + + + + + + + + + + densitymapbox - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

densitymapbox

+
+ A densitymapbox trace is an object with the key "type" equal to "densitymapbox" + (i.e. {"type": "densitymapbox"}) and any of the keys listed below. +

"densitymapbox" trace is deprecated! Please consider switching to the "densitymap" trace type and `map` subplots. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=densitymapbox] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + below + +
    Parent: data[type=densitymapbox] +
    + Type: string

    Determines if the densitymapbox trace will be inserted before the layer with the specified ID. By default, densitymapbox traces are placed below the first layer of type symbol If set to '', the layer will be inserted above every existing layer.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=densitymapbox] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=densitymapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=densitymapbox].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=densitymapbox].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=densitymapbox].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=densitymapbox].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=densitymapbox].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=densitymapbox].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=densitymapbox].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=densitymapbox].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=densitymapbox].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=densitymapbox].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=densitymapbox].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=densitymapbox].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=densitymapbox].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=densitymapbox].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=densitymapbox] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=densitymapbox] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=densitymapbox] +
    + Type: flaglist string. + + Any combination of "lon", "lat", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "lon", "lat", "lon+lat", "lon+lat+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=densitymapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=densitymapbox].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=densitymapbox].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=densitymapbox].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=densitymapbox].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=densitymapbox].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=densitymapbox].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=densitymapbox] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=densitymapbox] +
    + Type: string or array of strings

    Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=densitymapbox] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + lat + +
    Parent: data[type=densitymapbox] +
    + Type: data_array +

    Sets the latitude coordinates (in degrees North).

    +
  • +
  • + + legend + +
    Parent: data[type=densitymapbox] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=densitymapbox] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=densitymapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=densitymapbox].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=densitymapbox].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=densitymapbox].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=densitymapbox] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=densitymapbox] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lon + +
    Parent: data[type=densitymapbox] +
    + Type: data_array +

    Sets the longitude coordinates (in degrees East).

    +
  • +
  • + + meta + +
    Parent: data[type=densitymapbox] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=densitymapbox] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=densitymapbox] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + radius + +
    Parent: data[type=densitymapbox] +
    + Type: number or array of numbers greater than or equal to 1 +
    Default: 30 +

    Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.

    +
  • +
  • + + reversescale + +
    Parent: data[type=densitymapbox] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + showlegend + +
    Parent: data[type=densitymapbox] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=densitymapbox] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + subplot + +
    Parent: data[type=densitymapbox] +
    + Type: subplotid +
    Default: mapbox +

    mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If "mapbox" (the default value), the data refer to `layout.mapbox`. If "mapbox2", the data refer to `layout.mapbox2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=densitymapbox] +
    + Type: string or array of strings

    Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + type + +
    Parent: data[type=densitymapbox] +
    +Type: "densitymapbox" +
  • +
  • + + uid + +
    Parent: data[type=densitymapbox] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=densitymapbox] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=densitymapbox] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + z + +
    Parent: data[type=densitymapbox] +
    + Type: data_array +

    Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot

    +
  • +
  • + + zauto + +
    Parent: data[type=densitymapbox] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zmax + +
    Parent: data[type=densitymapbox] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=densitymapbox] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=densitymapbox] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/funnel/index.html b/docs/reference/funnel/index.html new file mode 100644 index 00000000000..8490212460b --- /dev/null +++ b/docs/reference/funnel/index.html @@ -0,0 +1,6592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + funnel - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

funnel

+
+ A funnel trace is an object with the key "type" equal to "funnel" + (i.e. {"type": "funnel"}) and any of the keys listed below. +

Visualize stages in a process using length-encoded bars. This trace can be used to show data in either a part-to-whole representation wherein each item appears in a single stage, or in a "drop-off" representation wherein each item appears in each stage it traversed. See also the "funnelarea" trace type for a different approach to visualizing funnel data.

+
+
    +
  • + + alignmentgroup + +
    Parent: data[type=funnel] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    +
  • +
  • + + cliponaxis + +
    Parent: data[type=funnel] +
    + Type: boolean
    Default: true +

    Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + connector + +
    Parent: data[type=funnel] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fillcolor + +
      Parent: data[type=funnel].connector +
      + Type: color

      Sets the fill color.

      +
    • +
    • + + line + +
      Parent: data[type=funnel].connector +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=funnel].connector.line +
        + Type: color
        Default: "#444" +

        Sets the line color.

        +
      • +
      • + + dash + +
        Parent: data[type=funnel].connector.line +
        + Type: string
        Default: "solid" +

        Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

        +
      • +
      • + + width + +
        Parent: data[type=funnel].connector.line +
        + Type: number

        Sets the line width (in px).

        +
      • +
      +
    • +
    • + + visible + +
      Parent: data[type=funnel].connector +
      + Type: boolean
      Default: true +

      Determines if connector regions and lines are drawn.

      +
    • +
    +
  • +
  • + + constraintext + +
    Parent: data[type=funnel] +
    + Type: + enumerated , one of ( +"inside"| "outside"| "both"| "none" ) +
    Default: "both" +

    Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    +
  • +
  • + + customdata + +
    Parent: data[type=funnel] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=funnel] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + dy + +
    Parent: data[type=funnel] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=funnel] +
    + Type: flaglist string. + + Any combination of "name", "x", "y", "text", "percent initial", "percent previous", "percent total" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "name", "x", "name+x", "name+x+y", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=funnel] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=funnel].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=funnel].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=funnel].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=funnel].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=funnel].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=funnel].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=funnel] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=funnel] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=funnel] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextanchor + +
    Parent: data[type=funnel] +
    + Type: + enumerated , one of ( +"end"| "middle"| "start" ) +
    Default: "middle" +

    Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=funnel] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying inside the bar.

    +
      +
    • + + color + +
      Parent: data[type=funnel].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=funnel].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=funnel].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=funnel].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=funnel].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=funnel].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=funnel].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=funnel].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=funnel].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=funnel] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=funnel] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=funnel] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=funnel].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=funnel].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=funnel].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=funnel] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=funnel] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=funnel] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=funnel].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=funnel].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=funnel].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=funnel].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=funnel].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=funnel].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=funnel].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=funnel].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=funnel].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=funnel].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=funnel].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=funnel].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=funnel].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=funnel].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=funnel].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=funnel].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=funnel].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=funnel].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=funnel].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=funnel].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=funnel].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=funnel].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=funnel].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=funnel].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=funnel].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=funnel].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=funnel].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=funnel].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=funnel].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=funnel].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=funnel].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=funnel].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=funnel].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=funnel].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=funnel].marker +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the opacity of the bars.

      +
    • +
    • + + reversescale + +
      Parent: data[type=funnel].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=funnel].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=funnel] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + offset + +
    Parent: data[type=funnel] +
    + Type: number

    Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

    +
  • +
  • + + offsetgroup + +
    Parent: data[type=funnel] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    +
  • +
  • + + opacity + +
    Parent: data[type=funnel] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + orientation + +
    Parent: data[type=funnel] +
    + Type: + enumerated , one of ( +"v"| "h" ) +

    Sets the orientation of the funnels. With "v" ("h"), the value of the each bar spans along the vertical (horizontal). By default funnels are tend to be oriented horizontally; unless only "y" array is presented or orientation is set to "v". Also regarding graphs including only 'horizontal' funnels, "autorange" on the "y-axis" are set to "reversed".

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=funnel] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying outside the bar.

    +
      +
    • + + color + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=funnel].outsidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=funnel] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=funnel] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textangle + +
    Parent: data[type=funnel] +
    + Type: angle +

    Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

    +
  • +
  • + + textfont + +
    Parent: data[type=funnel] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text`.

    +
      +
    • + + color + +
      Parent: data[type=funnel].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=funnel].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=funnel].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=funnel].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=funnel].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=funnel].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=funnel].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=funnel].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=funnel].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textinfo + +
    Parent: data[type=funnel] +
    + Type: flaglist string. + + Any combination of "label", "text", "percent initial", "percent previous", "percent total", "value" joined with a "+" + OR "none". + +
    Examples: "label", "text", "label+text", "label+text+percent initial", "none" + +

    Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace).

    +
  • +
  • + + textposition + +
    Parent: data[type=funnel] +
    + Type: + enumerated or array of enumerateds + , one of ( +"inside"| "outside"| "auto"| "none" ) +
    Default: "auto" +

    Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=funnel] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`.

    +
  • +
  • + + type + +
    Parent: data[type=funnel] +
    +Type: "funnel" +
  • +
  • + + uid + +
    Parent: data[type=funnel] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=funnel] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + width + +
    Parent: data[type=funnel] +
    + Type: number

    Sets the bar width (in position axis units).

    +
  • +
  • + + x + +
    Parent: data[type=funnel] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + x0 + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + xaxis + +
    Parent: data[type=funnel] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=funnel] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=funnel] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + y + +
    Parent: data[type=funnel] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + y0 + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + yaxis + +
    Parent: data[type=funnel] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=funnel] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=funnel] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=funnel] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
  • + + zorder + +
    Parent: data[type=funnel] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/funnelarea/index.html b/docs/reference/funnelarea/index.html new file mode 100644 index 00000000000..6af8cd42f91 --- /dev/null +++ b/docs/reference/funnelarea/index.html @@ -0,0 +1,5632 @@ + + + + + + + + + + + + + + + + + + + + + + + + + funnelarea - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

funnelarea

+
+ A funnelarea trace is an object with the key "type" equal to "funnelarea" + (i.e. {"type": "funnelarea"}) and any of the keys listed below. +

Visualize stages in a process using area-encoded trapezoids. This trace can be used to show data in a part-to-whole representation similar to a "pie" trace, wherein each item appears in a single stage. See also the "funnel" trace type for a different approach to visualizing funnel data.

+
+
    +
  • + + aspectratio + +
    Parent: data[type=funnelarea] +
    + Type: number
    Default: 1 +

    Sets the ratio between height and width

    +
  • +
  • + + baseratio + +
    Parent: data[type=funnelarea] +
    + Type: number less than or equal to 1 +
    Default: 0.333 +

    Sets the ratio between bottom length and maximum top length.

    +
  • +
  • + + customdata + +
    Parent: data[type=funnelarea] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dlabel + +
    Parent: data[type=funnelarea] +
    + Type: number
    Default: 1 +

    Sets the label step. See `label0` for more info.

    +
  • +
  • + + domain + +
    Parent: data[type=funnelarea] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=funnelarea].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .

      +
    • +
    • + + row + +
      Parent: data[type=funnelarea].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .

      +
    • +
    • + + x + +
      Parent: data[type=funnelarea].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this funnelarea trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=funnelarea].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this funnelarea trace (in plot fraction).

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=funnelarea] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "percent", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "label", "text", "label+text", "label+text+value", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=funnelarea] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=funnelarea].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=funnelarea].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=funnelarea].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=funnelarea].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=funnelarea].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=funnelarea].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=funnelarea] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=funnelarea] +
    + Type: string or array of strings

    Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=funnelarea] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=funnelarea] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying inside the sector.

    +
      +
    • + + color + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=funnelarea].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + label0 + +
    Parent: data[type=funnelarea] +
    + Type: number

    Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.

    +
  • +
  • + + labels + +
    Parent: data[type=funnelarea] +
    + Type: data_array +

    Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.

    +
  • +
  • + + legend + +
    Parent: data[type=funnelarea] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=funnelarea] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=funnelarea] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=funnelarea].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=funnelarea].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=funnelarea].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=funnelarea] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=funnelarea] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=funnelarea] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + colors + +
      Parent: data[type=funnelarea].marker +
      + Type: data_array +

      Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.

      +
    • +
    • + + line + +
      Parent: data[type=funnelarea].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=funnelarea].marker.line +
        + Type: color or array of colors

        Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        +
      • +
      • + + width + +
        Parent: data[type=funnelarea].marker.line +
        + Type: number or array of numbers
        Default: 1 +

        Sets the width (in px) of the line enclosing each sector.

        +
      • +
      +
    • +
    • + + pattern + +
      Parent: data[type=funnelarea].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=funnelarea].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=funnelarea] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=funnelarea] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=funnelarea] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + scalegroup + +
    Parent: data[type=funnelarea] +
    + Type: string

    If there are multiple funnelareas that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.

    +
  • +
  • + + showlegend + +
    Parent: data[type=funnelarea] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=funnelarea] +
    + Type: data_array +

    Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=funnelarea] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo`.

    +
      +
    • + + color + +
      Parent: data[type=funnelarea].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=funnelarea].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=funnelarea].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=funnelarea].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=funnelarea].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=funnelarea].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=funnelarea].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=funnelarea].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=funnelarea].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textinfo + +
    Parent: data[type=funnelarea] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "percent" joined with a "+" + OR "none". + +
    Examples: "label", "text", "label+text", "label+text+value", "none" + +

    Determines which trace information appear on the graph.

    +
  • +
  • + + textposition + +
    Parent: data[type=funnelarea] +
    + Type: + enumerated or array of enumerateds + , one of ( +"inside"| "none" ) +
    Default: "inside" +

    Specifies the location of the `textinfo`.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=funnelarea] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`.

    +
  • +
  • + + title + +
    Parent: data[type=funnelarea] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=funnelarea].title +
      Type: object containing one or more of the keys listed below. +

      Sets the font used for `title`.

      +
        +
      • + + color + +
        Parent: data[type=funnelarea].title.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=funnelarea].title.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=funnelarea].title.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=funnelarea].title.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=funnelarea].title.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=funnelarea].title.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=funnelarea].title.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=funnelarea].title.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=funnelarea].title.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + position + +
      Parent: data[type=funnelarea].title +
      + Type: + enumerated , one of ( +"top left"| "top center"| "top right" ) +
      Default: "top center" +

      Specifies the location of the `title`.

      +
    • +
    • + + text + +
      Parent: data[type=funnelarea].title +
      + Type: string

      Sets the title of the chart. If it is empty, no title is displayed.

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=funnelarea] +
    +Type: "funnelarea" +
  • +
  • + + uid + +
    Parent: data[type=funnelarea] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=funnelarea] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + values + +
    Parent: data[type=funnelarea] +
    + Type: data_array +

    Sets the values of the sectors. If omitted, we count occurrences of each label.

    +
  • +
  • + + visible + +
    Parent: data[type=funnelarea] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/heatmap/index.html b/docs/reference/heatmap/index.html new file mode 100644 index 00000000000..0d6f692d772 --- /dev/null +++ b/docs/reference/heatmap/index.html @@ -0,0 +1,6190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + heatmap - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

heatmap

+
+ A heatmap trace is an object with the key "type" equal to "heatmap" + (i.e. {"type": "heatmap"}) and any of the keys listed below. +

The data that describes the heatmap value-to-color mapping is set in `z`. Data in `z` can either be a 2D array of values (ragged or not) or a 1D array of values. In the case where `z` is a 2D array, say that `z` has N rows and M columns. Then, by default, the resulting heatmap will have N partitions along the y axis and M partitions along the x axis. In other words, the i-th row/ j-th column cell in `z` is mapped to the i-th partition of the y axis (starting from the bottom of the plot) and the j-th partition of the x-axis (starting from the left of the plot). This behavior can be flipped by using `transpose`. Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements. If M (N), then the coordinates correspond to the center of the heatmap cells and the cells have equal width. If M+1 (N+1), then the coordinates correspond to the edges of the heatmap cells. In the case where `z` is a 1D array, the x and y coordinates must be provided in `x` and `y` respectively to form data triplets.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=heatmap] +
    + Type: boolean

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=heatmap] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=heatmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=heatmap].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=heatmap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=heatmap].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=heatmap].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=heatmap].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=heatmap].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=heatmap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=heatmap].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=heatmap].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=heatmap].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=heatmap].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=heatmap].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=heatmap].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=heatmap].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=heatmap].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=heatmap].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=heatmap].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=heatmap].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=heatmap].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=heatmap].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=heatmap].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=heatmap].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=heatmap].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=heatmap].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=heatmap].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=heatmap].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=heatmap].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=heatmap].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=heatmap].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=heatmap].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=heatmap].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=heatmap].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=heatmap].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=heatmap].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=heatmap].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=heatmap] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + connectgaps + +
    Parent: data[type=heatmap] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array and `zsmooth` is not false; otherwise it is defaulted to false.

    +
  • +
  • + + customdata + +
    Parent: data[type=heatmap] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=heatmap] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + dy + +
    Parent: data[type=heatmap] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=heatmap] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=heatmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=heatmap].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=heatmap].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=heatmap].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=heatmap].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=heatmap].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=heatmap].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoverongaps + +
    Parent: data[type=heatmap] +
    + Type: boolean
    Default: true +

    Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=heatmap] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=heatmap] +
    + Type: data_array +

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=heatmap] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=heatmap] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=heatmap] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=heatmap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=heatmap].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=heatmap].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=heatmap].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=heatmap] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=heatmap] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + meta + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=heatmap] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=heatmap] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + reversescale + +
    Parent: data[type=heatmap] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + showlegend + +
    Parent: data[type=heatmap] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=heatmap] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + text + +
    Parent: data[type=heatmap] +
    + Type: data_array +

    Sets the text elements associated with each z value.

    +
  • +
  • + + textfont + +
    Parent: data[type=heatmap] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=heatmap].textfont +
      + Type: color
      Default: "auto" +
    • +
    • + + family + +
      Parent: data[type=heatmap].textfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=heatmap].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=heatmap].textfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=heatmap].textfont +
      + Type: number greater than or equal to 1 +
      Default: "auto" +
    • +
    • + + style + +
      Parent: data[type=heatmap].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=heatmap].textfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=heatmap].textfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=heatmap].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + texttemplate + +
    Parent: data[type=heatmap] +
    + Type: string

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.

    +
  • +
  • + + transpose + +
    Parent: data[type=heatmap] +
    + Type: boolean

    Transposes the z data.

    +
  • +
  • + + type + +
    Parent: data[type=heatmap] +
    +Type: "heatmap" +
  • +
  • + + uid + +
    Parent: data[type=heatmap] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=heatmap] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + x0 + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + xaxis + +
    Parent: data[type=heatmap] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xgap + +
    Parent: data[type=heatmap] +
    + Type: number

    Sets the horizontal gap (in pixels) between bricks.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=heatmap] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + xtype + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +"array"| "scaled" ) +

    If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If "scaled", the heatmap's x coordinates are given by "x0" and "dx" (the default behavior when `x` is not provided).

    +
  • +
  • + + y + +
    Parent: data[type=heatmap] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + y0 + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + yaxis + +
    Parent: data[type=heatmap] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + ygap + +
    Parent: data[type=heatmap] +
    + Type: number

    Sets the vertical gap (in pixels) between bricks.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=heatmap] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=heatmap] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
  • + + ytype + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +"array"| "scaled" ) +

    If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If "scaled", the heatmap's y coordinates are given by "y0" and "dy" (the default behavior when `y` is not provided)

    +
  • +
  • + + z + +
    Parent: data[type=heatmap] +
    + Type: data_array +

    Sets the z data.

    +
  • +
  • + + zauto + +
    Parent: data[type=heatmap] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=heatmap] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + zmax + +
    Parent: data[type=heatmap] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=heatmap] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=heatmap] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
  • + + zorder + +
    Parent: data[type=heatmap] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
  • + + zsmooth + +
    Parent: data[type=heatmap] +
    + Type: + enumerated , one of ( +"fast"| "best"| false ) +

    Picks a smoothing algorithm use to smooth `z` data.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/histogram/index.html b/docs/reference/histogram/index.html new file mode 100644 index 00000000000..24d01785f0c --- /dev/null +++ b/docs/reference/histogram/index.html @@ -0,0 +1,7023 @@ + + + + + + + + + + + + + + + + + + + + + + + + + histogram - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

histogram

+
+ A histogram trace is an object with the key "type" equal to "histogram" + (i.e. {"type": "histogram"}) and any of the keys listed below. +

The sample data from which statistics are computed is set in `x` for vertically spanning histograms and in `y` for horizontally spanning histograms. Binning options are set `xbins` and `ybins` respectively if no aggregation data is provided.

+
+
    +
  • + + alignmentgroup + +
    Parent: data[type=histogram] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    +
  • +
  • + + autobinx + +
    Parent: data[type=histogram] +
    + Type: boolean

    Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

    +
  • +
  • + + autobiny + +
    Parent: data[type=histogram] +
    + Type: boolean

    Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

    +
  • +
  • + + bingroup + +
    Parent: data[type=histogram] +
    + Type: string

    Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same "orientation" under `barmode` "stack", "relative" and "group" are forced into the same bingroup, Using `bingroup`, traces under `barmode` "overlay" and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d" trace can share the same `bingroup`

    +
  • +
  • + + cliponaxis + +
    Parent: data[type=histogram] +
    + Type: boolean
    Default: true +

    Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + constraintext + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +"inside"| "outside"| "both"| "none" ) +
    Default: "both" +

    Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    +
  • +
  • + + cumulative + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + currentbin + +
      Parent: data[type=histogram].cumulative +
      + Type: + enumerated , one of ( +"include"| "exclude"| "half" ) +
      Default: "include" +

      Only applies if cumulative is enabled. Sets whether the current bin is included, excluded, or has half of its value included in the current cumulative value. "include" is the default for compatibility with various other tools, however it introduces a half-bin bias to the results. "exclude" makes the opposite half-bin bias, and "half" removes it.

      +
    • +
    • + + direction + +
      Parent: data[type=histogram].cumulative +
      + Type: + enumerated , one of ( +"increasing"| "decreasing" ) +
      Default: "increasing" +

      Only applies if cumulative is enabled. If "increasing" (default) we sum all prior bins, so the result increases from left to right. If "decreasing" we sum later bins so the result decreases from left to right.

      +
    • +
    • + + enabled + +
      Parent: data[type=histogram].cumulative +
      + Type: boolean

      If true, display the cumulative distribution by summing the binned values. Use the `direction` and `centralbin` attributes to tune the accumulation method. Note: in this mode, the "density" `histnorm` settings behave the same as their equivalents without "density": "" and "density" both rise to the number of data points, and "probability" and "probability density" both rise to the number of sample points.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=histogram] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + error_x + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=histogram].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=histogram].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=histogram].error_x +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + copy_ystyle + +
      Parent: data[type=histogram].error_x +
      + Type: boolean
    • +
    • + + symmetric + +
      Parent: data[type=histogram].error_x +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=histogram].error_x +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=histogram].error_x +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=histogram].error_x +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=histogram].error_x +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=histogram].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=histogram].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=histogram].error_x +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=histogram].error_x +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + error_y + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=histogram].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=histogram].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=histogram].error_y +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + symmetric + +
      Parent: data[type=histogram].error_y +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=histogram].error_y +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=histogram].error_y +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=histogram].error_y +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=histogram].error_y +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=histogram].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=histogram].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=histogram].error_y +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=histogram].error_y +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + histfunc + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +"count"| "sum"| "avg"| "min"| "max" ) +
    Default: "count" +

    Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

    +
  • +
  • + + histnorm + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +""| "percent"| "probability"| "density"| "probability density" ) +

    Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=histogram] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=histogram].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=histogram].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=histogram].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=histogram].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=histogram].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=histogram] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `binNumber` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=histogram] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=histogram] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextanchor + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +"end"| "middle"| "start" ) +
    Default: "end" +

    Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying inside the bar.

    +
      +
    • + + color + +
      Parent: data[type=histogram].insidetextfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=histogram].insidetextfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=histogram].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=histogram].insidetextfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=histogram].insidetextfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=histogram].insidetextfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=histogram].insidetextfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=histogram].insidetextfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=histogram].insidetextfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=histogram] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=histogram] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=histogram].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=histogram].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=histogram] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=histogram] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=histogram].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=histogram].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=histogram].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=histogram].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=histogram].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=histogram].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=histogram].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=histogram].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=histogram].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=histogram].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=histogram].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=histogram].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=histogram].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=histogram].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=histogram].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=histogram].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=histogram].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=histogram].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=histogram].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=histogram].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=histogram].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=histogram].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=histogram].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + cornerradius + +
      Parent: data[type=histogram].marker +
      + Type: number or categorical coordinate string +

      Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`. In stack or relative barmode, the first trace to set cornerradius is used for the whole stack.

      +
    • +
    • + + line + +
      Parent: data[type=histogram].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=histogram].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=histogram].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=histogram].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=histogram].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=histogram].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=histogram].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=histogram].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=histogram].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=histogram].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=histogram].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=histogram].marker +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the opacity of the bars.

      +
    • +
    • + + pattern + +
      Parent: data[type=histogram].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=histogram].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=histogram].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=histogram].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=histogram].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=histogram].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=histogram].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=histogram].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=histogram].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    • + + reversescale + +
      Parent: data[type=histogram].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=histogram].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=histogram] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=histogram] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + nbinsx + +
    Parent: data[type=histogram] +
    + Type: integer

    Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

    +
  • +
  • + + nbinsy + +
    Parent: data[type=histogram] +
    + Type: integer

    Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

    +
  • +
  • + + offsetgroup + +
    Parent: data[type=histogram] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    +
  • +
  • + + opacity + +
    Parent: data[type=histogram] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + orientation + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +"v"| "h" ) +

    Sets the orientation of the bars. With "v" ("h"), the value of the each bar spans along the vertical (horizontal).

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying outside the bar.

    +
      +
    • + + color + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=histogram].outsidetextfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + selected + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=histogram].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=histogram].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=histogram].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=histogram].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=histogram].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=histogram] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=histogram] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=histogram] +
    + Type: string or array of strings

    Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.

    +
  • +
  • + + textangle + +
    Parent: data[type=histogram] +
    + Type: angle +
    Default: "auto" +

    Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

    +
  • +
  • + + textfont + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=histogram].textfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=histogram].textfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=histogram].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=histogram].textfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=histogram].textfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=histogram].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=histogram].textfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=histogram].textfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=histogram].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +"inside"| "outside"| "auto"| "none" ) +
    Default: "auto" +

    Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=histogram] +
    + Type: string

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label` and `value`.

    +
  • +
  • + + type + +
    Parent: data[type=histogram] +
    +Type: "histogram" +
  • +
  • + + uid + +
    Parent: data[type=histogram] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=histogram] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=histogram].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=histogram].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=histogram].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=histogram].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=histogram].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=histogram] +
    + Type: data_array +

    Sets the sample data to be binned on the x axis.

    +
  • +
  • + + xaxis + +
    Parent: data[type=histogram] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xbins + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + end + +
      Parent: data[type=histogram].xbins +
      + Type: number or categorical coordinate string +

      Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      +
    • +
    • + + size + +
      Parent: data[type=histogram].xbins +
      + Type: number or categorical coordinate string +

      Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or "M<n>" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.

      +
    • +
    • + + start + +
      Parent: data[type=histogram].xbins +
      + Type: number or categorical coordinate string +

      Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.

      +
    • +
    +
  • +
  • + + xcalendar + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=histogram] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=histogram] +
    + Type: data_array +

    Sets the sample data to be binned on the y axis.

    +
  • +
  • + + yaxis + +
    Parent: data[type=histogram] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ybins + +
    Parent: data[type=histogram] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + end + +
      Parent: data[type=histogram].ybins +
      + Type: number or categorical coordinate string +

      Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      +
    • +
    • + + size + +
      Parent: data[type=histogram].ybins +
      + Type: number or categorical coordinate string +

      Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or "M<n>" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.

      +
    • +
    • + + start + +
      Parent: data[type=histogram].ybins +
      + Type: number or categorical coordinate string +

      Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.

      +
    • +
    +
  • +
  • + + ycalendar + +
    Parent: data[type=histogram] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=histogram] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + zorder + +
    Parent: data[type=histogram] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/histogram2d/index.html b/docs/reference/histogram2d/index.html new file mode 100644 index 00000000000..5a15d26083c --- /dev/null +++ b/docs/reference/histogram2d/index.html @@ -0,0 +1,6190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + histogram2d - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

histogram2d

+
+ A histogram2d trace is an object with the key "type" equal to "histogram2d" + (i.e. {"type": "histogram2d"}) and any of the keys listed below. +

The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a heatmap.

+
+
    +
  • + + autobinx + +
    Parent: data[type=histogram2d] +
    + Type: boolean

    Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

    +
  • +
  • + + autobiny + +
    Parent: data[type=histogram2d] +
    + Type: boolean

    Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

    +
  • +
  • + + autocolorscale + +
    Parent: data[type=histogram2d] +
    + Type: boolean

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + bingroup + +
    Parent: data[type=histogram2d] +
    + Type: string

    Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of "1" on two histogram2d traces will make them their x-bins and y-bins match separately.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=histogram2d] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=histogram2d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=histogram2d].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=histogram2d].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=histogram2d].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=histogram2d].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=histogram2d].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=histogram2d].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=histogram2d].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=histogram2d].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=histogram2d].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram2d].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=histogram2d].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=histogram2d].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=histogram2d].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=histogram2d].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=histogram2d].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=histogram2d].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=histogram2d].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=histogram2d].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=histogram2d].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=histogram2d].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=histogram2d].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=histogram2d].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=histogram2d].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=histogram2d].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=histogram2d].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=histogram2d].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=histogram2d].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=histogram2d].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=histogram2d].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=histogram2d] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=histogram2d] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + histfunc + +
    Parent: data[type=histogram2d] +
    + Type: + enumerated , one of ( +"count"| "sum"| "avg"| "min"| "max" ) +
    Default: "count" +

    Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

    +
  • +
  • + + histnorm + +
    Parent: data[type=histogram2d] +
    + Type: + enumerated , one of ( +""| "percent"| "probability"| "density"| "probability density" ) +

    Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=histogram2d] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=histogram2d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=histogram2d].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=histogram2d].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=histogram2d].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=histogram2d].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram2d].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=histogram2d].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=histogram2d] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + ids + +
    Parent: data[type=histogram2d] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=histogram2d] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=histogram2d] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=histogram2d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=histogram2d].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram2d].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=histogram2d].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=histogram2d] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=histogram2d] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=histogram2d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=histogram2d].marker +
      + Type: data_array +

      Sets the aggregation data.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=histogram2d] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=histogram2d] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + nbinsx + +
    Parent: data[type=histogram2d] +
    + Type: integer

    Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

    +
  • +
  • + + nbinsy + +
    Parent: data[type=histogram2d] +
    + Type: integer

    Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

    +
  • +
  • + + opacity + +
    Parent: data[type=histogram2d] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + reversescale + +
    Parent: data[type=histogram2d] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + showlegend + +
    Parent: data[type=histogram2d] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=histogram2d] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + textfont + +
    Parent: data[type=histogram2d] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=histogram2d].textfont +
      + Type: color
      Default: "auto" +
    • +
    • + + family + +
      Parent: data[type=histogram2d].textfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=histogram2d].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=histogram2d].textfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=histogram2d].textfont +
      + Type: number greater than or equal to 1 +
      Default: "auto" +
    • +
    • + + style + +
      Parent: data[type=histogram2d].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=histogram2d].textfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=histogram2d].textfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=histogram2d].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + texttemplate + +
    Parent: data[type=histogram2d] +
    + Type: string

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z`

    +
  • +
  • + + type + +
    Parent: data[type=histogram2d] +
    +Type: "histogram2d" +
  • +
  • + + uid + +
    Parent: data[type=histogram2d] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=histogram2d] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=histogram2d] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=histogram2d] +
    + Type: data_array +

    Sets the sample data to be binned on the x axis.

    +
  • +
  • + + xaxis + +
    Parent: data[type=histogram2d] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xbingroup + +
    Parent: data[type=histogram2d] +
    + Type: string

    Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`

    +
  • +
  • + + xbins + +
    Parent: data[type=histogram2d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + end + +
      Parent: data[type=histogram2d].xbins +
      + Type: number or categorical coordinate string +

      Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      +
    • +
    • + + size + +
      Parent: data[type=histogram2d].xbins +
      + Type: number or categorical coordinate string +

      Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or "M<n>" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      +
    • +
    • + + start + +
      Parent: data[type=histogram2d].xbins +
      + Type: number or categorical coordinate string +

      Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

      +
    • +
    +
  • +
  • + + xcalendar + +
    Parent: data[type=histogram2d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xgap + +
    Parent: data[type=histogram2d] +
    + Type: number

    Sets the horizontal gap (in pixels) between bricks.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=histogram2d] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=histogram2d] +
    + Type: data_array +

    Sets the sample data to be binned on the y axis.

    +
  • +
  • + + yaxis + +
    Parent: data[type=histogram2d] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ybingroup + +
    Parent: data[type=histogram2d] +
    + Type: string

    Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`

    +
  • +
  • + + ybins + +
    Parent: data[type=histogram2d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + end + +
      Parent: data[type=histogram2d].ybins +
      + Type: number or categorical coordinate string +

      Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      +
    • +
    • + + size + +
      Parent: data[type=histogram2d].ybins +
      + Type: number or categorical coordinate string +

      Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or "M<n>" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      +
    • +
    • + + start + +
      Parent: data[type=histogram2d].ybins +
      + Type: number or categorical coordinate string +

      Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

      +
    • +
    +
  • +
  • + + ycalendar + +
    Parent: data[type=histogram2d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + ygap + +
    Parent: data[type=histogram2d] +
    + Type: number

    Sets the vertical gap (in pixels) between bricks.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=histogram2d] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=histogram2d] +
    + Type: data_array +

    Sets the aggregation data.

    +
  • +
  • + + zauto + +
    Parent: data[type=histogram2d] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=histogram2d] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + zmax + +
    Parent: data[type=histogram2d] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=histogram2d] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=histogram2d] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
  • + + zsmooth + +
    Parent: data[type=histogram2d] +
    + Type: + enumerated , one of ( +"fast"| "best"| false ) +

    Picks a smoothing algorithm use to smooth `z` data.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/histogram2dcontour/index.html b/docs/reference/histogram2dcontour/index.html new file mode 100644 index 00000000000..76fe3a50210 --- /dev/null +++ b/docs/reference/histogram2dcontour/index.html @@ -0,0 +1,6436 @@ + + + + + + + + + + + + + + + + + + + + + + + + + histogram2dcontour - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

histogram2dcontour

+
+ A histogram2dcontour trace is an object with the key "type" equal to "histogram2dcontour" + (i.e. {"type": "histogram2dcontour"}) and any of the keys listed below. +

The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a contour plot.

+
+
    +
  • + + autobinx + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean

    Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

    +
  • +
  • + + autobiny + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean

    Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

    +
  • +
  • + + autocolorscale + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + autocontour + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean
    Default: true +

    Determines whether or not the contour level attributes are picked by an algorithm. If "true", the number of contour levels can be set in `ncontours`. If "false", set the contour level attributes in `contours`.

    +
  • +
  • + + bingroup + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of "1" on two histogram2d traces will make them their x-bins and y-bins match separately.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=histogram2dcontour] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=histogram2dcontour].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram2dcontour].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=histogram2dcontour].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=histogram2dcontour].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=histogram2dcontour].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=histogram2dcontour].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=histogram2dcontour].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=histogram2dcontour].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=histogram2dcontour].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=histogram2dcontour].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=histogram2dcontour].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=histogram2dcontour].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=histogram2dcontour].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=histogram2dcontour].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=histogram2dcontour] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + contours + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + coloring + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: + enumerated , one of ( +"fill"| "heatmap"| "lines"| "none" ) +
      Default: "fill" +

      Determines the coloring method showing the contour values. If "fill", coloring is done evenly between each contour level If "heatmap", a heatmap gradient coloring is applied between each contour level. If "lines", coloring is done on the contour lines. If "none", no coloring is applied on this trace.

      +
    • +
    • + + end + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: number

      Sets the end contour level value. Must be more than `contours.start`

      +
    • +
    • + + labelfont + +
      Parent: data[type=histogram2dcontour].contours +
      Type: object containing one or more of the keys listed below. +

      Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

      +
        +
      • + + color + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram2dcontour].contours.labelfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + labelformat + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: string

      Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      +
    • +
    • + + operation + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: + enumerated , one of ( +"="| "<"| ">="| ">"| "<="| "[]"| "()"| "[)"| "(]"| "]["| ")("| "]("| ")[" ) +
      Default: "=" +

      Sets the constraint operation. "=" keeps regions equal to `value` "<" and "<=" keep regions less than `value` ">" and ">=" keep regions greater than `value` "[]", "()", "[)", and "(]" keep regions inside `value[0]` to `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.

      +
    • +
    • + + showlabels + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: boolean

      Determines whether to label the contour lines with their values.

      +
    • +
    • + + showlines + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: boolean
      Default: true +

      Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to "fill".

      +
    • +
    • + + size + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: number

      Sets the step between each contour level. Must be positive.

      +
    • +
    • + + start + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: number

      Sets the starting contour level value. Must be less than `contours.end`

      +
    • +
    • + + type + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: + enumerated , one of ( +"levels"| "constraint" ) +
      Default: "levels" +

      If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.

      +
    • +
    • + + value + +
      Parent: data[type=histogram2dcontour].contours +
      + Type: number or categorical coordinate string +

      Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) "value" is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) "value" is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=histogram2dcontour] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + histfunc + +
    Parent: data[type=histogram2dcontour] +
    + Type: + enumerated , one of ( +"count"| "sum"| "avg"| "min"| "max" ) +
    Default: "count" +

    Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

    +
  • +
  • + + histnorm + +
    Parent: data[type=histogram2dcontour] +
    + Type: + enumerated , one of ( +""| "percent"| "probability"| "density"| "probability density" ) +

    Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=histogram2dcontour] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=histogram2dcontour].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=histogram2dcontour].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=histogram2dcontour].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=histogram2dcontour].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram2dcontour].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=histogram2dcontour].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=histogram2dcontour] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + ids + +
    Parent: data[type=histogram2dcontour] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=histogram2dcontour] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=histogram2dcontour].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=histogram2dcontour].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=histogram2dcontour].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=histogram2dcontour] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=histogram2dcontour] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=histogram2dcontour].line +
      + Type: color

      Sets the color of the contour level. Has no effect if `contours.coloring` is set to "lines".

      +
    • +
    • + + dash + +
      Parent: data[type=histogram2dcontour].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + smoothing + +
      Parent: data[type=histogram2dcontour].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Sets the amount of smoothing for the contour lines, where "0" corresponds to no smoothing.

      +
    • +
    • + + width + +
      Parent: data[type=histogram2dcontour].line +
      + Type: number
      Default: 0.5 +

      Sets the contour line width in (in px)

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=histogram2dcontour].marker +
      + Type: data_array +

      Sets the aggregation data.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=histogram2dcontour] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + nbinsx + +
    Parent: data[type=histogram2dcontour] +
    + Type: integer

    Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

    +
  • +
  • + + nbinsy + +
    Parent: data[type=histogram2dcontour] +
    + Type: integer

    Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

    +
  • +
  • + + ncontours + +
    Parent: data[type=histogram2dcontour] +
    + Type: integer greater than or equal to 1 +
    Default: 15 +

    Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is "true" or if `contours.size` is missing.

    +
  • +
  • + + opacity + +
    Parent: data[type=histogram2dcontour] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + reversescale + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean

    Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    +
  • +
  • + + showlegend + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + textfont + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +

    For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: color
      Default: "auto" +
    • +
    • + + family + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: number greater than or equal to 1 +
      Default: "auto" +
    • +
    • + + style + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=histogram2dcontour].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + texttemplate + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.

    +
  • +
  • + + type + +
    Parent: data[type=histogram2dcontour] +
    +Type: "histogram2dcontour" +
  • +
  • + + uid + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=histogram2dcontour] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=histogram2dcontour] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=histogram2dcontour] +
    + Type: data_array +

    Sets the sample data to be binned on the x axis.

    +
  • +
  • + + xaxis + +
    Parent: data[type=histogram2dcontour] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xbingroup + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`

    +
  • +
  • + + xbins + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + end + +
      Parent: data[type=histogram2dcontour].xbins +
      + Type: number or categorical coordinate string +

      Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      +
    • +
    • + + size + +
      Parent: data[type=histogram2dcontour].xbins +
      + Type: number or categorical coordinate string +

      Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or "M<n>" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      +
    • +
    • + + start + +
      Parent: data[type=histogram2dcontour].xbins +
      + Type: number or categorical coordinate string +

      Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

      +
    • +
    +
  • +
  • + + xcalendar + +
    Parent: data[type=histogram2dcontour] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=histogram2dcontour] +
    + Type: data_array +

    Sets the sample data to be binned on the y axis.

    +
  • +
  • + + yaxis + +
    Parent: data[type=histogram2dcontour] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ybingroup + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`

    +
  • +
  • + + ybins + +
    Parent: data[type=histogram2dcontour] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + end + +
      Parent: data[type=histogram2dcontour].ybins +
      + Type: number or categorical coordinate string +

      Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      +
    • +
    • + + size + +
      Parent: data[type=histogram2dcontour].ybins +
      + Type: number or categorical coordinate string +

      Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or "M<n>" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      +
    • +
    • + + start + +
      Parent: data[type=histogram2dcontour].ybins +
      + Type: number or categorical coordinate string +

      Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

      +
    • +
    +
  • +
  • + + ycalendar + +
    Parent: data[type=histogram2dcontour] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=histogram2dcontour] +
    + Type: data_array +

    Sets the aggregation data.

    +
  • +
  • + + zauto + +
    Parent: data[type=histogram2dcontour] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=histogram2dcontour] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + zmax + +
    Parent: data[type=histogram2dcontour] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    +
  • +
  • + + zmid + +
    Parent: data[type=histogram2dcontour] +
    + Type: number

    Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    +
  • +
  • + + zmin + +
    Parent: data[type=histogram2dcontour] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/icicle/index.html b/docs/reference/icicle/index.html new file mode 100644 index 00000000000..f17f34aff8f --- /dev/null +++ b/docs/reference/icicle/index.html @@ -0,0 +1,6637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + icicle - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

icicle

+
+ A icicle trace is an object with the key "type" equal to "icicle" + (i.e. {"type": "icicle"}) and any of the keys listed below. +

Visualize hierarchal data from leaves (and/or outer branches) towards root with rectangles. The icicle sectors are determined by the entries in "labels" or "ids" and in "parents".

+
+
    +
  • + + branchvalues + +
    Parent: data[type=icicle] +
    + Type: + enumerated , one of ( +"remainder"| "total" ) +
    Default: "remainder" +

    Determines how the items in `values` are summed. When set to "total", items in `values` are taken to be value of all its descendants. When set to "remainder", items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

    +
  • +
  • + + count + +
    Parent: data[type=icicle] +
    + Type: flaglist string. + + Any combination of "branches", "leaves" joined with a "+" + OR . + +
    Examples: "branches", "leaves", "branches+leaves", + +
    Default: "leaves" +

    Determines default for `values` when it is not provided, by inferring a 1 for each of the "leaves" and/or "branches", otherwise 0.

    +
  • +
  • + + customdata + +
    Parent: data[type=icicle] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + domain + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=icicle].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this icicle trace .

      +
    • +
    • + + row + +
      Parent: data[type=icicle].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this icicle trace .

      +
    • +
    • + + x + +
      Parent: data[type=icicle].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this icicle trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=icicle].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this icicle trace (in plot fraction).

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=icicle] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "name", "current path", "percent root", "percent entry", "percent parent" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "label", "text", "label+text", "label+text+value", "all" + +
    Default: "label+text+value+name" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=icicle].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=icicle].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=icicle].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=icicle].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=icicle].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=icicle].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=icicle] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=icicle] +
    + Type: string or array of strings

    Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=icicle] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying inside the sector.

    +
      +
    • + + color + +
      Parent: data[type=icicle].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=icicle].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=icicle].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=icicle].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=icicle].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=icicle].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=icicle].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=icicle].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=icicle].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + labels + +
    Parent: data[type=icicle] +
    + Type: data_array +

    Sets the labels of each of the sectors.

    +
  • +
  • + + leaf + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + opacity + +
      Parent: data[type=icicle].leaf +
      + Type: number less than or equal to 1 +

      Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7

      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=icicle] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=icicle].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=icicle].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=icicle].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=icicle] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=icicle] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + level + +
    Parent: data[type=icicle] +
    + Type: number or categorical coordinate string +

    Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an "id" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.

    +
  • +
  • + + marker + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=icicle].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=icicle].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=icicle].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=icicle].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=icicle].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=icicle].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=icicle].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=icicle].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=icicle].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=icicle].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=icicle].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=icicle].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=icicle].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=icicle].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=icicle].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=icicle].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=icicle].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=icicle].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=icicle].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=icicle].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=icicle].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colors + +
      Parent: data[type=icicle].marker +
      + Type: data_array +

      Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.

      +
    • +
    • + + colorscale + +
      Parent: data[type=icicle].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=icicle].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=icicle].marker.line +
        + Type: color or array of colors

        Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        +
      • +
      • + + width + +
        Parent: data[type=icicle].marker.line +
        + Type: number or array of numbers
        Default: 1 +

        Sets the width (in px) of the line enclosing each sector.

        +
      • +
      +
    • +
    • + + pattern + +
      Parent: data[type=icicle].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=icicle].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=icicle].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=icicle].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=icicle].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=icicle].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=icicle].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=icicle].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=icicle].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    • + + reversescale + +
      Parent: data[type=icicle].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=icicle].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.

      +
    • +
    +
  • +
  • + + maxdepth + +
    Parent: data[type=icicle] +
    + Type: integer
    Default: -1 +

    Sets the number of rendered sectors from any given `level`. Set `maxdepth` to "-1" to render all the levels in the hierarchy.

    +
  • +
  • + + meta + +
    Parent: data[type=icicle] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=icicle] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=icicle] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

    +
      +
    • + + color + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=icicle].outsidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + parents + +
    Parent: data[type=icicle] +
    + Type: data_array +

    Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.

    +
  • +
  • + + pathbar + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + edgeshape + +
      Parent: data[type=icicle].pathbar +
      + Type: + enumerated , one of ( +">"| "<"| "|"| "/"| "\" ) +
      Default: ">" +

      Determines which shape is used for edges between `barpath` labels.

      +
    • +
    • + + side + +
      Parent: data[type=icicle].pathbar +
      + Type: + enumerated , one of ( +"top"| "bottom" ) +
      Default: "top" +

      Determines on which side of the the treemap the `pathbar` should be presented.

      +
    • +
    • + + textfont + +
      Parent: data[type=icicle].pathbar +
      Type: object containing one or more of the keys listed below. +

      Sets the font used inside `pathbar`.

      +
        +
      • + + color + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=icicle].pathbar.textfont +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + thickness + +
      Parent: data[type=icicle].pathbar +
      + Type: number greater than or equal to 12 +

      Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.

      +
    • +
    • + + visible + +
      Parent: data[type=icicle].pathbar +
      + Type: boolean
      Default: true +

      Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.

      +
    • +
    +
  • +
  • + + root + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=icicle].root +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.

      +
    • +
    +
  • +
  • + + sort + +
    Parent: data[type=icicle] +
    + Type: boolean
    Default: true +

    Determines whether or not the sectors are reordered from largest to smallest.

    +
  • +
  • + + text + +
    Parent: data[type=icicle] +
    + Type: data_array +

    Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo`.

    +
      +
    • + + color + +
      Parent: data[type=icicle].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=icicle].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=icicle].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=icicle].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=icicle].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=icicle].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=icicle].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=icicle].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=icicle].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textinfo + +
    Parent: data[type=icicle] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "current path", "percent root", "percent entry", "percent parent" joined with a "+" + OR "none". + +
    Examples: "label", "text", "label+text", "label+text+value", "none" + +

    Determines which trace information appear on the graph.

    +
  • +
  • + + textposition + +
    Parent: data[type=icicle] +
    + Type: + enumerated , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "top left" +

    Sets the positions of the `text` elements.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=icicle] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.

    +
  • +
  • + + tiling + +
    Parent: data[type=icicle] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + flip + +
      Parent: data[type=icicle].tiling +
      + Type: flaglist string. + + Any combination of "x", "y" joined with a "+" + OR . + +
      Examples: "x", "y", "x+y", + +

      Determines if the positions obtained from solver are flipped on each axis.

      +
    • +
    • + + orientation + +
      Parent: data[type=icicle].tiling +
      + Type: + enumerated , one of ( +"v"| "h" ) +
      Default: "h" +

      When set in conjunction with `tiling.flip`, determines on which side the root nodes are drawn in the chart. If `tiling.orientation` is "v" and `tiling.flip` is "", the root nodes appear at the top. If `tiling.orientation` is "v" and `tiling.flip` is "y", the root nodes appear at the bottom. If `tiling.orientation` is "h" and `tiling.flip` is "", the root nodes appear at the left. If `tiling.orientation` is "h" and `tiling.flip` is "x", the root nodes appear at the right.

      +
    • +
    • + + pad + +
      Parent: data[type=icicle].tiling +
      + Type: number

      Sets the inner padding (in px).

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=icicle] +
    +Type: "icicle" +
  • +
  • + + uid + +
    Parent: data[type=icicle] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=icicle] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + values + +
    Parent: data[type=icicle] +
    + Type: data_array +

    Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.

    +
  • +
  • + + visible + +
    Parent: data[type=icicle] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/image/index.html b/docs/reference/image/index.html new file mode 100644 index 00000000000..c680fc17a54 --- /dev/null +++ b/docs/reference/image/index.html @@ -0,0 +1,5114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

image

+
+ A image trace is an object with the key "type" equal to "image" + (i.e. {"type": "image"}) and any of the keys listed below. +

Display an image, i.e. data on a 2D regular raster. By default, when an image is displayed in a subplot, its y axis will be reversed (ie. `autorange: 'reversed'`), constrained to the domain (ie. `constrain: 'domain'`) and it will have the same scale as its x axis (ie. `scaleanchor: 'x,`) in order for pixels to be rendered as squares.

+
+
    +
  • + + colormodel + +
    Parent: data[type=image] +
    + Type: + enumerated , one of ( +"rgb"| "rgba"| "rgba256"| "hsl"| "hsla" ) +

    Color model used to map the numerical color components described in `z` into colors. If `source` is specified, this attribute will be set to `rgba256` otherwise it defaults to `rgb`.

    +
  • +
  • + + customdata + +
    Parent: data[type=image] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=image] +
    + Type: number
    Default: 1 +

    Set the pixel's horizontal size.

    +
  • +
  • + + dy + +
    Parent: data[type=image] +
    + Type: number
    Default: 1 +

    Set the pixel's vertical size

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=image] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "color", "name", "text" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "x+y+z+text+name" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=image] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=image].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=image].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=image].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=image].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=image].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=image].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=image].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=image].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=image].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=image].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=image].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=image].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=image].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=image].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=image] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `z`, `color` and `colormodel`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=image] +
    + Type: data_array +

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=image] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=image] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=image] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=image].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=image].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=image].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=image] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=image] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + meta + +
    Parent: data[type=image] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=image] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=image] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + source + +
    Parent: data[type=image] +
    + Type: string

    Specifies the data URI of the image to be visualized. The URI consists of "data:image/[<media subtype\\>][;base64\\],<data\\>"

    +
  • +
  • + + text + +
    Parent: data[type=image] +
    + Type: data_array +

    Sets the text elements associated with each z value.

    +
  • +
  • + + type + +
    Parent: data[type=image] +
    +Type: "image" +
  • +
  • + + uid + +
    Parent: data[type=image] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=image] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=image] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x0 + +
    Parent: data[type=image] +
    + Type: number or categorical coordinate string +

    Set the image's x position. The left edge of the image (or the right edge if the x axis is reversed or dx is negative) will be found at xmin=x0-dx/2

    +
  • +
  • + + xaxis + +
    Parent: data[type=image] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + y0 + +
    Parent: data[type=image] +
    + Type: number or categorical coordinate string +

    Set the image's y position. The top edge of the image (or the bottom edge if the y axis is NOT reversed or if dy is negative) will be found at ymin=y0-dy/2. By default when an image trace is included, the y axis will be reversed so that the image is right-side-up, but you can disable this by setting yaxis.autorange=true or by providing an explicit y axis range.

    +
  • +
  • + + yaxis + +
    Parent: data[type=image] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + z + +
    Parent: data[type=image] +
    + Type: data_array +

    A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.

    +
  • +
  • + + zmax + +
    Parent: data[type=image] +
    +{inner}Type: {array} +

    Array defining the higher bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [255, 255, 255]. For the `rgba` colormodel, it is [255, 255, 255, 1]. For the `rgba256` colormodel, it is [255, 255, 255, 255]. For the `hsl` colormodel, it is [360, 100, 100]. For the `hsla` colormodel, it is [360, 100, 100, 1].

    +
  • +
  • + + zmin + +
    Parent: data[type=image] +
    +{inner}Type: {array} +

    Array defining the lower bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [0, 0, 0]. For the `rgba` colormodel, it is [0, 0, 0, 0]. For the `rgba256` colormodel, it is [0, 0, 0, 0]. For the `hsl` colormodel, it is [0, 0, 0]. For the `hsla` colormodel, it is [0, 0, 0, 0].

    +
  • +
  • + + zorder + +
    Parent: data[type=image] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
  • + + zsmooth + +
    Parent: data[type=image] +
    + Type: + enumerated , one of ( +"fast"| false ) +

    Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/indicator/index.html b/docs/reference/indicator/index.html new file mode 100644 index 00000000000..df9eb457a84 --- /dev/null +++ b/docs/reference/indicator/index.html @@ -0,0 +1,5994 @@ + + + + + + + + + + + + + + + + + + + + + + + + + indicator - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

indicator

+
+ A indicator trace is an object with the key "type" equal to "indicator" + (i.e. {"type": "indicator"}) and any of the keys listed below. +

An indicator is used to visualize a single `value` along with some contextual information such as `steps` or a `threshold`, using a combination of three visual elements: a number, a delta, and/or a gauge. Deltas are taken with respect to a `reference`. Gauges can be either angular or bullet (aka linear) gauges.

+
+
    +
  • + + align + +
    Parent: data[type=indicator] +
    + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

    Sets the horizontal alignment of the `text` within the box. Note that this attribute has no effect if an angular gauge is displayed: in this case, it is always centered

    +
  • +
  • + + customdata + +
    Parent: data[type=indicator] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + delta + +
    Parent: data[type=indicator] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + decreasing + +
      Parent: data[type=indicator].delta +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=indicator].delta.decreasing +
        + Type: color
        Default: "#FF4136" +

        Sets the color for increasing value.

        +
      • +
      • + + symbol + +
        Parent: data[type=indicator].delta.decreasing +
        + Type: string
        Default: "▼" +

        Sets the symbol to display for increasing value

        +
      • +
      +
    • +
    • + + font + +
      Parent: data[type=indicator].delta +
      Type: object containing one or more of the keys listed below. +

      Set the font used to display the delta

      +
        +
      • + + color + +
        Parent: data[type=indicator].delta.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=indicator].delta.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=indicator].delta.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=indicator].delta.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=indicator].delta.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=indicator].delta.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=indicator].delta.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=indicator].delta.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=indicator].delta.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + increasing + +
      Parent: data[type=indicator].delta +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=indicator].delta.increasing +
        + Type: color
        Default: "#3D9970" +

        Sets the color for increasing value.

        +
      • +
      • + + symbol + +
        Parent: data[type=indicator].delta.increasing +
        + Type: string
        Default: "▲" +

        Sets the symbol to display for increasing value

        +
      • +
      +
    • +
    • + + position + +
      Parent: data[type=indicator].delta +
      + Type: + enumerated , one of ( +"top"| "bottom"| "left"| "right" ) +
      Default: "bottom" +

      Sets the position of delta with respect to the number.

      +
    • +
    • + + prefix + +
      Parent: data[type=indicator].delta +
      + Type: string

      Sets a prefix appearing before the delta.

      +
    • +
    • + + reference + +
      Parent: data[type=indicator].delta +
      + Type: number

      Sets the reference value to compute the delta. By default, it is set to the current value.

      +
    • +
    • + + relative + +
      Parent: data[type=indicator].delta +
      + Type: boolean

      Show relative change

      +
    • +
    • + + suffix + +
      Parent: data[type=indicator].delta +
      + Type: string

      Sets a suffix appearing next to the delta.

      +
    • +
    • + + valueformat + +
      Parent: data[type=indicator].delta +
      + Type: string

      Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      +
    • +
    +
  • +
  • + + domain + +
    Parent: data[type=indicator] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=indicator].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this indicator trace .

      +
    • +
    • + + row + +
      Parent: data[type=indicator].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this indicator trace .

      +
    • +
    • + + x + +
      Parent: data[type=indicator].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this indicator trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=indicator].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this indicator trace (in plot fraction).

      +
    • +
    +
  • +
  • + + gauge + +
    Parent: data[type=indicator] +
    Type: object containing one or more of the keys listed below. +

    The gauge of the Indicator plot.

    +
      +
    • + + axis + +
      Parent: data[type=indicator].gauge +
      Type: object containing one or more of the keys listed below. +
        +
      • + + dtick + +
        Parent: data[type=indicator].gauge.axis +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=indicator].gauge.axis +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=indicator].gauge.axis +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + minexponent + +
        Parent: data[type=indicator].gauge.axis +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=indicator].gauge.axis +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + range + +
        Parent: data[type=indicator].gauge.axis +
        +{inner}Type: {array} +

        Sets the range of this axis.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=indicator].gauge.axis +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=indicator].gauge.axis +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=indicator].gauge.axis +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=indicator].gauge.axis +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=indicator].gauge.axis +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + tick0 + +
        Parent: data[type=indicator].gauge.axis +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=indicator].gauge.axis +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=indicator].gauge.axis +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=indicator].gauge.axis +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=indicator].gauge.axis.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=indicator].gauge.axis +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=indicator].gauge.axis +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=indicator].gauge.axis.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=indicator].gauge.axis.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=indicator].gauge.axis.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=indicator].gauge.axis.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=indicator].gauge.axis.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=indicator].gauge.axis +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=indicator].gauge.axis +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=indicator].gauge.axis +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=indicator].gauge.axis +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=indicator].gauge.axis +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +
        Default: "outside" +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=indicator].gauge.axis +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=indicator].gauge.axis +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=indicator].gauge.axis +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=indicator].gauge.axis +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + visible + +
        Parent: data[type=indicator].gauge.axis +
        + Type: boolean
        Default: true +

        A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false

        +
      • +
      +
    • +
    • + + bar + +
      Parent: data[type=indicator].gauge +
      Type: object containing one or more of the keys listed below. +

      Set the appearance of the gauge's value

      +
        +
      • + + color + +
        Parent: data[type=indicator].gauge.bar +
        + Type: color
        Default: "green" +

        Sets the background color of the arc.

        +
      • +
      • + + line + +
        Parent: data[type=indicator].gauge.bar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + color + +
          Parent: data[type=indicator].gauge.bar.line +
          + Type: color
          Default: "#444" +

          Sets the color of the line enclosing each sector.

          +
        • +
        • + + width + +
          Parent: data[type=indicator].gauge.bar.line +
          + Type: number

          Sets the width (in px) of the line enclosing each sector.

          +
        • +
        +
      • +
      • + + thickness + +
        Parent: data[type=indicator].gauge.bar +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the thickness of the bar as a fraction of the total thickness of the gauge.

        +
      • +
      +
    • +
    • + + bgcolor + +
      Parent: data[type=indicator].gauge +
      + Type: color

      Sets the gauge background color.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=indicator].gauge +
      + Type: color
      Default: "#444" +

      Sets the color of the border enclosing the gauge.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=indicator].gauge +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the border enclosing the gauge.

      +
    • +
    • + + shape + +
      Parent: data[type=indicator].gauge +
      + Type: + enumerated , one of ( +"angular"| "bullet" ) +
      Default: "angular" +

      Set the shape of the gauge

      +
    • +
    • + + steps + +
      Parent: data[type=indicator].gauge +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=indicator].gauge.steps +
        + Type: color

        Sets the background color of the arc.

        +
      • +
      • + + line + +
        Parent: data[type=indicator].gauge.steps +
        Type: object containing one or more of the keys listed below. +
          +
        • + + color + +
          Parent: data[type=indicator].gauge.steps.line +
          + Type: color
          Default: "#444" +

          Sets the color of the line enclosing each sector.

          +
        • +
        • + + width + +
          Parent: data[type=indicator].gauge.steps.line +
          + Type: number

          Sets the width (in px) of the line enclosing each sector.

          +
        • +
        +
      • +
      • + + name + +
        Parent: data[type=indicator].gauge.steps +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + range + +
        Parent: data[type=indicator].gauge.steps +
        +{inner}Type: {array} +

        Sets the range of this axis.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=indicator].gauge.steps +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + thickness + +
        Parent: data[type=indicator].gauge.steps +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the thickness of the bar as a fraction of the total thickness of the gauge.

        +
      • +
      +
    • +
    • + + threshold + +
      Parent: data[type=indicator].gauge +
      Type: object containing one or more of the keys listed below. +
        +
      • + + line + +
        Parent: data[type=indicator].gauge.threshold +
        Type: object containing one or more of the keys listed below. +
          +
        • + + color + +
          Parent: data[type=indicator].gauge.threshold.line +
          + Type: color
          Default: "#444" +

          Sets the color of the threshold line.

          +
        • +
        • + + width + +
          Parent: data[type=indicator].gauge.threshold.line +
          + Type: number
          Default: 1 +

          Sets the width (in px) of the threshold line.

          +
        • +
        +
      • +
      • + + thickness + +
        Parent: data[type=indicator].gauge.threshold +
        + Type: number less than or equal to 1 +
        Default: 0.85 +

        Sets the thickness of the threshold line as a fraction of the thickness of the gauge.

        +
      • +
      • + + value + +
        Parent: data[type=indicator].gauge.threshold +
        + Type: number

        Sets a treshold value drawn as a line.

        +
      • +
      +
    • +
    +
  • +
  • + + ids + +
    Parent: data[type=indicator] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=indicator] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=indicator] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=indicator].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=indicator].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=indicator].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=indicator] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=indicator] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + meta + +
    Parent: data[type=indicator] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=indicator] +
    + Type: flaglist string. + + Any combination of "number", "delta", "gauge" joined with a "+" + OR . + +
    Examples: "number", "delta", "number+delta", "number+delta+gauge", + +
    Default: "number" +

    Determines how the value is displayed on the graph. `number` displays the value numerically in text. `delta` displays the difference to a reference value in text. Finally, `gauge` displays the value graphically on an axis.

    +
  • +
  • + + name + +
    Parent: data[type=indicator] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + number + +
    Parent: data[type=indicator] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=indicator].number +
      Type: object containing one or more of the keys listed below. +

      Set the font used to display main number

      +
        +
      • + + color + +
        Parent: data[type=indicator].number.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=indicator].number.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=indicator].number.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=indicator].number.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=indicator].number.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=indicator].number.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=indicator].number.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=indicator].number.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=indicator].number.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + prefix + +
      Parent: data[type=indicator].number +
      + Type: string

      Sets a prefix appearing before the number.

      +
    • +
    • + + suffix + +
      Parent: data[type=indicator].number +
      + Type: string

      Sets a suffix appearing next to the number.

      +
    • +
    • + + valueformat + +
      Parent: data[type=indicator].number +
      + Type: string

      Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      +
    • +
    +
  • +
  • + + title + +
    Parent: data[type=indicator] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=indicator].title +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.

      +
    • +
    • + + font + +
      Parent: data[type=indicator].title +
      Type: object containing one or more of the keys listed below. +

      Set the font used to display the title

      +
        +
      • + + color + +
        Parent: data[type=indicator].title.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=indicator].title.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=indicator].title.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=indicator].title.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=indicator].title.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=indicator].title.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=indicator].title.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=indicator].title.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=indicator].title.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=indicator].title +
      + Type: string

      Sets the title of this indicator.

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=indicator] +
    +Type: "indicator" +
  • +
  • + + uid + +
    Parent: data[type=indicator] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=indicator] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + value + +
    Parent: data[type=indicator] +
    + Type: number

    Sets the number to be displayed.

    +
  • +
  • + + visible + +
    Parent: data[type=indicator] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/isosurface/index.html b/docs/reference/isosurface/index.html new file mode 100644 index 00000000000..ffc0a174d75 --- /dev/null +++ b/docs/reference/isosurface/index.html @@ -0,0 +1,6348 @@ + + + + + + + + + + + + + + + + + + + + + + + + + isosurface - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

isosurface

+
+ A isosurface trace is an object with the key "type" equal to "isosurface" + (i.e. {"type": "isosurface"}) and any of the keys listed below. +

Draws isosurfaces between iso-min and iso-max values with coordinates given by four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as spaceframe between iso-min and iso-max values could also be drawn using this trace.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=isosurface] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + caps + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=isosurface].caps +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=isosurface].caps.x +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + show + +
        Parent: data[type=isosurface].caps.x +
        + Type: boolean
        Default: true +

        Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      +
    • +
    • + + y + +
      Parent: data[type=isosurface].caps +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=isosurface].caps.y +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + show + +
        Parent: data[type=isosurface].caps.y +
        + Type: boolean
        Default: true +

        Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      +
    • +
    • + + z + +
      Parent: data[type=isosurface].caps +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=isosurface].caps.z +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + show + +
        Parent: data[type=isosurface].caps.z +
        + Type: boolean
        Default: true +

        Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      +
    • +
    +
  • +
  • + + cauto + +
    Parent: data[type=isosurface] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    +
  • +
  • + + cmax + +
    Parent: data[type=isosurface] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.

    +
  • +
  • + + cmid + +
    Parent: data[type=isosurface] +
    + Type: number

    Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.

    +
  • +
  • + + cmin + +
    Parent: data[type=isosurface] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=isosurface] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=isosurface].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=isosurface].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=isosurface].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=isosurface].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=isosurface].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=isosurface].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=isosurface].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=isosurface].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=isosurface].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=isosurface].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=isosurface].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=isosurface].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=isosurface].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=isosurface].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=isosurface].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=isosurface].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=isosurface].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=isosurface].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=isosurface].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=isosurface].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=isosurface].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=isosurface].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=isosurface].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=isosurface].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=isosurface].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=isosurface].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=isosurface].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=isosurface].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=isosurface].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=isosurface].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=isosurface].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=isosurface].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=isosurface].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=isosurface].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=isosurface].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=isosurface] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + contour + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=isosurface].contour +
      + Type: color
      Default: "#444" +

      Sets the color of the contour lines.

      +
    • +
    • + + show + +
      Parent: data[type=isosurface].contour +
      + Type: boolean

      Sets whether or not dynamic contours are shown on hover

      +
    • +
    • + + width + +
      Parent: data[type=isosurface].contour +
      + Type: number between or equal to 1 and 16 +
      Default: 2 +

      Sets the width of the contour lines.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=isosurface] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + flatshading + +
    Parent: data[type=isosurface] +
    + Type: boolean
    Default: true +

    Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=isosurface] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=isosurface].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=isosurface].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=isosurface].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=isosurface].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=isosurface].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=isosurface].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=isosurface] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=isosurface] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=isosurface] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + isomax + +
    Parent: data[type=isosurface] +
    + Type: number

    Sets the maximum boundary for iso-surface plot.

    +
  • +
  • + + isomin + +
    Parent: data[type=isosurface] +
    + Type: number

    Sets the minimum boundary for iso-surface plot.

    +
  • +
  • + + legend + +
    Parent: data[type=isosurface] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=isosurface] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=isosurface].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=isosurface].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=isosurface].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=isosurface] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=isosurface] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lighting + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + ambient + +
      Parent: data[type=isosurface].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Ambient light increases overall color visibility but can wash out the image.

      +
    • +
    • + + diffuse + +
      Parent: data[type=isosurface].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Represents the extent that incident rays are reflected in a range of angles.

      +
    • +
    • + + facenormalsepsilon + +
      Parent: data[type=isosurface].lighting +
      + Type: number less than or equal to 1 +

      Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    • + + fresnel + +
      Parent: data[type=isosurface].lighting +
      + Type: number less than or equal to 5 +
      Default: 0.2 +

      Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      +
    • +
    • + + roughness + +
      Parent: data[type=isosurface].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      +
    • +
    • + + specular + +
      Parent: data[type=isosurface].lighting +
      + Type: number less than or equal to 2 +
      Default: 0.05 +

      Represents the level that incident rays are reflected in a single direction, causing shine.

      +
    • +
    • + + vertexnormalsepsilon + +
      Parent: data[type=isosurface].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-12 +

      Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    +
  • +
  • + + lightposition + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=isosurface].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the X coordinate for each vertex.

      +
    • +
    • + + y + +
      Parent: data[type=isosurface].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the Y coordinate for each vertex.

      +
    • +
    • + + z + +
      Parent: data[type=isosurface].lightposition +
      + Type: number between or equal to -100000 and 100000 +

      Numeric vector, representing the Z coordinate for each vertex.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=isosurface] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=isosurface] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=isosurface] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    +
  • +
  • + + reversescale + +
    Parent: data[type=isosurface] +
    + Type: boolean

    Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    +
  • +
  • + + scene + +
    Parent: data[type=isosurface] +
    + Type: subplotid +
    Default: scene +

    Sets a reference between this trace's 3D coordinate system and a 3D scene. If "scene" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If "scene2", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    +
  • +
  • + + showlegend + +
    Parent: data[type=isosurface] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=isosurface] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + slices + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=isosurface].slices +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=isosurface].slices.x +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + locations + +
        Parent: data[type=isosurface].slices.x +
        + Type: data_array +

        Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.

        +
      • +
      • + + show + +
        Parent: data[type=isosurface].slices.x +
        + Type: boolean

        Determines whether or not slice planes about the x dimension are drawn.

        +
      • +
      +
    • +
    • + + y + +
      Parent: data[type=isosurface].slices +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=isosurface].slices.y +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + locations + +
        Parent: data[type=isosurface].slices.y +
        + Type: data_array +

        Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.

        +
      • +
      • + + show + +
        Parent: data[type=isosurface].slices.y +
        + Type: boolean

        Determines whether or not slice planes about the y dimension are drawn.

        +
      • +
      +
    • +
    • + + z + +
      Parent: data[type=isosurface].slices +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=isosurface].slices.z +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + locations + +
        Parent: data[type=isosurface].slices.z +
        + Type: data_array +

        Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.

        +
      • +
      • + + show + +
        Parent: data[type=isosurface].slices.z +
        + Type: boolean

        Determines whether or not slice planes about the z dimension are drawn.

        +
      • +
      +
    • +
    +
  • +
  • + + spaceframe + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fill + +
      Parent: data[type=isosurface].spaceframe +
      + Type: number less than or equal to 1 +
      Default: 0.15 +

      Sets the fill ratio of the `spaceframe` elements. The default fill value is 0.15 meaning that only 15% of the area of every faces of tetras would be shaded. Applying a greater `fill` ratio would allow the creation of stronger elements or could be sued to have entirely closed areas (in case of using 1).

      +
    • +
    • + + show + +
      Parent: data[type=isosurface].spaceframe +
      + Type: boolean

      Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.

      +
    • +
    +
  • +
  • + + surface + +
    Parent: data[type=isosurface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + count + +
      Parent: data[type=isosurface].surface +
      + Type: integer greater than or equal to 1 +
      Default: 2 +

      Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.

      +
    • +
    • + + fill + +
      Parent: data[type=isosurface].surface +
      + Type: number less than or equal to 1 +
      Default: 1 +

      Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      +
    • +
    • + + pattern + +
      Parent: data[type=isosurface].surface +
      + Type: flaglist string. + + Any combination of "A", "B", "C", "D", "E" joined with a "+" + OR "all", "odd", "even". + +
      Examples: "A", "B", "A+B", "A+B+C", "all" + +
      Default: "all" +

      Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.

      +
    • +
    • + + show + +
      Parent: data[type=isosurface].surface +
      + Type: boolean
      Default: true +

      Hides/displays surfaces between minimum and maximum iso-values.

      +
    • +
    +
  • +
  • + + text + +
    Parent: data[type=isosurface] +
    + Type: string or array of strings

    Sets the text elements associated with the vertices. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + type + +
    Parent: data[type=isosurface] +
    +Type: "isosurface" +
  • +
  • + + uid + +
    Parent: data[type=isosurface] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=isosurface] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + value + +
    Parent: data[type=isosurface] +
    + Type: data_array +

    Sets the 4th dimension (value) of the vertices.

    +
  • +
  • + + valuehoverformat + +
    Parent: data[type=isosurface] +
    + Type: string

    Sets the hover text formatting rulefor `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + visible + +
    Parent: data[type=isosurface] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=isosurface] +
    + Type: data_array +

    Sets the X coordinates of the vertices on X axis.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=isosurface] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=isosurface] +
    + Type: data_array +

    Sets the Y coordinates of the vertices on Y axis.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=isosurface] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=isosurface] +
    + Type: data_array +

    Sets the Z coordinates of the vertices on Z axis.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=isosurface] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `zaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/layout/index.html b/docs/reference/layout/index.html new file mode 100644 index 00000000000..c0d6a7011d2 --- /dev/null +++ b/docs/reference/layout/index.html @@ -0,0 +1,7753 @@ + + + + + + + + + + + + + + + + + + + + + + + + + layout - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

layout

+
    +
  • + + activeselection + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fillcolor + +
      Parent: layout.activeselection +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color filling the active selection' interior.

      +
    • +
    • + + opacity + +
      Parent: layout.activeselection +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Sets the opacity of the active selection.

      +
    • +
    +
  • +
  • + + activeshape + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fillcolor + +
      Parent: layout.activeshape +
      + Type: color
      Default: "rgb(255,0,255)" +

      Sets the color filling the active shape' interior.

      +
    • +
    • + + opacity + +
      Parent: layout.activeshape +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Sets the opacity of the active shape.

      +
    • +
    +
  • +
  • + + autosize + +
    Parent: layout +
    + Type: boolean

    Determines whether or not a layout width or height that has been left undefined by the user is initialized on each relayout. Note that, regardless of this attribute, an undefined layout width or height is always initialized on the first call to plot.

    +
  • +
  • + + autotypenumbers + +
    Parent: layout +
    + Type: + enumerated , one of ( +"convert types"| "strict" ) +
    Default: "convert types" +

    Using "strict" a numeric string in trace data is not converted to a number. Using "convert types" a numeric string in trace data may be treated as a number during automatic axis `type` detection. This is the default value; however it could be overridden for individual axes.

    +
  • +
  • + + calendar + +
    Parent: layout +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the default calendar system to use for interpreting and displaying dates throughout the plot.

    +
  • +
  • + + clickmode + +
    Parent: layout +
    + Type: flaglist string. + + Any combination of "event", "select" joined with a "+" + OR "none". + +
    Examples: "event", "select", "event+select", "none" + +
    Default: "event" +

    Determines the mode of single click interactions. "event" is the default value and emits the `plotly_click` event. In addition this mode emits the `plotly_selected` event in drag modes "lasso" and "select", but with no event data attached (kept for compatibility reasons). The "select" flag enables selecting single data points via click. This mode also supports persistent selections, meaning that pressing Shift while clicking, adds to / subtracts from an existing selection. "select" with `hovermode`: "x" can be confusing, consider explicitly setting `hovermode`: "closest" when using this feature. Selection events are sent accordingly as long as "event" flag is set as well. When the "event" flag is missing, `plotly_click` and `plotly_selected` events are not fired.

    +
  • +
  • + + colorscale + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + diverging + +
      Parent: layout.colorscale +
      + Type: colorscale +
      Default: [[[, 0, ,, , ', r, g, b, (, 5, ,, 1, 0, ,, 1, 7, 2, ), ', ]], [[, 0, ., 3, 5, ,, , ', r, g, b, (, 1, 0, 6, ,, 1, 3, 7, ,, 2, 4, 7, ), ', ]], [[, 0, ., 5, ,, , ', r, g, b, (, 1, 9, 0, ,, 1, 9, 0, ,, 1, 9, 0, ), ', ]], [[, 0, ., 6, ,, , ', r, g, b, (, 2, 2, 0, ,, 1, 7, 0, ,, 1, 3, 2, ), ', ]], [[, 0, ., 7, ,, , ', r, g, b, (, 2, 3, 0, ,, 1, 4, 5, ,, 9, 0, ), ', ]], [[, 1, ,, , ', r, g, b, (, 1, 7, 8, ,, 1, 0, ,, 2, 8, ), ', ]]] +

      Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work.

      +
    • +
    • + + sequential + +
      Parent: layout.colorscale +
      + Type: colorscale +
      Default: [[[, 0, ,, , ', r, g, b, (, 2, 2, 0, ,, 2, 2, 0, ,, 2, 2, 0, ), ', ]], [[, 0, ., 2, ,, , ', r, g, b, (, 2, 4, 5, ,, 1, 9, 5, ,, 1, 5, 7, ), ', ]], [[, 0, ., 4, ,, , ', r, g, b, (, 2, 4, 5, ,, 1, 6, 0, ,, 1, 0, 5, ), ', ]], [[, 1, ,, , ', r, g, b, (, 1, 7, 8, ,, 1, 0, ,, 2, 8, ), ', ]]] +

      Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work.

      +
    • +
    • + + sequentialminus + +
      Parent: layout.colorscale +
      + Type: colorscale +
      Default: [[[, 0, ,, , ', r, g, b, (, 5, ,, 1, 0, ,, 1, 7, 2, ), ', ]], [[, 0, ., 3, 5, ,, , ', r, g, b, (, 4, 0, ,, 6, 0, ,, 1, 9, 0, ), ', ]], [[, 0, ., 5, ,, , ', r, g, b, (, 7, 0, ,, 1, 0, 0, ,, 2, 4, 5, ), ', ]], [[, 0, ., 6, ,, , ', r, g, b, (, 9, 0, ,, 1, 2, 0, ,, 2, 4, 5, ), ', ]], [[, 0, ., 7, ,, , ', r, g, b, (, 1, 0, 6, ,, 1, 3, 7, ,, 2, 4, 7, ), ', ]], [[, 1, ,, , ', r, g, b, (, 2, 2, 0, ,, 2, 2, 0, ,, 2, 2, 0, ), ', ]]] +

      Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work.

      +
    • +
    +
  • +
  • + + colorway + +
    Parent: layout +
    + Type: colorlist +
    Default: [#1f77b4, #ff7f0e, #2ca02c, #d62728, #9467bd, #8c564b, #e377c2, #7f7f7f, #bcbd22, #17becf] +

    Sets the default trace colors.

    +
  • +
  • + + computed + +
    Parent: layout +
    + Type: number or categorical coordinate string +

    Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in "full-json" mode.

    +
  • +
  • + + datarevision + +
    Parent: layout +
    + Type: number or categorical coordinate string +

    If provided, a changed value tells `Plotly.react` that one or more data arrays has changed. This way you can modify arrays in-place rather than making a complete new copy for an incremental change. If NOT provided, `Plotly.react` assumes that data arrays are being treated as immutable, thus any data array with a different identity from its predecessor contains new data.

    +
  • +
  • + + dragmode + +
    Parent: layout +
    + Type: + enumerated , one of ( +"zoom"| "pan"| "select"| "lasso"| "drawclosedpath"| "drawopenpath"| "drawline"| "drawrect"| "drawcircle"| "orbit"| "turntable"| false ) +
    Default: "zoom" +

    Determines the mode of drag interactions. "select" and "lasso" apply only to scatter traces with markers or text. "orbit" and "turntable" apply only to 3D scenes.

    +
  • +
  • + + editrevision + +
    Parent: layout +
    + Type: number or categorical coordinate string +

    Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`.

    +
  • +
  • + + font + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +

    Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.

    +
      +
    • + + color + +
      Parent: layout.font +
      + Type: color
      Default: "#444" +
    • +
    • + + family + +
      Parent: layout.font +
      + Type: string
      Default: ""Open Sans", verdana, arial, sans-serif" +

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: layout.font +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: layout.font +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: layout.font +
      + Type: number greater than or equal to 1 +
      Default: 12 +
    • +
    • + + style + +
      Parent: layout.font +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: layout.font +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: layout.font +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: layout.font +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + grid + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + columns + +
      Parent: layout.grid +
      + Type: integer greater than or equal to 1 +

      The number of columns in the grid. If you provide a 2D `subplots` array, the length of its longest row is used as the default. If you give an `xaxes` array, its length is used as the default. But it's also possible to have a different length, if you want to leave a row at the end for non-cartesian subplots.

      +
    • +
    • + + domain + +
      Parent: layout.grid +
      Type: object containing one or more of the keys listed below. +
        +
      • + + x + +
        Parent: layout.grid.domain +
        +{inner}Type: {array} +
        Default: [0, 1] +

        Sets the horizontal domain of this grid subplot (in plot fraction). The first and last cells end exactly at the domain edges, with no grout around the edges.

        +
      • +
      • + + y + +
        Parent: layout.grid.domain +
        +{inner}Type: {array} +
        Default: [0, 1] +

        Sets the vertical domain of this grid subplot (in plot fraction). The first and last cells end exactly at the domain edges, with no grout around the edges.

        +
      • +
      +
    • +
    • + + pattern + +
      Parent: layout.grid +
      + Type: + enumerated , one of ( +"independent"| "coupled" ) +
      Default: "coupled" +

      If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`, we can generate defaults using consecutive axis IDs, in two ways: "coupled" gives one x axis per column and one y axis per row. "independent" uses a new xy pair for each cell, left-to-right across each row then iterating rows according to `roworder`.

      +
    • +
    • + + roworder + +
      Parent: layout.grid +
      + Type: + enumerated , one of ( +"top to bottom"| "bottom to top" ) +
      Default: "top to bottom" +

      Is the first row the top or the bottom? Note that columns are always enumerated from left to right.

      +
    • +
    • + + rows + +
      Parent: layout.grid +
      + Type: integer greater than or equal to 1 +

      The number of rows in the grid. If you provide a 2D `subplots` array or a `yaxes` array, its length is used as the default. But it's also possible to have a different length, if you want to leave a row at the end for non-cartesian subplots.

      +
    • +
    • + + subplots + +
      Parent: layout.grid +
      +{inner}Type: {array} +

      Used for freeform grids, where some axes may be shared across subplots but others are not. Each entry should be a cartesian subplot id, like "xy" or "x3y2", or "" to leave that cell empty. You may reuse x axes within the same column, and y axes within the same row. Non-cartesian subplots and traces that support `domain` can place themselves in this grid separately using the `gridcell` attribute.

      +
    • +
    • + + xaxes + +
      Parent: layout.grid +
      +{inner}Type: {array} +

      Used with `yaxes` when the x and y axes are shared across columns and rows. Each entry should be an x axis id like "x", "x2", etc., or "" to not put an x axis in that column. Entries other than "" must be unique. Ignored if `subplots` is present. If missing but `yaxes` is present, will generate consecutive IDs.

      +
    • +
    • + + xgap + +
      Parent: layout.grid +
      + Type: number less than or equal to 1 +

      Horizontal space between grid cells, expressed as a fraction of the total width available to one cell. Defaults to 0.1 for coupled-axes grids and 0.2 for independent grids.

      +
    • +
    • + + xside + +
      Parent: layout.grid +
      + Type: + enumerated , one of ( +"bottom"| "bottom plot"| "top plot"| "top" ) +
      Default: "bottom plot" +

      Sets where the x axis labels and titles go. "bottom" means the very bottom of the grid. "bottom plot" is the lowest plot that each x axis is used in. "top" and "top plot" are similar.

      +
    • +
    • + + yaxes + +
      Parent: layout.grid +
      +{inner}Type: {array} +

      Used with `yaxes` when the x and y axes are shared across columns and rows. Each entry should be an y axis id like "y", "y2", etc., or "" to not put a y axis in that row. Entries other than "" must be unique. Ignored if `subplots` is present. If missing but `xaxes` is present, will generate consecutive IDs.

      +
    • +
    • + + ygap + +
      Parent: layout.grid +
      + Type: number less than or equal to 1 +

      Vertical space between grid cells, expressed as a fraction of the total height available to one cell. Defaults to 0.1 for coupled-axes grids and 0.3 for independent grids.

      +
    • +
    • + + yside + +
      Parent: layout.grid +
      + Type: + enumerated , one of ( +"left"| "left plot"| "right plot"| "right" ) +
      Default: "left plot" +

      Sets where the y axis labels and titles go. "left" means the very left edge of the grid. "left plot" is the leftmost plot that each y axis is used in. "right" and "right plot" are similar.

      +
    • +
    +
  • +
  • + + height + +
    Parent: layout +
    + Type: number greater than or equal to 10 +
    Default: 450 +

    Sets the plot's height (in px).

    +
  • +
  • + + hidesources + +
    Parent: layout +
    + Type: boolean

    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 Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).

    +
  • +
  • + + hoverdistance + +
    Parent: layout +
    + Type: integer greater than or equal to -1 +
    Default: 20 +

    Sets the default distance (in pixels) to look for data to add hover labels (-1 means no cutoff, 0 means no looking for data). This is only a real distance for hovering on point-like objects, like scatter points. For area-like objects (bars, scatter fills, etc) hovering is on inside the area and off outside, but these objects will not supersede hover on point-like objects in case of conflict.

    +
  • +
  • + + hoverlabel + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: layout.hoverlabel +
      + Type: + enumerated , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: layout.hoverlabel +
      + Type: color

      Sets the background color of all hover labels on graph

      +
    • +
    • + + bordercolor + +
      Parent: layout.hoverlabel +
      + Type: color

      Sets the border color of all hover labels on graph.

      +
    • +
    • + + font + +
      Parent: layout.hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the default hover label font used by all traces on the graph.

      +
        +
      • + + color + +
        Parent: layout.hoverlabel.font +
        + Type: color
      • +
      • + + family + +
        Parent: layout.hoverlabel.font +
        + Type: string
        Default: "Arial, sans-serif" +

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: layout.hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: layout.hoverlabel.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: layout.hoverlabel.font +
        + Type: number greater than or equal to 1 +
        Default: 13 +
      • +
      • + + style + +
        Parent: layout.hoverlabel.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: layout.hoverlabel.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: layout.hoverlabel.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: layout.hoverlabel.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + grouptitlefont + +
      Parent: layout.hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`.

      +
        +
      • + + color + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: color
      • +
      • + + family + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: layout.hoverlabel.grouptitlefont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: layout.hoverlabel +
      + Type: integer greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovermode + +
    Parent: layout +
    + Type: + enumerated , one of ( +"x"| "y"| "closest"| false| "x unified"| "y unified" ) +
    Default: "closest" +

    Determines the mode of hover interactions. If "closest", a single hoverlabel will appear for the "closest" point within the `hoverdistance`. If "x" (or "y"), multiple hoverlabels will appear for multiple points at the "closest" x- (or y-) coordinate within the `hoverdistance`, with the caveat that no more than one hoverlabel will appear per trace. If "x unified" (or "y unified"), a single hoverlabel will appear multiple points at the closest x- (or y-) coordinate within the `hoverdistance` with the caveat that no more than one hoverlabel will appear per trace. In this mode, spikelines are enabled by default perpendicular to the specified axis. If false, hover interactions are disabled.

    +
  • +
  • + + hoversubplots + +
    Parent: layout +
    + Type: + enumerated , one of ( +"single"| "overlaying"| "axis" ) +
    Default: "overlaying" +

    Determines expansion of hover effects to other subplots If "single" just the axis pair of the primary point is included without overlaying subplots. If "overlaying" all subplots using the main axis and occupying the same space are included. If "axis", also include stacked subplots using the same axis when `hovermode` is set to "x", "x unified", "y" or "y unified".

    +
  • +
  • + + legend + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: layout.legend +
      + Type: color

      Sets the legend background color. Defaults to `layout.paper_bgcolor`.

      +
    • +
    • + + bordercolor + +
      Parent: layout.legend +
      + Type: color
      Default: "#444" +

      Sets the color of the border enclosing the legend.

      +
    • +
    • + + borderwidth + +
      Parent: layout.legend +
      + Type: number

      Sets the width (in px) of the border enclosing the legend.

      +
    • +
    • + + entrywidth + +
      Parent: layout.legend +
      + Type: number

      Sets the width (in px or fraction) of the legend. Use 0 to size the entry based on the text width, when `entrywidthmode` is set to "pixels".

      +
    • +
    • + + entrywidthmode + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      Determines what entrywidth means.

      +
    • +
    • + + font + +
      Parent: layout.legend +
      Type: object containing one or more of the keys listed below. +

      Sets the font used to text the legend items.

      +
        +
      • + + color + +
        Parent: layout.legend.font +
        + Type: color
      • +
      • + + family + +
        Parent: layout.legend.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: layout.legend.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: layout.legend.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: layout.legend.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: layout.legend.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: layout.legend.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: layout.legend.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: layout.legend.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + groupclick + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"toggleitem"| "togglegroup" ) +
      Default: "togglegroup" +

      Determines the behavior on legend group item click. "toggleitem" toggles the visibility of the individual item clicked on the graph. "togglegroup" toggles the visibility of all items in the same legendgroup as the item clicked on the graph.

      +
    • +
    • + + grouptitlefont + +
      Parent: layout.legend +
      Type: object containing one or more of the keys listed below. +

      Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%.

      +
        +
      • + + color + +
        Parent: layout.legend.grouptitlefont +
        + Type: color
      • +
      • + + family + +
        Parent: layout.legend.grouptitlefont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: layout.legend.grouptitlefont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: layout.legend.grouptitlefont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: layout.legend.grouptitlefont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: layout.legend.grouptitlefont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: layout.legend.grouptitlefont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: layout.legend.grouptitlefont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: layout.legend.grouptitlefont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + indentation + +
      Parent: layout.legend +
      + Type: number greater than or equal to -15 +

      Sets the indentation (in px) of the legend entries.

      +
    • +
    • + + itemclick + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"toggle"| "toggleothers"| false ) +
      Default: "toggle" +

      Determines the behavior on legend item click. "toggle" toggles the visibility of the item clicked on the graph. "toggleothers" makes the clicked item the sole visible item on the graph. "false" disables legend item click interactions.

      +
    • +
    • + + itemdoubleclick + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"toggle"| "toggleothers"| false ) +
      Default: "toggleothers" +

      Determines the behavior on legend item double-click. "toggle" toggles the visibility of the item clicked on the graph. "toggleothers" makes the clicked item the sole visible item on the graph. "false" disables legend item double-click interactions.

      +
    • +
    • + + itemsizing + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"trace"| "constant" ) +
      Default: "trace" +

      Determines if the legend items symbols scale with their corresponding "trace" attributes or remain "constant" independent of the symbol size on the graph.

      +
    • +
    • + + itemwidth + +
      Parent: layout.legend +
      + Type: number greater than or equal to 30 +
      Default: 30 +

      Sets the width (in px) of the legend item symbols (the part other than the title.text).

      +
    • +
    • + + maxheight + +
      Parent: layout.legend +
      + Type: number

      Sets the max height (in px) of the legend, or max height ratio (reference height " ratio) if less than one. Default value is: 0.5 for horizontal legends; 1 for vertical legends. The minimum allowed height is 30px. For a ratio of 0.5, the legend will take up to 50% of the reference height before displaying a scrollbar. The reference height is the full layout height except for vertically oriented legends with a `yref` of `"paper"`, where the reference height is the plot height.

      +
    • +
    • + + orientation + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"v"| "h" ) +
      Default: "v" +

      Sets the orientation of the legend.

      +
    • +
    • + + title + +
      Parent: layout.legend +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: layout.legend.title +
        Type: object containing one or more of the keys listed below. +

        Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%.

        +
          +
        • + + color + +
          Parent: layout.legend.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: layout.legend.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: layout.legend.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: layout.legend.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: layout.legend.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: layout.legend.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: layout.legend.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: layout.legend.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: layout.legend.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: layout.legend.title +
        + Type: + enumerated , one of ( +"top"| "left"| "top left"| "top center"| "top right" ) +

        Determines the location of legend's title with respect to the legend items. Defaulted to "top" with `orientation` is "h". Defaulted to "left" with `orientation` is "v". The "top left" options could be used to expand top center and top right are for horizontal alignment legend area in both x and y sides.

        +
      • +
      • + + text + +
        Parent: layout.legend.title +
        + Type: string

        Sets the title of the legend.

        +
      • +
      +
    • +
    • + + tracegroupgap + +
      Parent: layout.legend +
      + Type: number
      Default: 10 +

      Sets the amount of vertical space (in px) between legend groups.

      +
    • +
    • + + traceorder + +
      Parent: layout.legend +
      + Type: flaglist string. + + Any combination of "reversed", "grouped" joined with a "+" + OR "normal". + +
      Examples: "reversed", "grouped", "reversed+grouped", "normal" + +

      Determines the order at which the legend items are displayed. If "normal", the items are displayed top-to-bottom in the same order as the input data. If "reversed", the items are displayed in the opposite order as "normal". If "grouped", the items are displayed in groups (when a trace `legendgroup` is provided). if "grouped+reversed", the items are displayed in the opposite order as "grouped".

      +
    • +
    • + + uirevision + +
      Parent: layout.legend +
      + Type: number or categorical coordinate string +

      Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.

      +
    • +
    • + + valign + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +
      Default: "middle" +

      Sets the vertical alignment of the symbols with respect to their associated text.

      +
    • +
    • + + visible + +
      Parent: layout.legend +
      + Type: boolean
      Default: true +

      Determines whether or not this legend is visible.

      +
    • +
    • + + x + +
      Parent: layout.legend +
      + Type: number

      Sets the x position with respect to `xref` (in normalized coordinates) of the legend. When `xref` is "paper", defaults to "1.02" for vertical legends and defaults to "0" for horizontal legends. When `xref` is "container", defaults to "1" for vertical legends and defaults to "0" for horizontal legends. Must be between "0" and "1" if `xref` is "container". and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"auto"| "left"| "center"| "right" ) +
      Default: "left" +

      Sets the legend's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the legend. Value "auto" anchors legends to the right for `x` values greater than or equal to 2/3, anchors legends to the left for `x` values less than or equal to 1/3 and anchors legends with respect to their center otherwise.

      +
    • +
    • + + xref + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: layout.legend +
      + Type: number

      Sets the y position with respect to `yref` (in normalized coordinates) of the legend. When `yref` is "paper", defaults to "1" for vertical legends, defaults to "-0.1" for horizontal legends on graphs w/o range sliders and defaults to "1.1" for horizontal legends on graph with one or multiple range sliders. When `yref` is "container", defaults to "1". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"auto"| "top"| "middle"| "bottom" ) +

      Sets the legend's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the legend. Value "auto" anchors legends at their bottom for `y` values less than or equal to 1/3, anchors legends to at their top for `y` values greater than or equal to 2/3 and anchors legends with respect to their middle otherwise.

      +
    • +
    • + + yref + +
      Parent: layout.legend +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + map + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bearing + +
      Parent: layout.map +
      + Type: number

      Sets the bearing angle of the map in degrees counter-clockwise from North (map.bearing).

      +
    • +
    • + + bounds + +
      Parent: layout.map +
      Type: object containing one or more of the keys listed below. +
        +
      • + + east + +
        Parent: layout.map.bounds +
        + Type: number

        Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared.

        +
      • +
      • + + north + +
        Parent: layout.map.bounds +
        + Type: number

        Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared.

        +
      • +
      • + + south + +
        Parent: layout.map.bounds +
        + Type: number

        Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared.

        +
      • +
      • + + west + +
        Parent: layout.map.bounds +
        + Type: number

        Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared.

        +
      • +
      +
    • +
    • + + center + +
      Parent: layout.map +
      Type: object containing one or more of the keys listed below. +
        +
      • + + lat + +
        Parent: layout.map.center +
        + Type: number

        Sets the latitude of the center of the map (in degrees North).

        +
      • +
      • + + lon + +
        Parent: layout.map.center +
        + Type: number

        Sets the longitude of the center of the map (in degrees East).

        +
      • +
      +
    • +
    • + + domain + +
      Parent: layout.map +
      Type: object containing one or more of the keys listed below. +
        +
      • + + column + +
        Parent: layout.map.domain +
        + Type: integer

        If there is a layout grid, use the domain for this column in the grid for this map subplot .

        +
      • +
      • + + row + +
        Parent: layout.map.domain +
        + Type: integer

        If there is a layout grid, use the domain for this row in the grid for this map subplot .

        +
      • +
      • + + x + +
        Parent: layout.map.domain +
        +{inner}Type: {array} +
        Default: [0, 1] +

        Sets the horizontal domain of this map subplot (in plot fraction).

        +
      • +
      • + + y + +
        Parent: layout.map.domain +
        +{inner}Type: {array} +
        Default: [0, 1] +

        Sets the vertical domain of this map subplot (in plot fraction).

        +
      • +
      +
    • +
    • + + layers + +
      Parent: layout.map +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + below + +
        Parent: layout.map.layers +
        + Type: string

        Determines if the layer will be inserted before the layer with the specified ID. If omitted or set to '', the layer will be inserted above every existing layer.

        +
      • +
      • + + circle + +
        Parent: layout.map.layers +
        Type: object containing one or more of the keys listed below. +
          +
        • + + radius + +
          Parent: layout.map.layers.circle +
          + Type: number
          Default: 15 +

          Sets the circle radius (map.layer.paint.circle-radius). Has an effect only when `type` is set to "circle".

          +
        • +
        +
      • +
      • + + color + +
        Parent: layout.map.layers +
        + Type: color
        Default: "#444" +

        Sets the primary layer color. If `type` is "circle", color corresponds to the circle color (map.layer.paint.circle-color) If `type` is "line", color corresponds to the line color (map.layer.paint.line-color) If `type` is "fill", color corresponds to the fill color (map.layer.paint.fill-color) If `type` is "symbol", color corresponds to the icon color (map.layer.paint.icon-color)

        +
      • +
      • + + coordinates + +
        Parent: layout.map.layers +
        + Type: number or categorical coordinate string +

        Sets the coordinates array contains [longitude, latitude] pairs for the image corners listed in clockwise order: top left, top right, bottom right, bottom left. Only has an effect for "image" `sourcetype`.

        +
      • +
      • + + fill + +
        Parent: layout.map.layers +
        Type: object containing one or more of the keys listed below. +
          +
        • + + outlinecolor + +
          Parent: layout.map.layers.fill +
          + Type: color
          Default: "#444" +

          Sets the fill outline color (map.layer.paint.fill-outline-color). Has an effect only when `type` is set to "fill".

          +
        • +
        +
      • +
      • + + line + +
        Parent: layout.map.layers +
        Type: object containing one or more of the keys listed below. +
          +
        • + + dash + +
          Parent: layout.map.layers.line +
          + Type: data_array +

          Sets the length of dashes and gaps (map.layer.paint.line-dasharray). Has an effect only when `type` is set to "line".

          +
        • +
        • + + width + +
          Parent: layout.map.layers.line +
          + Type: number
          Default: 2 +

          Sets the line width (map.layer.paint.line-width). Has an effect only when `type` is set to "line".

          +
        • +
        +
      • +
      • + + maxzoom + +
        Parent: layout.map.layers +
        + Type: number less than or equal to 24 +
        Default: 24 +

        Sets the maximum zoom level (map.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.

        +
      • +
      • + + minzoom + +
        Parent: layout.map.layers +
        + Type: number less than or equal to 24 +

        Sets the minimum zoom level (map.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.

        +
      • +
      • + + name + +
        Parent: layout.map.layers +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + opacity + +
        Parent: layout.map.layers +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the opacity of the layer. If `type` is "circle", opacity corresponds to the circle opacity (map.layer.paint.circle-opacity) If `type` is "line", opacity corresponds to the line opacity (map.layer.paint.line-opacity) If `type` is "fill", opacity corresponds to the fill opacity (map.layer.paint.fill-opacity) If `type` is "symbol", opacity corresponds to the icon/text opacity (map.layer.paint.text-opacity)

        +
      • +
      • + + source + +
        Parent: layout.map.layers +
        + Type: number or categorical coordinate string +

        Sets the source data for this layer (map.layer.source). When `sourcetype` is set to "geojson", `source` can be a URL to a GeoJSON or a GeoJSON object. When `sourcetype` is set to "vector" or "raster", `source` can be a URL or an array of tile URLs. When `sourcetype` is set to "image", `source` can be a URL to an image.

        +
      • +
      • + + sourceattribution + +
        Parent: layout.map.layers +
        + Type: string

        Sets the attribution for this source.

        +
      • +
      • + + sourcelayer + +
        Parent: layout.map.layers +
        + Type: string

        Specifies the layer to use from a vector tile source (map.layer.source-layer). Required for "vector" source type that supports multiple layers.

        +
      • +
      • + + sourcetype + +
        Parent: layout.map.layers +
        + Type: + enumerated , one of ( +"geojson"| "vector"| "raster"| "image" ) +
        Default: "geojson" +

        Sets the source type for this layer, that is the type of the layer data.

        +
      • +
      • + + symbol + +
        Parent: layout.map.layers +
        Type: object containing one or more of the keys listed below. +
          +
        • + + icon + +
          Parent: layout.map.layers.symbol +
          + Type: string
          Default: "marker" +

          Sets the symbol icon image (map.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/

          +
        • +
        • + + iconsize + +
          Parent: layout.map.layers.symbol +
          + Type: number
          Default: 10 +

          Sets the symbol icon size (map.layer.layout.icon-size). Has an effect only when `type` is set to "symbol".

          +
        • +
        • + + placement + +
          Parent: layout.map.layers.symbol +
          + Type: + enumerated , one of ( +"point"| "line"| "line-center" ) +
          Default: "point" +

          Sets the symbol and/or text placement (map.layer.layout.symbol-placement). If `placement` is "point", the label is placed where the geometry is located If `placement` is "line", the label is placed along the line of the geometry If `placement` is "line-center", the label is placed on the center of the geometry

          +
        • +
        • + + text + +
          Parent: layout.map.layers.symbol +
          + Type: string

          Sets the symbol text (map.layer.layout.text-field).

          +
        • +
        • + + textfont + +
          Parent: layout.map.layers.symbol +
          Type: object containing one or more of the keys listed below. +

          Sets the icon text font (color=map.layer.paint.text-color, size=map.layer.layout.text-size). Has an effect only when `type` is set to "symbol".

          +
            +
          • + + color + +
            Parent: layout.map.layers.symbol.textfont +
            + Type: color
          • +
          • + + family + +
            Parent: layout.map.layers.symbol.textfont +
            + Type: string
            Default: "Open Sans Regular, Arial Unicode MS Regular" +

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + size + +
            Parent: layout.map.layers.symbol.textfont +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: layout.map.layers.symbol.textfont +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + weight + +
            Parent: layout.map.layers.symbol.textfont +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + textposition + +
          Parent: layout.map.layers.symbol +
          + Type: + enumerated , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
          Default: "middle center" +

          Sets the positions of the `text` elements with respects to the (x,y) coordinates.

          +
        • +
        +
      • +
      • + + templateitemname + +
        Parent: layout.map.layers +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + type + +
        Parent: layout.map.layers +
        + Type: + enumerated , one of ( +"circle"| "line"| "fill"| "symbol"| "raster" ) +
        Default: "circle" +

        Sets the layer type, that is the how the layer data set in `source` will be rendered With `sourcetype` set to "geojson", the following values are allowed: "circle", "line", "fill" and "symbol". but note that "line" and "fill" are not compatible with Point GeoJSON geometries. With `sourcetype` set to "vector", the following values are allowed: "circle", "line", "fill" and "symbol". With `sourcetype` set to "raster" or "image", only the "raster" value is allowed.

        +
      • +
      • + + visible + +
        Parent: layout.map.layers +
        + Type: boolean
        Default: true +

        Determines whether this layer is displayed

        +
      • +
      +
    • +
    • + + pitch + +
      Parent: layout.map +
      + Type: number

      Sets the pitch angle of the map (in degrees, where "0" means perpendicular to the surface of the map) (map.pitch).

      +
    • +
    • + + style + +
      Parent: layout.map +
      + Type: number or categorical coordinate string +
      Default: basic +

      Defines the map layers that are rendered by default below the trace layers defined in `data`, which are themselves by default rendered below the layers defined in `layout.map.layers`. These layers can be defined either explicitly as a Map Style object which can contain multiple layer definitions that load data from any public or private Tile Map Service (TMS or XYZ) or Web Map Service (WMS) or implicitly by using one of the built-in style objects which use WMSes or by using a custom style URL Map Style objects are of the form described in the MapLibre GL JS documentation available at https://maplibre.org/maplibre-style-spec/ The built-in plotly.js styles objects are: basic, carto-darkmatter, carto-darkmatter-nolabels, carto-positron, carto-positron-nolabels, carto-voyager, carto-voyager-nolabels, dark, light, open-street-map, outdoors, satellite, satellite-streets, streets, white-bg.

      +
    • +
    • + + uirevision + +
      Parent: layout.map +
      + Type: number or categorical coordinate string +

      Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.

      +
    • +
    • + + zoom + +
      Parent: layout.map +
      + Type: number
      Default: 1 +

      Sets the zoom level of the map (map.zoom).

      +
    • +
    +
  • +
  • + + margin + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autoexpand + +
      Parent: layout.margin +
      + Type: boolean
      Default: true +

      Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.

      +
    • +
    • + + b + +
      Parent: layout.margin +
      + Type: number
      Default: 80 +

      Sets the bottom margin (in px).

      +
    • +
    • + + l + +
      Parent: layout.margin +
      + Type: number
      Default: 80 +

      Sets the left margin (in px).

      +
    • +
    • + + pad + +
      Parent: layout.margin +
      + Type: number

      Sets the amount of padding (in px) between the plotting area and the axis lines

      +
    • +
    • + + r + +
      Parent: layout.margin +
      + Type: number
      Default: 80 +

      Sets the right margin (in px).

      +
    • +
    • + + t + +
      Parent: layout.margin +
      + Type: number
      Default: 100 +

      Sets the top margin (in px).

      +
    • +
    +
  • +
  • + + meta + +
    Parent: layout +
    + Type: number or categorical coordinate string +

    Assigns extra meta information that can be used in various `text` attributes. Attributes such as the graph, axis and colorbar `title.text`, annotation `text` `trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text all support `meta`. One can access `meta` fields using template strings: `%{meta[i]}` where `i` is the index of the `meta` item in question. `meta` can also be an object for example `{key: value}` which can be accessed %{meta[key]}.

    +
  • +
  • + + minreducedheight + +
    Parent: layout +
    + Type: number greater than or equal to 2 +
    Default: 64 +

    Minimum height of the plot with margin.automargin applied (in px)

    +
  • +
  • + + minreducedwidth + +
    Parent: layout +
    + Type: number greater than or equal to 2 +
    Default: 64 +

    Minimum width of the plot with margin.automargin applied (in px)

    +
  • +
  • + + modebar + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + activecolor + +
      Parent: layout.modebar +
      + Type: color

      Sets the color of the active or hovered on icons in the modebar.

      +
    • +
    • + + add + +
      Parent: layout.modebar +
      + Type: string or array of strings

      Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include "v1hovermode", "hoverclosest", "hovercompare", "togglehover", "togglespikelines", "drawline", "drawopenpath", "drawclosedpath", "drawcircle", "drawrect", "eraseshape".

      +
    • +
    • + + bgcolor + +
      Parent: layout.modebar +
      + Type: color

      Sets the background color of the modebar.

      +
    • +
    • + + color + +
      Parent: layout.modebar +
      + Type: color

      Sets the color of the icons in the modebar.

      +
    • +
    • + + orientation + +
      Parent: layout.modebar +
      + Type: + enumerated , one of ( +"v"| "h" ) +
      Default: "h" +

      Sets the orientation of the modebar.

      +
    • +
    • + + remove + +
      Parent: layout.modebar +
      + Type: string or array of strings

      Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include "autoScale2d", "autoscale", "editInChartStudio", "editinchartstudio", "hoverCompareCartesian", "hovercompare", "lasso", "lasso2d", "orbitRotation", "orbitrotation", "pan", "pan2d", "pan3d", "reset", "resetCameraDefault3d", "resetCameraLastSave3d", "resetGeo", "resetSankeyGroup", "resetScale2d", "resetViewMap", "resetViewMapbox", "resetViews", "resetcameradefault", "resetcameralastsave", "resetsankeygroup", "resetscale", "resetview", "resetviews", "select", "select2d", "sendDataToCloud", "senddatatocloud", "tableRotation", "tablerotation", "toImage", "toggleHover", "toggleSpikelines", "togglehover", "togglespikelines", "toimage", "zoom", "zoom2d", "zoom3d", "zoomIn2d", "zoomInGeo", "zoomInMap", "zoomInMapbox", "zoomOut2d", "zoomOutGeo", "zoomOutMap", "zoomOutMapbox", "zoomin", "zoomout".

      +
    • +
    • + + uirevision + +
      Parent: layout.modebar +
      + Type: number or categorical coordinate string +

      Controls persistence of user-driven changes related to the modebar, including `hovermode`, `dragmode`, and `showspikes` at both the root level and inside subplots. Defaults to `layout.uirevision`.

      +
    • +
    +
  • +
  • + + newselection + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: layout.newselection +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: layout.newselection.line +
        + Type: color

        Sets the line color. By default uses either dark grey or white to increase contrast with background color.

        +
      • +
      • + + dash + +
        Parent: layout.newselection.line +
        + Type: string
        Default: "dot" +

        Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

        +
      • +
      • + + width + +
        Parent: layout.newselection.line +
        + Type: number greater than or equal to 1 +
        Default: 1 +

        Sets the line width (in px).

        +
      • +
      +
    • +
    • + + mode + +
      Parent: layout.newselection +
      + Type: + enumerated , one of ( +"immediate"| "gradual" ) +
      Default: "immediate" +

      Describes how a new selection is created. If `immediate`, a new selection is created after first mouse up. If `gradual`, a new selection is not created after first mouse. By adding to and subtracting from the initial selection, this option allows declaring extra outlines of the selection.

      +
    • +
    +
  • +
  • + + newshape + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + drawdirection + +
      Parent: layout.newshape +
      + Type: + enumerated , one of ( +"ortho"| "horizontal"| "vertical"| "diagonal" ) +
      Default: "diagonal" +

      When `dragmode` is set to "drawrect", "drawline" or "drawcircle" this limits the drag to be horizontal, vertical or diagonal. Using "diagonal" there is no limit e.g. in drawing lines in any direction. "ortho" limits the draw to be either horizontal or vertical. "horizontal" allows horizontal extend. "vertical" allows vertical extend.

      +
    • +
    • + + fillcolor + +
      Parent: layout.newshape +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color filling new shapes' interior. Please note that if using a fillcolor with alpha greater than half, drag inside the active shape starts moving the shape underneath, otherwise a new shape could be started over.

      +
    • +
    • + + fillrule + +
      Parent: layout.newshape +
      + Type: + enumerated , one of ( +"evenodd"| "nonzero" ) +
      Default: "evenodd" +

      Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule

      +
    • +
    • + + label + +
      Parent: layout.newshape +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: layout.newshape.label +
        Type: object containing one or more of the keys listed below. +

        Sets the new shape label text font.

        +
          +
        • + + color + +
          Parent: layout.newshape.label.font +
          + Type: color
        • +
        • + + family + +
          Parent: layout.newshape.label.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: layout.newshape.label.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: layout.newshape.label.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: layout.newshape.label.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: layout.newshape.label.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: layout.newshape.label.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: layout.newshape.label.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: layout.newshape.label.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + padding + +
        Parent: layout.newshape.label +
        + Type: number
        Default: 3 +

        Sets padding (in px) between edge of label and edge of new shape.

        +
      • +
      • + + text + +
        Parent: layout.newshape.label +
        + Type: string

        Sets the text to display with the new shape. It is also used for legend item if `name` is not provided.

        +
      • +
      • + + textangle + +
        Parent: layout.newshape.label +
        + Type: angle +
        Default: "auto" +

        Sets the angle at which the label text is drawn with respect to the horizontal. For lines, angle "auto" is the same angle as the line. For all other shapes, angle "auto" is horizontal.

        +
      • +
      • + + textposition + +
        Parent: layout.newshape.label +
        + Type: + enumerated , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right"| "start"| "middle"| "end" ) +

        Sets the position of the label text relative to the new shape. Supported values for rectangles, circles and paths are "top left", "top center", "top right", "middle left", "middle center", "middle right", "bottom left", "bottom center", and "bottom right". Supported values for lines are "start", "middle", and "end". Default: "middle center" for rectangles, circles, and paths; "middle" for lines.

        +
      • +
      • + + texttemplate + +
        Parent: layout.newshape.label +
        + Type: string

        Template string used for rendering the new shape's label. Note that this will override `text`. Variables are inserted using %{variable}, for example "x0: %{x0}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{x0:$.2f}". See https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{x0|%m %b %Y}". See https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. A single multiplication or division operation may be applied to numeric variables, and combined with d3 number formatting, for example "Length in cm: %{x0"2.54}", "%{slope"60:.1f} meters per second." For log axes, variable values are given in log units. For date axes, x/y coordinate variables and center variables use datetimes, while all other variable values use values in ms. Finally, the template string has access to variables `x0`, `x1`, `y0`, `y1`, `slope`, `dx`, `dy`, `width`, `height`, `length`, `xcenter` and `ycenter`.

        +
      • +
      • + + xanchor + +
        Parent: layout.newshape.label +
        + Type: + enumerated , one of ( +"auto"| "left"| "center"| "right" ) +
        Default: "auto" +

        Sets the label's horizontal position anchor This anchor binds the specified `textposition` to the "left", "center" or "right" of the label text. For example, if `textposition` is set to "top right" and `xanchor` to "right" then the right-most portion of the label text lines up with the right-most edge of the new shape.

        +
      • +
      • + + yanchor + +
        Parent: layout.newshape.label +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets the label's vertical position anchor This anchor binds the specified `textposition` to the "top", "middle" or "bottom" of the label text. For example, if `textposition` is set to "top right" and `yanchor` to "top" then the top-most portion of the label text lines up with the top-most edge of the new shape.

        +
      • +
      +
    • +
    • + + layer + +
      Parent: layout.newshape +
      + Type: + enumerated , one of ( +"below"| "above"| "between" ) +
      Default: "above" +

      Specifies whether new shapes are drawn below gridlines ("below"), between gridlines and traces ("between") or above traces ("above").

      +
    • +
    • + + legend + +
      Parent: layout.newshape +
      + Type: subplotid +
      Default: legend +

      Sets the reference to a legend to show new shape in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

      +
    • +
    • + + legendgroup + +
      Parent: layout.newshape +
      + Type: string

      Sets the legend group for new shape. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

      +
    • +
    • + + legendgrouptitle + +
      Parent: layout.newshape +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: layout.newshape.legendgrouptitle +
        Type: object containing one or more of the keys listed below. +

        Sets this legend group's title font.

        +
          +
        • + + color + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: color
        • +
        • + + family + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: layout.newshape.legendgrouptitle.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + text + +
        Parent: layout.newshape.legendgrouptitle +
        + Type: string

        Sets the title of the legend group.

        +
      • +
      +
    • +
    • + + legendrank + +
      Parent: layout.newshape +
      + Type: number
      Default: 1000 +

      Sets the legend rank for new shape. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items.

      +
    • +
    • + + legendwidth + +
      Parent: layout.newshape +
      + Type: number

      Sets the width (in px or fraction) of the legend for new shape.

      +
    • +
    • + + line + +
      Parent: layout.newshape +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: layout.newshape.line +
        + Type: color

        Sets the line color. By default uses either dark grey or white to increase contrast with background color.

        +
      • +
      • + + dash + +
        Parent: layout.newshape.line +
        + Type: string
        Default: "solid" +

        Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

        +
      • +
      • + + width + +
        Parent: layout.newshape.line +
        + Type: number
        Default: 4 +

        Sets the line width (in px).

        +
      • +
      +
    • +
    • + + name + +
      Parent: layout.newshape +
      + Type: string

      Sets new shape name. The name appears as the legend item.

      +
    • +
    • + + opacity + +
      Parent: layout.newshape +
      + Type: number less than or equal to 1 +
      Default: 1 +

      Sets the opacity of new shapes.

      +
    • +
    • + + showlegend + +
      Parent: layout.newshape +
      + Type: boolean

      Determines whether or not new shape is shown in the legend.

      +
    • +
    • + + visible + +
      Parent: layout.newshape +
      + Type: + enumerated , one of ( +true| false| "legendonly" ) +
      Default: "True" +

      Determines whether or not new shape is visible. If "legendonly", the shape is not drawn, but can appear as a legend item (provided that the legend itself is visible).

      +
    • +
    +
  • +
  • + + paper_bgcolor + +
    Parent: layout +
    + Type: color
    Default: "#fff" +

    Sets the background color of the paper where the graph is drawn.

    +
  • +
  • + + plot_bgcolor + +
    Parent: layout +
    + Type: color
    Default: "#fff" +

    Sets the background color of the plotting area in-between x and y axes.

    +
  • +
  • + + selectdirection + +
    Parent: layout +
    + Type: + enumerated , one of ( +"h"| "v"| "d"| "any" ) +
    Default: "any" +

    When `dragmode` is set to "select", this limits the selection of the drag to horizontal, vertical or diagonal. "h" only allows horizontal selection, "v" only vertical, "d" only diagonal and "any" sets no limit.

    +
  • +
  • + + selectionrevision + +
    Parent: layout +
    + Type: number or categorical coordinate string +

    Controls persistence of user-driven changes in selected points from all traces.

    +
  • +
  • + + selections + +
    Parent: layout +
    Type: array of object where + each object has one or more of the keys listed below. +
      +
    • + + line + +
      Parent: layout.selections +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: layout.selections.line +
        + Type: color

        Sets the line color.

        +
      • +
      • + + dash + +
        Parent: layout.selections.line +
        + Type: string
        Default: "dot" +

        Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

        +
      • +
      • + + width + +
        Parent: layout.selections.line +
        + Type: number greater than or equal to 1 +
        Default: 1 +

        Sets the line width (in px).

        +
      • +
      +
    • +
    • + + name + +
      Parent: layout.selections +
      + Type: string

      When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

      +
    • +
    • + + opacity + +
      Parent: layout.selections +
      + Type: number less than or equal to 1 +
      Default: 0.7 +

      Sets the opacity of the selection.

      +
    • +
    • + + path + +
      Parent: layout.selections +
      + Type: string

      For `type` "path" - a valid SVG path similar to `shapes.path` in data coordinates. Allowed segments are: M, L and Z.

      +
    • +
    • + + templateitemname + +
      Parent: layout.selections +
      + Type: string

      Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      +
    • +
    • + + type + +
      Parent: layout.selections +
      + Type: + enumerated , one of ( +"rect"| "path" ) +

      Specifies the selection type to be drawn. If "rect", a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`). If "path", draw a custom SVG path using `path`.

      +
    • +
    • + + x0 + +
      Parent: layout.selections +
      + Type: number or categorical coordinate string +

      Sets the selection's starting x position.

      +
    • +
    • + + x1 + +
      Parent: layout.selections +
      + Type: number or categorical coordinate string +

      Sets the selection's end x position.

      +
    • +
    • + + xref + +
      Parent: layout.selections +
      + Type: + enumerated , one of ( +"paper"| "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" ) +

      Sets the selection's x coordinate axis. If set to a x axis id (e.g. "x" or "x2"), the `x` position refers to a x coordinate. If set to "paper", the `x` position refers to the distance from the left of the plotting area in normalized coordinates where "0" ("1") corresponds to the left (right). If set to a x axis ID followed by "domain" (separated by a space), the position behaves like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., "x2 domain" refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.

      +
    • +
    • + + y0 + +
      Parent: layout.selections +
      + Type: number or categorical coordinate string +

      Sets the selection's starting y position.

      +
    • +
    • + + y1 + +
      Parent: layout.selections +
      + Type: number or categorical coordinate string +

      Sets the selection's end y position.

      +
    • +
    • + + yref + +
      Parent: layout.selections +
      + Type: + enumerated , one of ( +"paper"| "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" ) +

      Sets the selection's x coordinate axis. If set to a y axis id (e.g. "y" or "y2"), the `y` position refers to a y coordinate. If set to "paper", the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where "0" ("1") corresponds to the bottom (top). If set to a y axis ID followed by "domain" (separated by a space), the position behaves like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., "y2 domain" refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.

      +
    • +
    +
  • +
  • + + separators + +
    Parent: layout +
    + Type: string

    Sets the decimal and thousand separators. For example, ". " puts a '.' before decimals and a space between thousands. In English locales, dflt is ".," but other locales may alter this default.

    +
  • +
  • + + showlegend + +
    Parent: layout +
    + Type: boolean

    Determines whether or not a legend is drawn. Default is `true` if there is a trace to show and any of these: a) Two or more traces would by default be shown in the legend. b) One pie trace is shown in the legend. c) One trace is explicitly given with `showlegend: true`.

    +
  • +
  • + + spikedistance + +
    Parent: layout +
    + Type: integer greater than or equal to -1 +
    Default: -1 +

    Sets the default distance (in pixels) to look for data to draw spikelines to (-1 means no cutoff, 0 means no looking for data). As with hoverdistance, distance does not apply to area-like objects. In addition, some objects can be hovered on but will not generate spikelines, such as scatter fills.

    +
  • +
  • + + template + +
    Parent: layout +
    + Type: number or categorical coordinate string +

    Default attributes to be applied to the plot. Templates can be created from existing plots using `Plotly.makeTemplate`, or created manually. They should be objects with format: `{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}` `layoutTemplate` and `traceTemplate` are objects matching the attribute structure of `layout` and a data trace. Trace templates are applied cyclically to traces of each type. Container arrays (eg `annotations`) have special handling: An object ending in `defaults` (eg `annotationdefaults`) is applied to each array item. But if an item has a `templateitemname` key we look in the template array for an item with matching `name` and apply that instead. If no matching `name` is found we mark the item invisible. Any named template item not referenced is appended to the end of the array, so you can use this for a watermark annotation or a logo image, for example. To omit one of these items on the plot, make an item with matching `templateitemname` and `visible: false`.

    +
  • +
  • + + title + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + automargin + +
      Parent: layout.title +
      + Type: boolean

      Determines whether the title can automatically push the figure margins. If `yref='paper'` then the margin will expand to ensure that the title doesn’t overlap with the edges of the container. If `yref='container'` then the margins will ensure that the title doesn’t overlap with the plot area, tick labels, and axis titles. If `automargin=true` and the margins need to be expanded, then y will be set to a default 1 and yanchor will be set to an appropriate default to ensure that minimal margin space is needed. Note that when `yref='paper'`, only 1 or 0 are allowed y values. Invalid values will be reset to the default 1.

      +
    • +
    • + + font + +
      Parent: layout.title +
      Type: object containing one or more of the keys listed below. +

      Sets the title font.

      +
        +
      • + + color + +
        Parent: layout.title.font +
        + Type: color
      • +
      • + + family + +
        Parent: layout.title.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: layout.title.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: layout.title.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: layout.title.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: layout.title.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: layout.title.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: layout.title.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: layout.title.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + pad + +
      Parent: layout.title +
      Type: object containing one or more of the keys listed below. +

      Sets the padding of the title. Each padding value only applies when the corresponding `xanchor`/`yanchor` value is set accordingly. E.g. for left padding to take effect, `xanchor` must be set to "left". The same rule applies if `xanchor`/`yanchor` is determined automatically. Padding is muted if the respective anchor value is "middle"/"center".

      +
        +
      • + + b + +
        Parent: layout.title.pad +
        + Type: number

        The amount of padding (in px) along the bottom of the component.

        +
      • +
      • + + l + +
        Parent: layout.title.pad +
        + Type: number

        The amount of padding (in px) on the left side of the component.

        +
      • +
      • + + r + +
        Parent: layout.title.pad +
        + Type: number

        The amount of padding (in px) on the right side of the component.

        +
      • +
      • + + t + +
        Parent: layout.title.pad +
        + Type: number

        The amount of padding (in px) along the top of the component.

        +
      • +
      +
    • +
    • + + subtitle + +
      Parent: layout.title +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: layout.title.subtitle +
        Type: object containing one or more of the keys listed below. +

        Sets the subtitle font.

        +
          +
        • + + color + +
          Parent: layout.title.subtitle.font +
          + Type: color
        • +
        • + + family + +
          Parent: layout.title.subtitle.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: layout.title.subtitle.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: layout.title.subtitle.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: layout.title.subtitle.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: layout.title.subtitle.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: layout.title.subtitle.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: layout.title.subtitle.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: layout.title.subtitle.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + text + +
        Parent: layout.title.subtitle +
        + Type: string

        Sets the plot's subtitle.

        +
      • +
      +
    • +
    • + + text + +
      Parent: layout.title +
      + Type: string

      Sets the plot's title.

      +
    • +
    • + + x + +
      Parent: layout.title +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Sets the x position with respect to `xref` in normalized coordinates from "0" (left) to "1" (right).

      +
    • +
    • + + xanchor + +
      Parent: layout.title +
      + Type: + enumerated , one of ( +"auto"| "left"| "center"| "right" ) +
      Default: "auto" +

      Sets the title's horizontal alignment with respect to its x position. "left" means that the title starts at x, "right" means that the title ends at x and "center" means that the title's center is at x. "auto" divides `xref` by three and calculates the `xanchor` value automatically based on the value of `x`.

      +
    • +
    • + + xref + +
      Parent: layout.title +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "container" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: layout.title +
      + Type: number less than or equal to 1 +
      Default: "auto" +

      Sets the y position with respect to `yref` in normalized coordinates from "0" (bottom) to "1" (top). "auto" places the baseline of the title onto the vertical center of the top margin.

      +
    • +
    • + + yanchor + +
      Parent: layout.title +
      + Type: + enumerated , one of ( +"auto"| "top"| "middle"| "bottom" ) +
      Default: "auto" +

      Sets the title's vertical alignment with respect to its y position. "top" means that the title's cap line is at y, "bottom" means that the title's baseline is at y and "middle" means that the title's midline is at y. "auto" divides `yref` by three and calculates the `yanchor` value automatically based on the value of `y`.

      +
    • +
    • + + yref + +
      Parent: layout.title +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "container" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + transition + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +

    Sets transition options used during Plotly.react updates.

    +
      +
    • + + duration + +
      Parent: layout.transition +
      + Type: number
      Default: 500 +

      The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.

      +
    • +
    • + + easing + +
      Parent: layout.transition +
      + Type: + enumerated , one of ( +"linear"| "quad"| "cubic"| "sin"| "exp"| "circle"| "elastic"| "back"| "bounce"| "linear-in"| "quad-in"| "cubic-in"| "sin-in"| "exp-in"| "circle-in"| "elastic-in"| "back-in"| "bounce-in"| "linear-out"| "quad-out"| "cubic-out"| "sin-out"| "exp-out"| "circle-out"| "elastic-out"| "back-out"| "bounce-out"| "linear-in-out"| "quad-in-out"| "cubic-in-out"| "sin-in-out"| "exp-in-out"| "circle-in-out"| "elastic-in-out"| "back-in-out"| "bounce-in-out" ) +
      Default: "cubic-in-out" +

      The easing function used for the transition

      +
    • +
    • + + ordering + +
      Parent: layout.transition +
      + Type: + enumerated , one of ( +"layout first"| "traces first" ) +
      Default: "layout first" +

      Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.

      +
    • +
    +
  • +
  • + + uirevision + +
    Parent: layout +
    + Type: number or categorical coordinate string +

    Used to allow user interactions with the plot to persist after `Plotly.react` calls that are unaware of these interactions. If `uirevision` is omitted, or if it is given and it changed from the previous `Plotly.react` call, the exact new figure is used. If `uirevision` is truthy and did NOT change, any attribute that has been affected by user interactions and did not receive a different value in the new figure will keep the interaction value. `layout.uirevision` attribute serves as the default for `uirevision` attributes in various sub-containers. For finer control you can set these sub-attributes directly. For example, if your app separately controls the data on the x and y axes you might set `xaxis.uirevision="time"` and `yaxis.uirevision="cost"`. Then if only the y data is changed, you can update `yaxis.uirevision="quantity"` and the y axis range will reset but the x axis range will retain any user-driven zoom.

    +
  • +
  • + + uniformtext + +
    Parent: layout +
    Type: object containing one or more of the keys listed below. +
      +
    • + + minsize + +
      Parent: layout.uniformtext +
      + Type: number

      Sets the minimum text size between traces of the same type.

      +
    • +
    • + + mode + +
      Parent: layout.uniformtext +
      + Type: + enumerated , one of ( +false| "hide"| "show" ) +

      Determines how the font size for various text elements are uniformed between each trace type. If the computed text sizes were smaller than the minimum size defined by `uniformtext.minsize` using "hide" option hides the text; and using "show" option shows the text without further downscaling. Please note that if the size defined by `minsize` is greater than the font size defined by trace, then the `minsize` is used.

      +
    • +
    +
  • +
  • + + width + +
    Parent: layout +
    + Type: number greater than or equal to 10 +
    Default: 700 +

    Sets the plot's width (in px).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/mesh3d/index.html b/docs/reference/mesh3d/index.html new file mode 100644 index 00000000000..b3f553bd7cb --- /dev/null +++ b/docs/reference/mesh3d/index.html @@ -0,0 +1,6155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + mesh3d - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

mesh3d

+
+ A mesh3d trace is an object with the key "type" equal to "mesh3d" + (i.e. {"type": "mesh3d"}) and any of the keys listed below. +

Draws sets of triangles with coordinates given by three 1-dimensional arrays in `x`, `y`, `z` and (1) a sets of `i`, `j`, `k` indices (2) Delaunay triangulation or (3) the Alpha-shape algorithm or (4) the Convex-hull algorithm

+
+
    +
  • + + alphahull + +
    Parent: data[type=mesh3d] +
    + Type: number
    Default: -1 +

    Determines how the mesh surface triangles are derived from the set of vertices (points) represented by the `x`, `y` and `z` arrays, if the `i`, `j`, `k` arrays are not supplied. For general use of `mesh3d` it is preferred that `i`, `j`, `k` are supplied. If "-1", Delaunay triangulation is used, which is mainly suitable if the mesh is a single, more or less layer surface that is perpendicular to `delaunayaxis`. In case the `delaunayaxis` intersects the mesh surface at more than one point it will result triangles that are very long in the dimension of `delaunayaxis`. If ">0", the alpha-shape algorithm is used. In this case, the positive `alphahull` value signals the use of the alpha-shape algorithm, _and_ its value acts as the parameter for the mesh fitting. If "0", the convex-hull algorithm is used. It is suitable for convex bodies or if the intention is to enclose the `x`, `y` and `z` point set into a convex hull.

    +
  • +
  • + + autocolorscale + +
    Parent: data[type=mesh3d] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + cauto + +
    Parent: data[type=mesh3d] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here `intensity`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    +
  • +
  • + + cmax + +
    Parent: data[type=mesh3d] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as `intensity` and if set, `cmin` must be set as well.

    +
  • +
  • + + cmid + +
    Parent: data[type=mesh3d] +
    + Type: number

    Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `intensity`. Has no effect when `cauto` is `false`.

    +
  • +
  • + + cmin + +
    Parent: data[type=mesh3d] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as `intensity` and if set, `cmax` must be set as well.

    +
  • +
  • + + color + +
    Parent: data[type=mesh3d] +
    + Type: color

    Sets the color of the whole mesh

    +
  • +
  • + + coloraxis + +
    Parent: data[type=mesh3d] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=mesh3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=mesh3d].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=mesh3d].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=mesh3d].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=mesh3d].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=mesh3d].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=mesh3d].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=mesh3d].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=mesh3d].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=mesh3d].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=mesh3d].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=mesh3d].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=mesh3d].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=mesh3d].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=mesh3d].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=mesh3d].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=mesh3d].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=mesh3d].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=mesh3d].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=mesh3d].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=mesh3d].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=mesh3d].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=mesh3d].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=mesh3d].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=mesh3d].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=mesh3d].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=mesh3d].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=mesh3d].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=mesh3d].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=mesh3d].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=mesh3d] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + contour + +
    Parent: data[type=mesh3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=mesh3d].contour +
      + Type: color
      Default: "#444" +

      Sets the color of the contour lines.

      +
    • +
    • + + show + +
      Parent: data[type=mesh3d].contour +
      + Type: boolean

      Sets whether or not dynamic contours are shown on hover

      +
    • +
    • + + width + +
      Parent: data[type=mesh3d].contour +
      + Type: number between or equal to 1 and 16 +
      Default: 2 +

      Sets the width of the contour lines.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + delaunayaxis + +
    Parent: data[type=mesh3d] +
    + Type: + enumerated , one of ( +"x"| "y"| "z" ) +
    Default: "z" +

    Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay triangulation. It has an effect if `i`, `j`, `k` are not provided and `alphahull` is set to indicate Delaunay triangulation.

    +
  • +
  • + + facecolor + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Sets the color of each face Overrides "color" and "vertexcolor".

    +
  • +
  • + + flatshading + +
    Parent: data[type=mesh3d] +
    + Type: boolean

    Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=mesh3d] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=mesh3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=mesh3d].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=mesh3d].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=mesh3d].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=mesh3d].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=mesh3d].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=mesh3d].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=mesh3d] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=mesh3d] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + i + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the "first" vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `i[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `i` represents a point in space, which is the first vertex of a triangle.

    +
  • +
  • + + ids + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + intensity + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.

    +
  • +
  • + + intensitymode + +
    Parent: data[type=mesh3d] +
    + Type: + enumerated , one of ( +"vertex"| "cell" ) +
    Default: "vertex" +

    Determines the source of `intensity` values.

    +
  • +
  • + + j + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the "second" vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle.

    +
  • +
  • + + k + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the "third" vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `k[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle.

    +
  • +
  • + + legend + +
    Parent: data[type=mesh3d] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=mesh3d] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=mesh3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=mesh3d].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=mesh3d].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=mesh3d].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=mesh3d] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=mesh3d] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lighting + +
    Parent: data[type=mesh3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + ambient + +
      Parent: data[type=mesh3d].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Ambient light increases overall color visibility but can wash out the image.

      +
    • +
    • + + diffuse + +
      Parent: data[type=mesh3d].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Represents the extent that incident rays are reflected in a range of angles.

      +
    • +
    • + + facenormalsepsilon + +
      Parent: data[type=mesh3d].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-06 +

      Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    • + + fresnel + +
      Parent: data[type=mesh3d].lighting +
      + Type: number less than or equal to 5 +
      Default: 0.2 +

      Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      +
    • +
    • + + roughness + +
      Parent: data[type=mesh3d].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      +
    • +
    • + + specular + +
      Parent: data[type=mesh3d].lighting +
      + Type: number less than or equal to 2 +
      Default: 0.05 +

      Represents the level that incident rays are reflected in a single direction, causing shine.

      +
    • +
    • + + vertexnormalsepsilon + +
      Parent: data[type=mesh3d].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-12 +

      Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    +
  • +
  • + + lightposition + +
    Parent: data[type=mesh3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=mesh3d].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the X coordinate for each vertex.

      +
    • +
    • + + y + +
      Parent: data[type=mesh3d].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the Y coordinate for each vertex.

      +
    • +
    • + + z + +
      Parent: data[type=mesh3d].lightposition +
      + Type: number between or equal to -100000 and 100000 +

      Numeric vector, representing the Z coordinate for each vertex.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=mesh3d] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=mesh3d] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=mesh3d] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    +
  • +
  • + + reversescale + +
    Parent: data[type=mesh3d] +
    + Type: boolean

    Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    +
  • +
  • + + scene + +
    Parent: data[type=mesh3d] +
    + Type: subplotid +
    Default: scene +

    Sets a reference between this trace's 3D coordinate system and a 3D scene. If "scene" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If "scene2", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    +
  • +
  • + + showlegend + +
    Parent: data[type=mesh3d] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=mesh3d] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + text + +
    Parent: data[type=mesh3d] +
    + Type: string or array of strings

    Sets the text elements associated with the vertices. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + type + +
    Parent: data[type=mesh3d] +
    +Type: "mesh3d" +
  • +
  • + + uid + +
    Parent: data[type=mesh3d] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=mesh3d] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + vertexcolor + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Sets the color of each vertex Overrides "color". While Red, green and blue colors are in the range of 0 and 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1.

    +
  • +
  • + + visible + +
    Parent: data[type=mesh3d] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Sets the X coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=mesh3d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=mesh3d] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=mesh3d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=mesh3d] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=mesh3d] +
    + Type: data_array +

    Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.

    +
  • +
  • + + zcalendar + +
    Parent: data[type=mesh3d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `z` date data.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=mesh3d] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `zaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/ohlc/index.html b/docs/reference/ohlc/index.html new file mode 100644 index 00000000000..d7f25ed8a81 --- /dev/null +++ b/docs/reference/ohlc/index.html @@ -0,0 +1,5275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ohlc - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

ohlc

+
+ A ohlc trace is an object with the key "type" equal to "ohlc" + (i.e. {"type": "ohlc"}) and any of the keys listed below. +

The ohlc (short for Open-High-Low-Close) is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red.

+
+
    +
  • + + close + +
    Parent: data[type=ohlc] +
    + Type: data_array +

    Sets the close values.

    +
  • +
  • + + customdata + +
    Parent: data[type=ohlc] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + decreasing + +
    Parent: data[type=ohlc] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: data[type=ohlc].decreasing +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=ohlc].decreasing.line +
        + Type: color
        Default: "#FF4136" +

        Sets the line color.

        +
      • +
      • + + dash + +
        Parent: data[type=ohlc].decreasing.line +
        + Type: string
        Default: "solid" +

        Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

        +
      • +
      • + + width + +
        Parent: data[type=ohlc].decreasing.line +
        + Type: number
        Default: 2 +

        Sets the line width (in px).

        +
      • +
      +
    • +
    +
  • +
  • + + high + +
    Parent: data[type=ohlc] +
    + Type: data_array +

    Sets the high values.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=ohlc] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=ohlc] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=ohlc].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=ohlc].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=ohlc].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=ohlc].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=ohlc].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=ohlc].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    • + + split + +
      Parent: data[type=ohlc].hoverlabel +
      + Type: boolean

      Show hover information (open, close, high, low) in separate labels.

      +
    • +
    +
  • +
  • + + hovertext + +
    Parent: data[type=ohlc] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=ohlc] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + increasing + +
    Parent: data[type=ohlc] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: data[type=ohlc].increasing +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=ohlc].increasing.line +
        + Type: color
        Default: "#3D9970" +

        Sets the line color.

        +
      • +
      • + + dash + +
        Parent: data[type=ohlc].increasing.line +
        + Type: string
        Default: "solid" +

        Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

        +
      • +
      • + + width + +
        Parent: data[type=ohlc].increasing.line +
        + Type: number
        Default: 2 +

        Sets the line width (in px).

        +
      • +
      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=ohlc] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=ohlc] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=ohlc] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=ohlc].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=ohlc].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=ohlc].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=ohlc] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=ohlc] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=ohlc] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + dash + +
      Parent: data[type=ohlc].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). Note that this style setting can also be set per direction via `increasing.line.dash` and `decreasing.line.dash`.

      +
    • +
    • + + width + +
      Parent: data[type=ohlc].line +
      + Type: number
      Default: 2 +

      [object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.

      +
    • +
    +
  • +
  • + + low + +
    Parent: data[type=ohlc] +
    + Type: data_array +

    Sets the low values.

    +
  • +
  • + + meta + +
    Parent: data[type=ohlc] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=ohlc] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=ohlc] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + open + +
    Parent: data[type=ohlc] +
    + Type: data_array +

    Sets the open values.

    +
  • +
  • + + selectedpoints + +
    Parent: data[type=ohlc] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=ohlc] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=ohlc] +
    + Type: string or array of strings

    Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.

    +
  • +
  • + + tickwidth + +
    Parent: data[type=ohlc] +
    + Type: number less than or equal to 0.5 +
    Default: 0.3 +

    Sets the width of the open/close tick marks relative to the "x" minimal interval.

    +
  • +
  • + + type + +
    Parent: data[type=ohlc] +
    +Type: "ohlc" +
  • +
  • + + uid + +
    Parent: data[type=ohlc] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=ohlc] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=ohlc] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=ohlc] +
    + Type: data_array +

    Sets the x coordinates. If absent, linear coordinate will be generated.

    +
  • +
  • + + xaxis + +
    Parent: data[type=ohlc] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=ohlc] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=ohlc] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=ohlc] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=ohlc] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=ohlc] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + yaxis + +
    Parent: data[type=ohlc] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=ohlc] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + zorder + +
    Parent: data[type=ohlc] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/parcats/index.html b/docs/reference/parcats/index.html new file mode 100644 index 00000000000..049fd8349a3 --- /dev/null +++ b/docs/reference/parcats/index.html @@ -0,0 +1,5985 @@ + + + + + + + + + + + + + + + + + + + + + + + + + parcats - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

parcats

+
+ A parcats trace is an object with the key "type" equal to "parcats" + (i.e. {"type": "parcats"}) and any of the keys listed below. +

Parallel categories diagram for multidimensional categorical data.

+
+
    +
  • + + arrangement + +
    Parent: data[type=parcats] +
    + Type: + enumerated , one of ( +"perpendicular"| "freeform"| "fixed" ) +
    Default: "perpendicular" +

    Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary.

    +
  • +
  • + + bundlecolors + +
    Parent: data[type=parcats] +
    + Type: boolean
    Default: true +

    Sort paths so that like colors are bundled together within each category.

    +
  • +
  • + + counts + +
    Parent: data[type=parcats] +
    + Type: number or array of numbers
    Default: 1 +

    The number of observations represented by each state. Defaults to 1 so that each state represents one observation

    +
  • +
  • + + dimensions + +
    Parent: data[type=parcats] +
    Type: array of object where + each object has one or more of the keys listed below. +
      +
    • + + categoryarray + +
      Parent: data[type=parcats].dimensions +
      + Type: data_array +

      Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`.

      +
    • +
    • + + categoryorder + +
      Parent: data[type=parcats].dimensions +
      + Type: + enumerated , one of ( +"trace"| "category ascending"| "category descending"| "array" ) +
      Default: "trace" +

      Specifies the ordering logic for the categories in the dimension. By default, plotly uses "trace", which specifies the order that is present in the data supplied. Set `categoryorder` to "category ascending" or "category descending" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to "array" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the "trace" mode. The unspecified categories will follow the categories in `categoryarray`.

      +
    • +
    • + + displayindex + +
      Parent: data[type=parcats].dimensions +
      + Type: integer

      The display index of dimension, from left to right, zero indexed, defaults to dimension index.

      +
    • +
    • + + label + +
      Parent: data[type=parcats].dimensions +
      + Type: string

      The shown name of the dimension.

      +
    • +
    • + + ticktext + +
      Parent: data[type=parcats].dimensions +
      + Type: data_array +

      Sets alternative tick labels for the categories in this dimension. Only has an effect if `categoryorder` is set to "array". Should be an array the same length as `categoryarray` Used with `categoryorder`.

      +
    • +
    • + + values + +
      Parent: data[type=parcats].dimensions +
      + Type: data_array +

      Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated).

      +
    • +
    • + + visible + +
      Parent: data[type=parcats].dimensions +
      + Type: boolean
      Default: true +

      Shows the dimension when set to `true` (the default). Hides the dimension for `false`.

      +
    • +
    +
  • +
  • + + domain + +
    Parent: data[type=parcats] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=parcats].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this parcats trace .

      +
    • +
    • + + row + +
      Parent: data[type=parcats].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this parcats trace .

      +
    • +
    • + + x + +
      Parent: data[type=parcats].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this parcats trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=parcats].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this parcats trace (in plot fraction).

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=parcats] +
    + Type: flaglist string. + + Any combination of "count", "probability" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "count", "probability", "count+probability", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoveron + +
    Parent: data[type=parcats] +
    + Type: + enumerated , one of ( +"category"| "color"| "dimension" ) +
    Default: "category" +

    Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension.

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=parcats] +
    + Type: string

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over dimensions. Note that "categorycount", "colorcount" and "bandcolorcount" are only available when `hoveron` contains the "color" flag. Finally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + labelfont + +
    Parent: data[type=parcats] +
    Type: object containing one or more of the keys listed below. +

    Sets the font for the `dimension` labels.

    +
      +
    • + + color + +
      Parent: data[type=parcats].labelfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=parcats].labelfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=parcats].labelfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=parcats].labelfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=parcats].labelfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=parcats].labelfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=parcats].labelfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=parcats].labelfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=parcats].labelfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=parcats] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=parcats].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=parcats].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=parcats].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendwidth + +
    Parent: data[type=parcats] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=parcats] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=parcats].line +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=parcats].line +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=parcats].line +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=parcats].line +
      + Type: number

      Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=parcats].line +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=parcats].line +
      + Type: color or array of colors

      Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=parcats].line +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=parcats].line +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=parcats].line.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=parcats].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=parcats].line.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=parcats].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=parcats].line.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=parcats].line.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=parcats].line.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=parcats].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=parcats].line.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=parcats].line.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=parcats].line.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=parcats].line.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=parcats].line.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=parcats].line.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=parcats].line.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=parcats].line.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=parcats].line.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=parcats].line.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=parcats].line.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=parcats].line.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=parcats].line.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=parcats].line.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=parcats].line.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=parcats].line.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=parcats].line.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=parcats].line.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=parcats].line.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=parcats].line.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=parcats].line.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=parcats].line +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + hovertemplate + +
      Parent: data[type=parcats].line +
      + Type: string

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over lines.Finally, the template string has access to variables `count` and `probability`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

      +
    • +
    • + + reversescale + +
      Parent: data[type=parcats].line +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.

      +
    • +
    • + + shape + +
      Parent: data[type=parcats].line +
      + Type: + enumerated , one of ( +"linear"| "hspline" ) +
      Default: "linear" +

      Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines

      +
    • +
    • + + showscale + +
      Parent: data[type=parcats].line +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=parcats] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=parcats] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + sortpaths + +
    Parent: data[type=parcats] +
    + Type: + enumerated , one of ( +"forward"| "backward" ) +
    Default: "forward" +

    Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left.

    +
  • +
  • + + tickfont + +
    Parent: data[type=parcats] +
    Type: object containing one or more of the keys listed below. +

    Sets the font for the `category` labels.

    +
      +
    • + + color + +
      Parent: data[type=parcats].tickfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=parcats].tickfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=parcats].tickfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=parcats].tickfont +
      + Type: string
      Default: "auto" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=parcats].tickfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=parcats].tickfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=parcats].tickfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=parcats].tickfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=parcats].tickfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=parcats] +
    +Type: "parcats" +
  • +
  • + + uid + +
    Parent: data[type=parcats] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=parcats] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=parcats] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/parcoords/index.html b/docs/reference/parcoords/index.html new file mode 100644 index 00000000000..04dfbe54e00 --- /dev/null +++ b/docs/reference/parcoords/index.html @@ -0,0 +1,6117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + parcoords - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

parcoords

+
+ A parcoords trace is an object with the key "type" equal to "parcoords" + (i.e. {"type": "parcoords"}) and any of the keys listed below. +

Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`.

+
+
    +
  • + + customdata + +
    Parent: data[type=parcoords] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dimensions + +
    Parent: data[type=parcoords] +
    Type: array of object where + each object has one or more of the keys listed below. +
      +
    • + + constraintrange + +
      Parent: data[type=parcoords].dimensions +
      +{inner}Type: {array} +

      The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue <= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.

      +
    • +
    • + + label + +
      Parent: data[type=parcoords].dimensions +
      + Type: string

      The shown name of the dimension.

      +
    • +
    • + + multiselect + +
      Parent: data[type=parcoords].dimensions +
      + Type: boolean
      Default: true +

      Do we allow multiple selection ranges or just a single range?

      +
    • +
    • + + name + +
      Parent: data[type=parcoords].dimensions +
      + Type: string

      When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

      +
    • +
    • + + range + +
      Parent: data[type=parcoords].dimensions +
      +{inner}Type: {array} +

      The domain range that represents the full, shown axis extent. Defaults to the `values` extent. Must be an array of `[fromValue, toValue]` with finite numbers as elements.

      +
    • +
    • + + templateitemname + +
      Parent: data[type=parcoords].dimensions +
      + Type: string

      Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      +
    • +
    • + + tickformat + +
      Parent: data[type=parcoords].dimensions +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + ticktext + +
      Parent: data[type=parcoords].dimensions +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=parcoords].dimensions +
      + Type: data_array +

      Sets the values at which ticks on this axis appear.

      +
    • +
    • + + values + +
      Parent: data[type=parcoords].dimensions +
      + Type: data_array +

      Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number.

      +
    • +
    • + + visible + +
      Parent: data[type=parcoords].dimensions +
      + Type: boolean
      Default: true +

      Shows the dimension when set to `true` (the default). Hides the dimension for `false`.

      +
    • +
    +
  • +
  • + + domain + +
    Parent: data[type=parcoords] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=parcoords].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this parcoords trace .

      +
    • +
    • + + row + +
      Parent: data[type=parcoords].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this parcoords trace .

      +
    • +
    • + + x + +
      Parent: data[type=parcoords].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this parcoords trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=parcoords].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this parcoords trace (in plot fraction).

      +
    • +
    +
  • +
  • + + ids + +
    Parent: data[type=parcoords] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + labelangle + +
    Parent: data[type=parcoords] +
    + Type: angle +

    Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the labels vertically. Tilted labels with "labelangle" may be positioned better inside margins when `labelposition` is set to "bottom".

    +
  • +
  • + + labelfont + +
    Parent: data[type=parcoords] +
    Type: object containing one or more of the keys listed below. +

    Sets the font for the `dimension` labels.

    +
      +
    • + + color + +
      Parent: data[type=parcoords].labelfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=parcoords].labelfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=parcoords].labelfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=parcoords].labelfont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=parcoords].labelfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=parcoords].labelfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=parcoords].labelfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=parcoords].labelfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=parcoords].labelfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + labelside + +
    Parent: data[type=parcoords] +
    + Type: + enumerated , one of ( +"top"| "bottom" ) +
    Default: "top" +

    Specifies the location of the `label`. "top" positions labels above, next to the title "bottom" positions labels below the graph Tilted labels with "labelangle" may be positioned better inside margins when `labelposition` is set to "bottom".

    +
  • +
  • + + legend + +
    Parent: data[type=parcoords] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=parcoords] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=parcoords].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=parcoords].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=parcoords].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=parcoords] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=parcoords] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=parcoords] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=parcoords].line +
      + Type: boolean

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=parcoords].line +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=parcoords].line +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=parcoords].line +
      + Type: number

      Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=parcoords].line +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=parcoords].line +
      + Type: color or array of colors

      Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=parcoords].line +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=parcoords].line +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=parcoords].line.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=parcoords].line.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=parcoords].line.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=parcoords].line.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=parcoords].line.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=parcoords].line.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=parcoords].line.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=parcoords].line.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=parcoords].line.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=parcoords].line.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=parcoords].line.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=parcoords].line.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=parcoords].line.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=parcoords].line.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=parcoords].line +
      + Type: colorscale +
      Default: [[[, 0, ,, , ', #, 4, 4, 0, 1, 5, 4, ', ]], [[, 0, ., 0, 6, 2, 7, 4, 5, 0, 9, 8, 0, 3, 9, 2, 1, 5, 6, 9, ,, , ', #, 4, 8, 1, 8, 6, a, ', ]], [[, 0, ., 1, 2, 5, 4, 9, 0, 1, 9, 6, 0, 7, 8, 4, 3, 1, 3, 7, ,, , ', #, 4, 7, 2, d, 7, b, ', ]], [[, 0, ., 1, 8, 8, 2, 3, 5, 2, 9, 4, 1, 1, 7, 6, 4, 7, 0, 6, ,, , ', #, 4, 2, 4, 0, 8, 6, ', ]], [[, 0, ., 2, 5, 0, 9, 8, 0, 3, 9, 2, 1, 5, 6, 8, 6, 2, 7, 4, ,, , ', #, 3, b, 5, 2, 8, b, ', ]], [[, 0, ., 3, 1, 3, 7, 2, 5, 4, 9, 0, 1, 9, 6, 0, 7, 8, 4, ,, , ', #, 3, 3, 6, 3, 8, d, ', ]], [[, 0, ., 3, 7, 6, 4, 7, 0, 5, 8, 8, 2, 3, 5, 2, 9, 4, 1, ,, , ', #, 2, c, 7, 2, 8, e, ', ]], [[, 0, ., 4, 3, 9, 2, 1, 5, 6, 8, 6, 2, 7, 4, 5, 0, 9, 8, ,, , ', #, 2, 6, 8, 2, 8, e, ', ]], [[, 0, ., 5, 0, 1, 9, 6, 0, 7, 8, 4, 3, 1, 3, 7, 2, 5, 5, ,, , ', #, 2, 1, 9, 1, 8, c, ', ]], [[, 0, ., 5, 6, 4, 7, 0, 5, 8, 8, 2, 3, 5, 2, 9, 4, 1, 2, ,, , ', #, 1, f, a, 0, 8, 8, ', ]], [[, 0, ., 6, 2, 7, 4, 5, 0, 9, 8, 0, 3, 9, 2, 1, 5, 6, 9, ,, , ', #, 2, 8, a, e, 8, 0, ', ]], [[, 0, ., 6, 9, 0, 1, 9, 6, 0, 7, 8, 4, 3, 1, 3, 7, 2, 5, ,, , ', #, 3, f, b, c, 7, 3, ', ]], [[, 0, ., 7, 5, 2, 9, 4, 1, 1, 7, 6, 4, 7, 0, 5, 8, 8, 2, ,, , ', #, 5, e, c, 9, 6, 2, ', ]], [[, 0, ., 8, 1, 5, 6, 8, 6, 2, 7, 4, 5, 0, 9, 8, 0, 3, 9, ,, , ', #, 8, 4, d, 4, 4, b, ', ]], [[, 0, ., 8, 7, 8, 4, 3, 1, 3, 7, 2, 5, 4, 9, 0, 1, 9, 6, ,, , ', #, a, d, d, c, 3, 0, ', ]], [[, 0, ., 9, 4, 1, 1, 7, 6, 4, 7, 0, 5, 8, 8, 2, 3, 5, 3, ,, , ', #, d, 8, e, 2, 1, 9, ', ]], [[, 1, ,, , ', #, f, d, e, 7, 2, 5, ', ]]] +

      Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + reversescale + +
      Parent: data[type=parcoords].line +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=parcoords].line +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=parcoords] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=parcoords] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + rangefont + +
    Parent: data[type=parcoords] +
    Type: object containing one or more of the keys listed below. +

    Sets the font for the `dimension` range values.

    +
      +
    • + + color + +
      Parent: data[type=parcoords].rangefont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=parcoords].rangefont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=parcoords].rangefont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=parcoords].rangefont +
      + Type: string
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=parcoords].rangefont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=parcoords].rangefont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=parcoords].rangefont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=parcoords].rangefont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=parcoords].rangefont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + tickfont + +
    Parent: data[type=parcoords] +
    Type: object containing one or more of the keys listed below. +

    Sets the font for the `dimension` tick values.

    +
      +
    • + + color + +
      Parent: data[type=parcoords].tickfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=parcoords].tickfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=parcoords].tickfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=parcoords].tickfont +
      + Type: string
      Default: "auto" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=parcoords].tickfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=parcoords].tickfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=parcoords].tickfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=parcoords].tickfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=parcoords].tickfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=parcoords] +
    +Type: "parcoords" +
  • +
  • + + uid + +
    Parent: data[type=parcoords] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=parcoords] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=parcoords] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: data[type=parcoords].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=parcoords].unselected.line +
        + Type: color
        Default: "#7f7f7f" +

        Sets the base color of unselected lines. in connection with `unselected.line.opacity`.

        +
      • +
      • + + opacity + +
        Parent: data[type=parcoords].unselected.line +
        + Type: number less than or equal to 1 +
        Default: "auto" +

        Sets the opacity of unselected lines. The default "auto" decreases the opacity smoothly as the number of lines increases. Use "1" to achieve exact `unselected.line.color`.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=parcoords] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/pie/index.html b/docs/reference/pie/index.html new file mode 100644 index 00000000000..d53fd48eedb --- /dev/null +++ b/docs/reference/pie/index.html @@ -0,0 +1,5787 @@ + + + + + + + + + + + + + + + + + + + + + + + + + pie - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

pie

+
+ A pie trace is an object with the key "type" equal to "pie" + (i.e. {"type": "pie"}) and any of the keys listed below. +

A data visualized by the sectors of the pie is set in `values`. The sector labels are set in `labels`. The sector colors are set in `marker.colors`

+
+
    +
  • + + automargin + +
    Parent: data[type=pie] +
    + Type: boolean

    Determines whether outside text labels can push the margins.

    +
  • +
  • + + customdata + +
    Parent: data[type=pie] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + direction + +
    Parent: data[type=pie] +
    + Type: + enumerated , one of ( +"clockwise"| "counterclockwise" ) +
    Default: "counterclockwise" +

    Specifies the direction at which succeeding sectors follow one another.

    +
  • +
  • + + dlabel + +
    Parent: data[type=pie] +
    + Type: number
    Default: 1 +

    Sets the label step. See `label0` for more info.

    +
  • +
  • + + domain + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=pie].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this pie trace .

      +
    • +
    • + + row + +
      Parent: data[type=pie].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this pie trace .

      +
    • +
    • + + x + +
      Parent: data[type=pie].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this pie trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=pie].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this pie trace (in plot fraction).

      +
    • +
    +
  • +
  • + + hole + +
    Parent: data[type=pie] +
    + Type: number less than or equal to 1 +

    Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=pie] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "percent", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "label", "text", "label+text", "label+text+value", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=pie].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=pie].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=pie].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=pie].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=pie].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=pie].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=pie] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=pie] +
    + Type: string or array of strings

    Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=pie] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying inside the sector.

    +
      +
    • + + color + +
      Parent: data[type=pie].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=pie].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=pie].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=pie].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=pie].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=pie].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=pie].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=pie].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=pie].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + insidetextorientation + +
    Parent: data[type=pie] +
    + Type: + enumerated , one of ( +"horizontal"| "radial"| "tangential"| "auto" ) +
    Default: "auto" +

    Controls the orientation of the text inside chart sectors. When set to "auto", text may be oriented in any direction in order to be as big as possible in the middle of a sector. The "horizontal" option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The "radial" option orients text along the radius of the sector. The "tangential" option orients text perpendicular to the radius of the sector.

    +
  • +
  • + + label0 + +
    Parent: data[type=pie] +
    + Type: number

    Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.

    +
  • +
  • + + labels + +
    Parent: data[type=pie] +
    + Type: data_array +

    Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.

    +
  • +
  • + + legend + +
    Parent: data[type=pie] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=pie] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=pie].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=pie].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=pie].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=pie] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=pie] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + colors + +
      Parent: data[type=pie].marker +
      + Type: data_array +

      Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.

      +
    • +
    • + + line + +
      Parent: data[type=pie].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=pie].marker.line +
        + Type: color or array of colors
        Default: "#444" +

        Sets the color of the line enclosing each sector.

        +
      • +
      • + + width + +
        Parent: data[type=pie].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the line enclosing each sector.

        +
      • +
      +
    • +
    • + + pattern + +
      Parent: data[type=pie].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=pie].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=pie].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=pie].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=pie].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=pie].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=pie].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=pie].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=pie].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=pie] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=pie] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=pie] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying outside the sector.

    +
      +
    • + + color + +
      Parent: data[type=pie].outsidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=pie].outsidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=pie].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=pie].outsidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=pie].outsidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=pie].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=pie].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=pie].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=pie].outsidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + pull + +
    Parent: data[type=pie] +
    + Type: number or array of numbers less than or equal to 1 +

    Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.

    +
  • +
  • + + rotation + +
    Parent: data[type=pie] +
    + Type: angle +

    Instead of the first slice starting at 12 o'clock, rotate to some other angle.

    +
  • +
  • + + scalegroup + +
    Parent: data[type=pie] +
    + Type: string

    If there are multiple pie charts that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.

    +
  • +
  • + + showlegend + +
    Parent: data[type=pie] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + sort + +
    Parent: data[type=pie] +
    + Type: boolean
    Default: true +

    Determines whether or not the sectors are reordered from largest to smallest.

    +
  • +
  • + + text + +
    Parent: data[type=pie] +
    + Type: data_array +

    Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo`.

    +
      +
    • + + color + +
      Parent: data[type=pie].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=pie].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=pie].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=pie].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=pie].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=pie].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=pie].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=pie].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=pie].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textinfo + +
    Parent: data[type=pie] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "percent" joined with a "+" + OR "none". + +
    Examples: "label", "text", "label+text", "label+text+value", "none" + +

    Determines which trace information appear on the graph.

    +
  • +
  • + + textposition + +
    Parent: data[type=pie] +
    + Type: + enumerated or array of enumerateds + , one of ( +"inside"| "outside"| "auto"| "none" ) +
    Default: "auto" +

    Specifies the location of the `textinfo`.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=pie] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`.

    +
  • +
  • + + title + +
    Parent: data[type=pie] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=pie].title +
      Type: object containing one or more of the keys listed below. +

      Sets the font used for `title`.

      +
        +
      • + + color + +
        Parent: data[type=pie].title.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=pie].title.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=pie].title.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=pie].title.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=pie].title.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=pie].title.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=pie].title.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=pie].title.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=pie].title.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + position + +
      Parent: data[type=pie].title +
      + Type: + enumerated , one of ( +"top left"| "top center"| "top right"| "middle center"| "bottom left"| "bottom center"| "bottom right" ) +

      Specifies the location of the `title`.

      +
    • +
    • + + text + +
      Parent: data[type=pie].title +
      + Type: string

      Sets the title of the chart. If it is empty, no title is displayed.

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=pie] +
    +Type: "pie" +
  • +
  • + + uid + +
    Parent: data[type=pie] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=pie] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + values + +
    Parent: data[type=pie] +
    + Type: data_array +

    Sets the values of the sectors. If omitted, we count occurrences of each label.

    +
  • +
  • + + visible + +
    Parent: data[type=pie] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/sankey/index.html b/docs/reference/sankey/index.html new file mode 100644 index 00000000000..aedc079f11f --- /dev/null +++ b/docs/reference/sankey/index.html @@ -0,0 +1,5788 @@ + + + + + + + + + + + + + + + + + + + + + + + + + sankey - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

sankey

+
+ A sankey trace is an object with the key "type" equal to "sankey" + (i.e. {"type": "sankey"}) and any of the keys listed below. +

Sankey plots for network flow data analysis. The nodes are specified in `nodes` and the links between sources and targets in `links`. The colors are set in `nodes[i].color` and `links[i].color`, otherwise defaults are used.

+
+
    +
  • + + arrangement + +
    Parent: data[type=sankey] +
    + Type: + enumerated , one of ( +"snap"| "perpendicular"| "freeform"| "fixed" ) +
    Default: "snap" +

    If value is `snap` (the default), the node arrangement is assisted by automatic snapping of elements to preserve space between nodes specified via `nodepad`. If value is `perpendicular`, the nodes can only move along a line perpendicular to the flow. If value is `freeform`, the nodes can freely move on the plane. If value is `fixed`, the nodes are stationary.

    +
  • +
  • + + customdata + +
    Parent: data[type=sankey] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + domain + +
    Parent: data[type=sankey] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=sankey].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this sankey trace .

      +
    • +
    • + + row + +
      Parent: data[type=sankey].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this sankey trace .

      +
    • +
    • + + x + +
      Parent: data[type=sankey].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this sankey trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=sankey].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this sankey trace (in plot fraction).

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=sankey] +
    + Type: flaglist string. + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo` for nodes and links respectively.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=sankey] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=sankey].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=sankey].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=sankey].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=sankey].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=sankey].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=sankey].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + ids + +
    Parent: data[type=sankey] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=sankey] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=sankey] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=sankey].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=sankey].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=sankey].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=sankey] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=sankey] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + link + +
    Parent: data[type=sankey] +
    Type: object containing one or more of the keys listed below. +

    The links of the Sankey plot.

    +
      +
    • + + arrowlen + +
      Parent: data[type=sankey].link +
      + Type: number

      Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.

      +
    • +
    • + + color + +
      Parent: data[type=sankey].link +
      + Type: color or array of colors

      Sets the `link` color. It can be a single value, or an array for specifying color for each `link`. If `link.color` is omitted, then by default, a translucent grey link will be used.

      +
    • +
    • + + colorscales + +
      Parent: data[type=sankey].link +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + cmax + +
        Parent: data[type=sankey].link.colorscales +
        + Type: number
        Default: 1 +

        Sets the upper bound of the color domain.

        +
      • +
      • + + cmin + +
        Parent: data[type=sankey].link.colorscales +
        + Type: number

        Sets the lower bound of the color domain.

        +
      • +
      • + + colorscale + +
        Parent: data[type=sankey].link.colorscales +
        + Type: colorscale +
        Default: [[[, 0, ,, , ', w, h, i, t, e, ', ]], [[, 1, ,, , ', b, l, a, c, k, ', ]]] +

        Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + label + +
        Parent: data[type=sankey].link.colorscales +
        + Type: string

        The label of the links to color based on their concentration within a flow.

        +
      • +
      • + + name + +
        Parent: data[type=sankey].link.colorscales +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=sankey].link.colorscales +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      +
    • +
    • + + customdata + +
      Parent: data[type=sankey].link +
      + Type: data_array +

      Assigns extra data to each link.

      +
    • +
    • + + hovercolor + +
      Parent: data[type=sankey].link +
      + Type: color or array of colors

      Sets the `link` hover color. It can be a single value, or an array for specifying hover colors for each `link`. If `link.hovercolor` is omitted, then by default, links will become slightly more opaque when hovered over.

      +
    • +
    • + + hoverinfo + +
      Parent: data[type=sankey].link +
      + Type: + enumerated , one of ( +"all"| "none"| "skip" ) +
      Default: "all" +

      Determines which trace information appear when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

      +
    • +
    • + + hoverlabel + +
      Parent: data[type=sankey].link +
      Type: object containing one or more of the keys listed below. +
        +
      • + + align + +
        Parent: data[type=sankey].link.hoverlabel +
        + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
        Default: "auto" +

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

        +
      • +
      • + + bgcolor + +
        Parent: data[type=sankey].link.hoverlabel +
        + Type: color or array of colors

        Sets the background color of the hover labels for this trace

        +
      • +
      • + + bordercolor + +
        Parent: data[type=sankey].link.hoverlabel +
        + Type: color or array of colors

        Sets the border color of the hover labels for this trace.

        +
      • +
      • + + font + +
        Parent: data[type=sankey].link.hoverlabel +
        Type: object containing one or more of the keys listed below. +

        Sets the font used in hover labels.

        +
          +
        • + + color + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: color or array of colors
        • +
        • + + family + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: string or array of strings
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: number or array of numbers greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=sankey].link.hoverlabel.font +
          + Type: integer or array of integers between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + namelength + +
        Parent: data[type=sankey].link.hoverlabel +
        + Type: integer or array of integers greater than or equal to -1 +
        Default: 15 +

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

        +
      • +
      +
    • +
    • + + hovertemplate + +
      Parent: data[type=sankey].link +
      + Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Variables `source` and `target` are node objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

      +
    • +
    • + + label + +
      Parent: data[type=sankey].link +
      + Type: data_array +

      The shown name of the link.

      +
    • +
    • + + line + +
      Parent: data[type=sankey].link +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=sankey].link.line +
        + Type: color or array of colors
        Default: "#444" +

        Sets the color of the `line` around each `link`.

        +
      • +
      • + + width + +
        Parent: data[type=sankey].link.line +
        + Type: number or array of numbers

        Sets the width (in px) of the `line` around each `link`.

        +
      • +
      +
    • +
    • + + source + +
      Parent: data[type=sankey].link +
      + Type: data_array +

      An integer number `[0..nodes.length - 1]` that represents the source node.

      +
    • +
    • + + target + +
      Parent: data[type=sankey].link +
      + Type: data_array +

      An integer number `[0..nodes.length - 1]` that represents the target node.

      +
    • +
    • + + value + +
      Parent: data[type=sankey].link +
      + Type: data_array +

      A numeric value representing the flow volume value.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=sankey] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=sankey] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + node + +
    Parent: data[type=sankey] +
    Type: object containing one or more of the keys listed below. +

    The nodes of the Sankey plot.

    +
      +
    • + + align + +
      Parent: data[type=sankey].node +
      + Type: + enumerated , one of ( +"justify"| "left"| "right"| "center" ) +
      Default: "justify" +

      Sets the alignment method used to position the nodes along the horizontal axis.

      +
    • +
    • + + color + +
      Parent: data[type=sankey].node +
      + Type: color or array of colors

      Sets the `node` color. It can be a single value, or an array for specifying color for each `node`. If `node.color` is omitted, then the default `Plotly` color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node.

      +
    • +
    • + + customdata + +
      Parent: data[type=sankey].node +
      + Type: data_array +

      Assigns extra data to each node.

      +
    • +
    • + + groups + +
      Parent: data[type=sankey].node +
      +{inner}Type: {array} +

      Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.

      +
    • +
    • + + hoverinfo + +
      Parent: data[type=sankey].node +
      + Type: + enumerated , one of ( +"all"| "none"| "skip" ) +
      Default: "all" +

      Determines which trace information appear when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

      +
    • +
    • + + hoverlabel + +
      Parent: data[type=sankey].node +
      Type: object containing one or more of the keys listed below. +
        +
      • + + align + +
        Parent: data[type=sankey].node.hoverlabel +
        + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
        Default: "auto" +

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

        +
      • +
      • + + bgcolor + +
        Parent: data[type=sankey].node.hoverlabel +
        + Type: color or array of colors

        Sets the background color of the hover labels for this trace

        +
      • +
      • + + bordercolor + +
        Parent: data[type=sankey].node.hoverlabel +
        + Type: color or array of colors

        Sets the border color of the hover labels for this trace.

        +
      • +
      • + + font + +
        Parent: data[type=sankey].node.hoverlabel +
        Type: object containing one or more of the keys listed below. +

        Sets the font used in hover labels.

        +
          +
        • + + color + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: color or array of colors
        • +
        • + + family + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: string or array of strings
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: number or array of numbers greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=sankey].node.hoverlabel.font +
          + Type: integer or array of integers between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + namelength + +
        Parent: data[type=sankey].node.hoverlabel +
        + Type: integer or array of integers greater than or equal to -1 +
        Default: 15 +

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

        +
      • +
      +
    • +
    • + + hovertemplate + +
      Parent: data[type=sankey].node +
      + Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Variables `sourceLinks` and `targetLinks` are arrays of link objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

      +
    • +
    • + + label + +
      Parent: data[type=sankey].node +
      + Type: data_array +

      The shown name of the node.

      +
    • +
    • + + line + +
      Parent: data[type=sankey].node +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=sankey].node.line +
        + Type: color or array of colors
        Default: "#444" +

        Sets the color of the `line` around each `node`.

        +
      • +
      • + + width + +
        Parent: data[type=sankey].node.line +
        + Type: number or array of numbers
        Default: 0.5 +

        Sets the width (in px) of the `line` around each `node`.

        +
      • +
      +
    • +
    • + + pad + +
      Parent: data[type=sankey].node +
      + Type: number
      Default: 20 +

      Sets the padding (in px) between the `nodes`.

      +
    • +
    • + + thickness + +
      Parent: data[type=sankey].node +
      + Type: number greater than or equal to 1 +
      Default: 20 +

      Sets the thickness (in px) of the `nodes`.

      +
    • +
    • + + x + +
      Parent: data[type=sankey].node +
      + Type: data_array +

      The normalized horizontal position of the node.

      +
    • +
    • + + y + +
      Parent: data[type=sankey].node +
      + Type: data_array +

      The normalized vertical position of the node.

      +
    • +
    +
  • +
  • + + orientation + +
    Parent: data[type=sankey] +
    + Type: + enumerated , one of ( +"v"| "h" ) +
    Default: "h" +

    Sets the orientation of the Sankey diagram.

    +
  • +
  • + + selectedpoints + +
    Parent: data[type=sankey] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + textfont + +
    Parent: data[type=sankey] +
    Type: object containing one or more of the keys listed below. +

    Sets the font for node labels

    +
      +
    • + + color + +
      Parent: data[type=sankey].textfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=sankey].textfont +
      + Type: string

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=sankey].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=sankey].textfont +
      + Type: string
      Default: "auto" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=sankey].textfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=sankey].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=sankey].textfont +
      + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=sankey].textfont +
      + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=sankey].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=sankey] +
    +Type: "sankey" +
  • +
  • + + uid + +
    Parent: data[type=sankey] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=sankey] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + valueformat + +
    Parent: data[type=sankey] +
    + Type: string
    Default: ".3s" +

    Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

    +
  • +
  • + + valuesuffix + +
    Parent: data[type=sankey] +
    + Type: string

    Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.

    +
  • +
  • + + visible + +
    Parent: data[type=sankey] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scatter/index.html b/docs/reference/scatter/index.html new file mode 100644 index 00000000000..0c6696e80ea --- /dev/null +++ b/docs/reference/scatter/index.html @@ -0,0 +1,7039 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scatter - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scatter

+
+ A scatter trace is an object with the key "type" equal to "scatter" + (i.e. {"type": "scatter"}) and any of the keys listed below. +

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 numerical arrays.

+
+
    +
  • + + alignmentgroup + +
    Parent: data[type=scatter] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    +
  • +
  • + + cliponaxis + +
    Parent: data[type=scatter] +
    + Type: boolean
    Default: true +

    Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + connectgaps + +
    Parent: data[type=scatter] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scatter] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=scatter] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + dy + +
    Parent: data[type=scatter] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + error_x + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=scatter].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=scatter].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=scatter].error_x +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + copy_ystyle + +
      Parent: data[type=scatter].error_x +
      + Type: boolean
    • +
    • + + symmetric + +
      Parent: data[type=scatter].error_x +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=scatter].error_x +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=scatter].error_x +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=scatter].error_x +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=scatter].error_x +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=scatter].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=scatter].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=scatter].error_x +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=scatter].error_x +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + error_y + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=scatter].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=scatter].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=scatter].error_y +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + symmetric + +
      Parent: data[type=scatter].error_y +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=scatter].error_y +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=scatter].error_y +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=scatter].error_y +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=scatter].error_y +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=scatter].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=scatter].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=scatter].error_y +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=scatter].error_y +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + fill + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +"none"| "tozeroy"| "tozerox"| "tonexty"| "tonextx"| "toself"| "tonext" ) +

    Sets the area to fill with a solid color. Defaults to "none" unless this trace is stacked, then it gets "tonexty" ("tonextx") if `orientation` is "v" ("h") Use with `fillcolor` if not "none". "tozerox" and "tozeroy" fill to x=0 and y=0 respectively. "tonextx" and "tonexty" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scatter] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. If fillgradient is specified, fillcolor is ignored except for setting the background color of the hover label, if any.

    +
  • +
  • + + fillgradient + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +

    Sets a fill gradient. If not specified, the fillcolor is used instead.

    +
      +
    • + + colorscale + +
      Parent: data[type=scatter].fillgradient +
      + Type: colorscale +

      Sets the fill gradient colors as a color scale. The color scale is interpreted as a gradient applied in the direction specified by "orientation", from the lowest to the highest value of the scatter plot along that axis, or from the center to the most distant point from it, if orientation is "radial".

      +
    • +
    • + + start + +
      Parent: data[type=scatter].fillgradient +
      + Type: number

      Sets the gradient start value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is "horizontal", the gradient will be horizontal and start from the x-position given by start. If omitted, the gradient starts at the lowest value of the trace along the respective axis. Ignored if orientation is "radial".

      +
    • +
    • + + stop + +
      Parent: data[type=scatter].fillgradient +
      + Type: number

      Sets the gradient end value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is "horizontal", the gradient will be horizontal and end at the x-position given by end. If omitted, the gradient ends at the highest value of the trace along the respective axis. Ignored if orientation is "radial".

      +
    • +
    • + + type + +
      Parent: data[type=scatter].fillgradient +
      + Type: + enumerated , one of ( +"radial"| "horizontal"| "vertical"| "none" ) +
      Default: "none" +

      Sets the type/orientation of the color gradient for the fill. Defaults to "none".

      +
    • +
    +
  • +
  • + + fillpattern + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +

    Sets the pattern within the marker.

    +
      +
    • + + bgcolor + +
      Parent: data[type=scatter].fillpattern +
      + Type: color or array of colors

      When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

      +
    • +
    • + + fgcolor + +
      Parent: data[type=scatter].fillpattern +
      + Type: color or array of colors

      When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

      +
    • +
    • + + fgopacity + +
      Parent: data[type=scatter].fillpattern +
      + Type: number less than or equal to 1 +

      Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

      +
    • +
    • + + fillmode + +
      Parent: data[type=scatter].fillpattern +
      + Type: + enumerated , one of ( +"replace"| "overlay" ) +
      Default: "replace" +

      Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

      +
    • +
    • + + path + +
      Parent: data[type=scatter].fillpattern +
      + Type: string or array of strings

      Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

      +
    • +
    • + + shape + +
      Parent: data[type=scatter].fillpattern +
      + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

      Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

      +
    • +
    • + + size + +
      Parent: data[type=scatter].fillpattern +
      + Type: number or array of numbers
      Default: 8 +

      Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

      +
    • +
    • + + solidity + +
      Parent: data[type=scatter].fillpattern +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 0.3 +

      Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

      +
    • +
    +
  • +
  • + + groupnorm + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +""| "fraction"| "percent" ) +

    Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the normalization for the sum of this `stackgroup`. With "fraction", the value of each trace at each location is divided by the sum of all trace values at that location. "percent" is the same but multiplied by 100 to show percentages. If there are multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scatter] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scatter].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scatter].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scatter].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scatter].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatter].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scatter].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoveron + +
    Parent: data[type=scatter] +
    + Type: flaglist string. + + Any combination of "points", "fills" joined with a "+" + OR . + +
    Examples: "points", "fills", "points+fills", + +

    Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is "toself" or "tonext" and there are no markers or text, then the default is "fills", otherwise it is "points".

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scatter] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scatter] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scatter] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=scatter] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scatter] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scatter].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatter].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scatter].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scatter] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scatter] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + backoff + +
      Parent: data[type=scatter].line +
      + Type: number or array of numbers
      Default: "auto" +

      Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous".

      +
    • +
    • + + color + +
      Parent: data[type=scatter].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scatter].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + shape + +
      Parent: data[type=scatter].line +
      + Type: + enumerated , one of ( +"linear"| "spline"| "hv"| "vh"| "hvh"| "vhv" ) +
      Default: "linear" +

      Determines the line shape. With "spline" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      +
    • +
    • + + simplify + +
      Parent: data[type=scatter].line +
      + Type: boolean
      Default: true +

      Simplifies lines by removing nearly-collinear points. When transitioning lines, it may be desirable to disable this so that the number of points along the resulting SVG path is unaffected.

      +
    • +
    • + + smoothing + +
      Parent: data[type=scatter].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Has an effect only if `shape` is set to "spline" Sets the amount of smoothing. "0" corresponds to no smoothing (equivalent to a "linear" shape).

      +
    • +
    • + + width + +
      Parent: data[type=scatter].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scatter].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + angleref + +
      Parent: data[type=scatter].marker +
      + Type: + enumerated , one of ( +"previous"| "up" ) +
      Default: "up" +

      Sets the reference for marker angle. With "previous", angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scatter].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scatter].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scatter].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scatter].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scatter].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scatter].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scatter].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scatter].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scatter].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scatter].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scatter].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scatter].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scatter].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scatter].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scatter].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scatter].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scatter].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scatter].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scatter].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scatter].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scatter].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scatter].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scatter].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + gradient + +
      Parent: data[type=scatter].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatter].marker.gradient +
        + Type: color or array of colors

        Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        +
      • +
      • + + type + +
        Parent: data[type=scatter].marker.gradient +
        + Type: + enumerated or array of enumerateds + , one of ( +"radial"| "horizontal"| "vertical"| "none" ) +
        Default: "none" +

        Sets the type of gradient used to fill the markers

        +
      • +
      +
    • +
    • + + line + +
      Parent: data[type=scatter].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scatter].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scatter].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scatter].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scatter].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scatter].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scatter].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scatter].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scatter].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scatter].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scatter].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + maxdisplayed + +
      Parent: data[type=scatter].marker +
      + Type: number

      Sets a maximum number of points to be drawn on the graph. "0" corresponds to no limit.

      +
    • +
    • + + opacity + +
      Parent: data[type=scatter].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scatter].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scatter].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scatter].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scatter].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scatter].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scatter].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + standoff + +
      Parent: data[type=scatter].marker +
      + Type: number or array of numbers

      Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      +
    • +
    • + + symbol + +
      Parent: data[type=scatter].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scatter] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scatter] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + offsetgroup + +
    Parent: data[type=scatter] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    +
  • +
  • + + opacity + +
    Parent: data[type=scatter] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + orientation + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +"v"| "h" ) +

    Only relevant in the following cases: 1. when `scattermode` is set to "group". 2. when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.

    +
  • +
  • + + selected + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatter].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatter].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatter].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scatter].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatter].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatter].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scatter] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + stackgaps + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +"infer zero"| "interpolate" ) +
    Default: "infer zero" +

    Only relevant when `stackgroup` is used, and only the first `stackgaps` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Determines how we handle locations at which other traces in this group have data but this one does not. With "infer zero" we insert a zero at these locations. With "interpolate" we linearly interpolate between existing values, and extrapolate a constant beyond the existing values.

    +
  • +
  • + + stackgroup + +
    Parent: data[type=scatter] +
    + Type: string

    Set several scatter traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `orientation` is "h"). If blank or omitted this trace will not be stacked. Stacking also turns `fill` on by default, using "tonexty" ("tonextx") if `orientation` is "h" ("v") and sets the default `mode` to "lines" irrespective of point count. You can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    +
  • +
  • + + text + +
    Parent: data[type=scatter] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scatter].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scatter].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=scatter].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=scatter].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=scatter].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scatter].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=scatter].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=scatter].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scatter].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scatter] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scatter] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

    +
  • +
  • + + type + +
    Parent: data[type=scatter] +
    +Type: "scatter" +
  • +
  • + + uid + +
    Parent: data[type=scatter] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scatter] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatter].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatter].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatter].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scatter].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatter].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatter].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=scatter] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + x0 + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + xaxis + +
    Parent: data[type=scatter] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=scatter] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + y + +
    Parent: data[type=scatter] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + y0 + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + yaxis + +
    Parent: data[type=scatter] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=scatter] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=scatter] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=scatter] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
  • + + zorder + +
    Parent: data[type=scatter] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scatter3d/index.html b/docs/reference/scatter3d/index.html new file mode 100644 index 00000000000..dffba418b96 --- /dev/null +++ b/docs/reference/scatter3d/index.html @@ -0,0 +1,7502 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scatter3d - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scatter3d

+
+ A scatter3d trace is an object with the key "type" equal to "scatter3d" + (i.e. {"type": "scatter3d"}) and any of the keys listed below. +

The data visualized as scatter point or lines in 3D dimension is set in `x`, `y`, `z`. 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` Projections are achieved via `projection`. Surface fills are achieved via `surfaceaxis`.

+
+
    +
  • + + connectgaps + +
    Parent: data[type=scatter3d] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scatter3d] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + error_x + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=scatter3d].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=scatter3d].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=scatter3d].error_x +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + copy_zstyle + +
      Parent: data[type=scatter3d].error_x +
      + Type: boolean
    • +
    • + + symmetric + +
      Parent: data[type=scatter3d].error_x +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=scatter3d].error_x +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=scatter3d].error_x +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=scatter3d].error_x +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=scatter3d].error_x +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=scatter3d].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=scatter3d].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=scatter3d].error_x +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=scatter3d].error_x +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + error_y + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=scatter3d].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=scatter3d].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=scatter3d].error_y +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + copy_zstyle + +
      Parent: data[type=scatter3d].error_y +
      + Type: boolean
    • +
    • + + symmetric + +
      Parent: data[type=scatter3d].error_y +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=scatter3d].error_y +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=scatter3d].error_y +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=scatter3d].error_y +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=scatter3d].error_y +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=scatter3d].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=scatter3d].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=scatter3d].error_y +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=scatter3d].error_y +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + error_z + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=scatter3d].error_z +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=scatter3d].error_z +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=scatter3d].error_z +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + symmetric + +
      Parent: data[type=scatter3d].error_z +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=scatter3d].error_z +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=scatter3d].error_z +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=scatter3d].error_z +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=scatter3d].error_z +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=scatter3d].error_z +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=scatter3d].error_z +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=scatter3d].error_z +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=scatter3d].error_z +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scatter3d] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scatter3d].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scatter3d].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scatter3d].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scatter3d].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatter3d].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scatter3d].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scatter3d] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scatter3d] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scatter3d] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=scatter3d] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scatter3d] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scatter3d].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatter3d].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scatter3d].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scatter3d] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scatter3d] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=scatter3d].line +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scatter3d].line +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scatter3d].line +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scatter3d].line +
      + Type: number

      Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scatter3d].line +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scatter3d].line +
      + Type: color or array of colors

      Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scatter3d].line +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scatter3d].line +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scatter3d].line.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scatter3d].line.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scatter3d].line.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scatter3d].line.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scatter3d].line.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scatter3d].line.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scatter3d].line.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scatter3d].line.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scatter3d].line.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scatter3d].line.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scatter3d].line.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scatter3d].line.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scatter3d].line.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scatter3d].line.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scatter3d].line +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + dash + +
      Parent: data[type=scatter3d].line +
      + Type: + enumerated , one of ( +"dash"| "dashdot"| "dot"| "longdash"| "longdashdot"| "solid" ) +
      Default: "solid" +

      Sets the dash style of the lines.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scatter3d].line +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scatter3d].line +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.

      +
    • +
    • + + width + +
      Parent: data[type=scatter3d].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=scatter3d].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scatter3d].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scatter3d].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scatter3d].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scatter3d].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scatter3d].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scatter3d].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scatter3d].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scatter3d].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scatter3d].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scatter3d].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scatter3d].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scatter3d].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scatter3d].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scatter3d].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scatter3d].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scatter3d].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scatter3d].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scatter3d].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scatter3d].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scatter3d].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scatter3d].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scatter3d].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=scatter3d].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scatter3d].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scatter3d].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scatter3d].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scatter3d].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scatter3d].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scatter3d].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scatter3d].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scatter3d].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scatter3d].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scatter3d].marker.line +
        + Type: number

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=scatter3d].marker +
      + Type: number less than or equal to 1 +

      Sets the marker opacity. Note that the marker opacity for scatter3d traces must be a scalar value for performance reasons. To set a blending opacity value (i.e. which is not transparent), set "marker.color" to an rgba color and use its alpha channel.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scatter3d].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scatter3d].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scatter3d].marker +
      + Type: number or array of numbers
      Default: 8 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scatter3d].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scatter3d].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scatter3d].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + symbol + +
      Parent: data[type=scatter3d].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"circle"| "circle-open"| "cross"| "diamond"| "diamond-open"| "square"| "square-open"| "x" ) +
      Default: "circle" +

      Sets the marker symbol type.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scatter3d] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scatter3d] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +
    Default: "lines+markers" +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scatter3d] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scatter3d] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + projection + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=scatter3d].projection +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=scatter3d].projection.x +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the projection color.

        +
      • +
      • + + scale + +
        Parent: data[type=scatter3d].projection.x +
        + Type: number less than or equal to 10 +
        Default: 0.6666666666666666 +

        Sets the scale factor determining the size of the projection marker points.

        +
      • +
      • + + show + +
        Parent: data[type=scatter3d].projection.x +
        + Type: boolean

        Sets whether or not projections are shown along the x axis.

        +
      • +
      +
    • +
    • + + y + +
      Parent: data[type=scatter3d].projection +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=scatter3d].projection.y +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the projection color.

        +
      • +
      • + + scale + +
        Parent: data[type=scatter3d].projection.y +
        + Type: number less than or equal to 10 +
        Default: 0.6666666666666666 +

        Sets the scale factor determining the size of the projection marker points.

        +
      • +
      • + + show + +
        Parent: data[type=scatter3d].projection.y +
        + Type: boolean

        Sets whether or not projections are shown along the y axis.

        +
      • +
      +
    • +
    • + + z + +
      Parent: data[type=scatter3d].projection +
      Type: object containing one or more of the keys listed below. +
        +
      • + + opacity + +
        Parent: data[type=scatter3d].projection.z +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the projection color.

        +
      • +
      • + + scale + +
        Parent: data[type=scatter3d].projection.z +
        + Type: number less than or equal to 10 +
        Default: 0.6666666666666666 +

        Sets the scale factor determining the size of the projection marker points.

        +
      • +
      • + + show + +
        Parent: data[type=scatter3d].projection.z +
        + Type: boolean

        Sets whether or not projections are shown along the z axis.

        +
      • +
      +
    • +
    +
  • +
  • + + scene + +
    Parent: data[type=scatter3d] +
    + Type: subplotid +
    Default: scene +

    Sets a reference between this trace's 3D coordinate system and a 3D scene. If "scene" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If "scene2", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scatter3d] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + surfaceaxis + +
    Parent: data[type=scatter3d] +
    + Type: + enumerated , one of ( +"-1"| "0"| "1"| "2" ) +
    Default: "-1" +

    If "-1", the scatter points are not fill with a surface If "0", "1", "2", the scatter points are filled with a Delaunay surface about the x, y, z respectively.

    +
  • +
  • + + surfacecolor + +
    Parent: data[type=scatter3d] +
    + Type: color

    Sets the surface fill color.

    +
  • +
  • + + text + +
    Parent: data[type=scatter3d] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scatter3d] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scatter3d].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scatter3d].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + size + +
      Parent: data[type=scatter3d].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scatter3d].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + variant + +
      Parent: data[type=scatter3d].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scatter3d].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scatter3d] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "top center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scatter3d] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

    +
  • +
  • + + type + +
    Parent: data[type=scatter3d] +
    +Type: "scatter3d" +
  • +
  • + + uid + +
    Parent: data[type=scatter3d] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scatter3d] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=scatter3d] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=scatter3d] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=scatter3d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=scatter3d] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=scatter3d] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=scatter3d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=scatter3d] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=scatter3d] +
    + Type: data_array +

    Sets the z coordinates.

    +
  • +
  • + + zcalendar + +
    Parent: data[type=scatter3d] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `z` date data.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=scatter3d] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `zaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scattercarpet/index.html b/docs/reference/scattercarpet/index.html new file mode 100644 index 00000000000..4869d712872 --- /dev/null +++ b/docs/reference/scattercarpet/index.html @@ -0,0 +1,6475 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scattercarpet - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scattercarpet

+
+ A scattercarpet trace is an object with the key "type" equal to "scattercarpet" + (i.e. {"type": "scattercarpet"}) and any of the keys listed below. +

Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.

+
+
    +
  • + + a + +
    Parent: data[type=scattercarpet] +
    + Type: data_array +

    Sets the a-axis coordinates.

    +
  • +
  • + + b + +
    Parent: data[type=scattercarpet] +
    + Type: data_array +

    Sets the b-axis coordinates.

    +
  • +
  • + + carpet + +
    Parent: data[type=scattercarpet] +
    + Type: string

    An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie

    +
  • +
  • + + connectgaps + +
    Parent: data[type=scattercarpet] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scattercarpet] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + fill + +
    Parent: data[type=scattercarpet] +
    + Type: + enumerated , one of ( +"none"| "toself"| "tonext" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset of the options available to scatter. "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scattercarpet] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scattercarpet] +
    + Type: flaglist string. + + Any combination of "a", "b", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "a", "b", "a+b", "a+b+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scattercarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scattercarpet].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scattercarpet].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scattercarpet].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scattercarpet].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattercarpet].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scattercarpet].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoveron + +
    Parent: data[type=scattercarpet] +
    + Type: flaglist string. + + Any combination of "points", "fills" joined with a "+" + OR . + +
    Examples: "points", "fills", "points+fills", + +

    Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is "toself" or "tonext" and there are no markers or text, then the default is "fills", otherwise it is "points".

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scattercarpet] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scattercarpet] +
    + Type: string or array of strings

    Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scattercarpet] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=scattercarpet] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scattercarpet] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scattercarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scattercarpet].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattercarpet].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scattercarpet].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scattercarpet] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scattercarpet] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scattercarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + backoff + +
      Parent: data[type=scattercarpet].line +
      + Type: number or array of numbers
      Default: "auto" +

      Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous".

      +
    • +
    • + + color + +
      Parent: data[type=scattercarpet].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scattercarpet].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + shape + +
      Parent: data[type=scattercarpet].line +
      + Type: + enumerated , one of ( +"linear"| "spline" ) +
      Default: "linear" +

      Determines the line shape. With "spline" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      +
    • +
    • + + smoothing + +
      Parent: data[type=scattercarpet].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Has an effect only if `shape` is set to "spline" Sets the amount of smoothing. "0" corresponds to no smoothing (equivalent to a "linear" shape).

      +
    • +
    • + + width + +
      Parent: data[type=scattercarpet].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scattercarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scattercarpet].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + angleref + +
      Parent: data[type=scattercarpet].marker +
      + Type: + enumerated , one of ( +"previous"| "up" ) +
      Default: "up" +

      Sets the reference for marker angle. With "previous", angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scattercarpet].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scattercarpet].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scattercarpet].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scattercarpet].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scattercarpet].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scattercarpet].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scattercarpet].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scattercarpet].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scattercarpet].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scattercarpet].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scattercarpet].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scattercarpet].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scattercarpet].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scattercarpet].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scattercarpet].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scattercarpet].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scattercarpet].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scattercarpet].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scattercarpet].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scattercarpet].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scattercarpet].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scattercarpet].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scattercarpet].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + gradient + +
      Parent: data[type=scattercarpet].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattercarpet].marker.gradient +
        + Type: color or array of colors

        Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        +
      • +
      • + + type + +
        Parent: data[type=scattercarpet].marker.gradient +
        + Type: + enumerated or array of enumerateds + , one of ( +"radial"| "horizontal"| "vertical"| "none" ) +
        Default: "none" +

        Sets the type of gradient used to fill the markers

        +
      • +
      +
    • +
    • + + line + +
      Parent: data[type=scattercarpet].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scattercarpet].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + maxdisplayed + +
      Parent: data[type=scattercarpet].marker +
      + Type: number

      Sets a maximum number of points to be drawn on the graph. "0" corresponds to no limit.

      +
    • +
    • + + opacity + +
      Parent: data[type=scattercarpet].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scattercarpet].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scattercarpet].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scattercarpet].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scattercarpet].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scattercarpet].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scattercarpet].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + standoff + +
      Parent: data[type=scattercarpet].marker +
      + Type: number or array of numbers

      Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      +
    • +
    • + + symbol + +
      Parent: data[type=scattercarpet].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scattercarpet] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scattercarpet] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +
    Default: "markers" +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scattercarpet] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scattercarpet] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + selected + +
    Parent: data[type=scattercarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattercarpet].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattercarpet].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattercarpet].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scattercarpet].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattercarpet].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattercarpet].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scattercarpet] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scattercarpet] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=scattercarpet] +
    + Type: string or array of strings

    Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scattercarpet] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scattercarpet].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scattercarpet].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=scattercarpet].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=scattercarpet].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=scattercarpet].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scattercarpet].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=scattercarpet].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=scattercarpet].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scattercarpet].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scattercarpet] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scattercarpet] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `a`, `b` and `text`.

    +
  • +
  • + + type + +
    Parent: data[type=scattercarpet] +
    +Type: "scattercarpet" +
  • +
  • + + uid + +
    Parent: data[type=scattercarpet] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scattercarpet] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scattercarpet] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattercarpet].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattercarpet].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattercarpet].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scattercarpet].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattercarpet].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattercarpet].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scattercarpet] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + xaxis + +
    Parent: data[type=scattercarpet] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + yaxis + +
    Parent: data[type=scattercarpet] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + zorder + +
    Parent: data[type=scattercarpet] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scattergeo/index.html b/docs/reference/scattergeo/index.html new file mode 100644 index 00000000000..54874f46cdb --- /dev/null +++ b/docs/reference/scattergeo/index.html @@ -0,0 +1,6434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scattergeo - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scattergeo

+
+ A scattergeo trace is an object with the key "type" equal to "scattergeo" + (i.e. {"type": "scattergeo"}) and any of the keys listed below. +

The data visualized as scatter point or lines on a geographic map is provided either by longitude/latitude pairs in `lon` and `lat` respectively or by geographic location IDs or names in `locations`.

+
+
    +
  • + + connectgaps + +
    Parent: data[type=scattergeo] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scattergeo] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + featureidkey + +
    Parent: data[type=scattergeo] +
    + Type: string
    Default: "id" +

    Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example "properties.name".

    +
  • +
  • + + fill + +
    Parent: data[type=scattergeo] +
    + Type: + enumerated , one of ( +"none"| "toself" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Use with `fillcolor` if not "none". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scattergeo] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + geo + +
    Parent: data[type=scattergeo] +
    + Type: subplotid +
    Default: geo +

    Sets a reference between this trace's geospatial coordinates and a geographic map. If "geo" (the default value), the geospatial coordinates refer to `layout.geo`. If "geo2", the geospatial coordinates refer to `layout.geo2`, and so on.

    +
  • +
  • + + geojson + +
    Parent: data[type=scattergeo] +
    + Type: number or categorical coordinate string +

    Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used when `locations` is set. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon".

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scattergeo] +
    + Type: flaglist string. + + Any combination of "lon", "lat", "location", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "lon", "lat", "lon+lat", "lon+lat+location", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scattergeo] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scattergeo].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scattergeo].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scattergeo].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scattergeo].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattergeo].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scattergeo].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scattergeo] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scattergeo] +
    + Type: string or array of strings

    Sets hover text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scattergeo] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + lat + +
    Parent: data[type=scattergeo] +
    + Type: data_array +

    Sets the latitude coordinates (in degrees North).

    +
  • +
  • + + legend + +
    Parent: data[type=scattergeo] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scattergeo] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scattergeo] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scattergeo].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattergeo].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scattergeo].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scattergeo] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scattergeo] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scattergeo] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=scattergeo].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scattergeo].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + width + +
      Parent: data[type=scattergeo].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + locationmode + +
    Parent: data[type=scattergeo] +
    + Type: + enumerated , one of ( +"ISO-3"| "USA-states"| "country names"| "geojson-id" ) +
    Default: "ISO-3" +

    Determines the set of locations used to match entries in `locations` to regions on the map. Values "ISO-3", "USA-states", "country names" correspond to features on the base map and value "geojson-id" corresponds to features from a custom GeoJSON linked to the `geojson` attribute.

    +
  • +
  • + + locations + +
    Parent: data[type=scattergeo] +
    + Type: data_array +

    Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.

    +
  • +
  • + + lon + +
    Parent: data[type=scattergeo] +
    + Type: data_array +

    Sets the longitude coordinates (in degrees East).

    +
  • +
  • + + marker + +
    Parent: data[type=scattergeo] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scattergeo].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + angleref + +
      Parent: data[type=scattergeo].marker +
      + Type: + enumerated , one of ( +"previous"| "up"| "north" ) +
      Default: "up" +

      Sets the reference for marker angle. With "previous", angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. With "north", angle 0 points north based on the current map projection.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scattergeo].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scattergeo].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scattergeo].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scattergeo].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scattergeo].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scattergeo].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scattergeo].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scattergeo].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scattergeo].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scattergeo].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scattergeo].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scattergeo].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scattergeo].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scattergeo].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scattergeo].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scattergeo].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scattergeo].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scattergeo].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scattergeo].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scattergeo].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scattergeo].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scattergeo].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scattergeo].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + gradient + +
      Parent: data[type=scattergeo].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergeo].marker.gradient +
        + Type: color or array of colors

        Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        +
      • +
      • + + type + +
        Parent: data[type=scattergeo].marker.gradient +
        + Type: + enumerated or array of enumerateds + , one of ( +"radial"| "horizontal"| "vertical"| "none" ) +
        Default: "none" +

        Sets the type of gradient used to fill the markers

        +
      • +
      +
    • +
    • + + line + +
      Parent: data[type=scattergeo].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scattergeo].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scattergeo].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scattergeo].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scattergeo].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scattergeo].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scattergeo].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scattergeo].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scattergeo].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scattergeo].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scattergeo].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=scattergeo].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scattergeo].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scattergeo].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scattergeo].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scattergeo].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scattergeo].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scattergeo].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + standoff + +
      Parent: data[type=scattergeo].marker +
      + Type: number or array of numbers

      Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      +
    • +
    • + + symbol + +
      Parent: data[type=scattergeo].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scattergeo] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scattergeo] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +
    Default: "markers" +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scattergeo] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scattergeo] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + selected + +
    Parent: data[type=scattergeo] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattergeo].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergeo].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattergeo].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scattergeo].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattergeo].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergeo].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scattergeo] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scattergeo] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=scattergeo] +
    + Type: string or array of strings

    Sets text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scattergeo] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scattergeo].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scattergeo].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=scattergeo].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=scattergeo].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=scattergeo].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scattergeo].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=scattergeo].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=scattergeo].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scattergeo].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scattergeo] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scattergeo] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon`, `location` and `text`.

    +
  • +
  • + + type + +
    Parent: data[type=scattergeo] +
    +Type: "scattergeo" +
  • +
  • + + uid + +
    Parent: data[type=scattergeo] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scattergeo] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scattergeo] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattergeo].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergeo].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattergeo].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scattergeo].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattergeo].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergeo].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scattergeo] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scattergl/index.html b/docs/reference/scattergl/index.html new file mode 100644 index 00000000000..bbf455be7a9 --- /dev/null +++ b/docs/reference/scattergl/index.html @@ -0,0 +1,6699 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scattergl - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scattergl

+
+ A scattergl trace is an object with the key "type" equal to "scattergl" + (i.e. {"type": "scattergl"}) and any of the keys listed below. +

The data visualized as scatter point or lines is set in `x` and `y` using the WebGL plotting engine. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to a numerical arrays.

+
+
    +
  • + + connectgaps + +
    Parent: data[type=scattergl] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scattergl] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dx + +
    Parent: data[type=scattergl] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + dy + +
    Parent: data[type=scattergl] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + error_x + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=scattergl].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=scattergl].error_x +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=scattergl].error_x +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + copy_ystyle + +
      Parent: data[type=scattergl].error_x +
      + Type: boolean
    • +
    • + + symmetric + +
      Parent: data[type=scattergl].error_x +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=scattergl].error_x +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=scattergl].error_x +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=scattergl].error_x +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=scattergl].error_x +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=scattergl].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=scattergl].error_x +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=scattergl].error_x +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=scattergl].error_x +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + error_y + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + array + +
      Parent: data[type=scattergl].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      +
    • +
    • + + arrayminus + +
      Parent: data[type=scattergl].error_y +
      + Type: data_array +

      Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      +
    • +
    • + + color + +
      Parent: data[type=scattergl].error_y +
      + Type: color

      Sets the stroke color of the error bars.

      +
    • +
    • + + symmetric + +
      Parent: data[type=scattergl].error_y +
      + Type: boolean

      Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      +
    • +
    • + + thickness + +
      Parent: data[type=scattergl].error_y +
      + Type: number
      Default: 2 +

      Sets the thickness (in px) of the error bars.

      +
    • +
    • + + traceref + +
      Parent: data[type=scattergl].error_y +
      + Type: integer
    • +
    • + + tracerefminus + +
      Parent: data[type=scattergl].error_y +
      + Type: integer
    • +
    • + + type + +
      Parent: data[type=scattergl].error_y +
      + Type: + enumerated , one of ( +"percent"| "constant"| "sqrt"| "data" ) +

      Determines the rule used to generate the error bars. If "constant", the bar lengths are of a constant value. Set this constant in `value`. If "percent", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If "sqrt", the bar lengths correspond to the square of the underlying data. If "data", the bar lengths are set with data set `array`.

      +
    • +
    • + + value + +
      Parent: data[type=scattergl].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars.

      +
    • +
    • + + valueminus + +
      Parent: data[type=scattergl].error_y +
      + Type: number
      Default: 10 +

      Sets the value of either the percentage (if `type` is set to "percent") or the constant (if `type` is set to "constant") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      +
    • +
    • + + visible + +
      Parent: data[type=scattergl].error_y +
      + Type: boolean

      Determines whether or not this set of error bars is visible.

      +
    • +
    • + + width + +
      Parent: data[type=scattergl].error_y +
      + Type: number

      Sets the width (in px) of the cross-bar at both ends of the error bars.

      +
    • +
    +
  • +
  • + + fill + +
    Parent: data[type=scattergl] +
    + Type: + enumerated , one of ( +"none"| "tozeroy"| "tozerox"| "tonexty"| "tonextx"| "toself"| "tonext" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Defaults to "none" unless this trace is stacked, then it gets "tonexty" ("tonextx") if `orientation` is "v" ("h") Use with `fillcolor` if not "none". "tozerox" and "tozeroy" fill to x=0 and y=0 respectively. "tonextx" and "tonexty" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scattergl] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scattergl] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scattergl].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scattergl].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scattergl].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scattergl].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattergl].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scattergl].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scattergl] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scattergl] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scattergl] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=scattergl] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scattergl] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scattergl].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattergl].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scattergl].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scattergl] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scattergl] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=scattergl].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scattergl].line +
      + Type: + enumerated , one of ( +"dash"| "dashdot"| "dot"| "longdash"| "longdashdot"| "solid" ) +
      Default: "solid" +

      Sets the style of the lines.

      +
    • +
    • + + shape + +
      Parent: data[type=scattergl].line +
      + Type: + enumerated , one of ( +"linear"| "hv"| "vh"| "hvh"| "vhv" ) +
      Default: "linear" +

      Determines the line shape. The values correspond to step-wise line shapes.

      +
    • +
    • + + width + +
      Parent: data[type=scattergl].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scattergl].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scattergl].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scattergl].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scattergl].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scattergl].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scattergl].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scattergl].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scattergl].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scattergl].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scattergl].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scattergl].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scattergl].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scattergl].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scattergl].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scattergl].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scattergl].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scattergl].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scattergl].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scattergl].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scattergl].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scattergl].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scattergl].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scattergl].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scattergl].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=scattergl].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scattergl].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scattergl].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scattergl].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scattergl].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scattergl].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scattergl].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scattergl].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scattergl].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scattergl].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scattergl].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=scattergl].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scattergl].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scattergl].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scattergl].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scattergl].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scattergl].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scattergl].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + symbol + +
      Parent: data[type=scattergl].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scattergl] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +

    Determines the drawing mode for this scatter trace.

    +
  • +
  • + + name + +
    Parent: data[type=scattergl] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scattergl] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + selected + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattergl].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergl].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattergl].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scattergl].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattergl].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergl].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scattergl] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=scattergl] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scattergl].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scattergl].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + size + +
      Parent: data[type=scattergl].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scattergl].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + variant + +
      Parent: data[type=scattergl].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scattergl].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "bold" ) +
      Default: "normal" +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scattergl] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scattergl] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

    +
  • +
  • + + type + +
    Parent: data[type=scattergl] +
    +Type: "scattergl" +
  • +
  • + + uid + +
    Parent: data[type=scattergl] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scattergl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattergl].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergl].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattergl].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scattergl].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattergl].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattergl].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scattergl] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=scattergl] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + x0 + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + xaxis + +
    Parent: data[type=scattergl] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=scattergl] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=scattergl] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=scattergl] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + y + +
    Parent: data[type=scattergl] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + y0 + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + yaxis + +
    Parent: data[type=scattergl] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=scattergl] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=scattergl] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=scattergl] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=scattergl] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scattermap/index.html b/docs/reference/scattermap/index.html new file mode 100644 index 00000000000..49c3dbb3969 --- /dev/null +++ b/docs/reference/scattermap/index.html @@ -0,0 +1,6233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scattermap - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scattermap

+
+ A scattermap trace is an object with the key "type" equal to "scattermap" + (i.e. {"type": "scattermap"}) and any of the keys listed below. +

The data visualized as scatter point, lines or marker symbols on a MapLibre GL geographic map is provided by longitude/latitude pairs in `lon` and `lat`.

+
+
    +
  • + + below + +
    Parent: data[type=scattermap] +
    + Type: string

    Determines if this scattermap trace's layers are to be inserted before the layer with the specified ID. By default, scattermap layers are inserted above all the base layers. To place the scattermap layers above every other layer, set `below` to "''".

    +
  • +
  • + + cluster + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=scattermap].cluster +
      + Type: color or array of colors

      Sets the color for each cluster step.

      +
    • +
    • + + enabled + +
      Parent: data[type=scattermap].cluster +
      + Type: boolean

      Determines whether clustering is enabled or disabled.

      +
    • +
    • + + maxzoom + +
      Parent: data[type=scattermap].cluster +
      + Type: number less than or equal to 24 +
      Default: 24 +

      Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.

      +
    • +
    • + + opacity + +
      Parent: data[type=scattermap].cluster +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the marker opacity.

      +
    • +
    • + + size + +
      Parent: data[type=scattermap].cluster +
      + Type: number or array of numbers
      Default: 20 +

      Sets the size for each cluster step.

      +
    • +
    • + + step + +
      Parent: data[type=scattermap].cluster +
      + Type: number or array of numbers greater than or equal to -1 +
      Default: -1 +

      Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in conjunction with arrays for `size` and / or `color`. If an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value.

      +
    • +
    +
  • +
  • + + connectgaps + +
    Parent: data[type=scattermap] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scattermap] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + fill + +
    Parent: data[type=scattermap] +
    + Type: + enumerated , one of ( +"none"| "toself" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Use with `fillcolor` if not "none". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scattermap] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scattermap] +
    + Type: flaglist string. + + Any combination of "lon", "lat", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "lon", "lat", "lon+lat", "lon+lat+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scattermap].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scattermap].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scattermap].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scattermap].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattermap].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scattermap].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scattermap] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scattermap] +
    + Type: string or array of strings

    Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scattermap] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + lat + +
    Parent: data[type=scattermap] +
    + Type: data_array +

    Sets the latitude coordinates (in degrees North).

    +
  • +
  • + + legend + +
    Parent: data[type=scattermap] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scattermap] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scattermap].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattermap].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scattermap].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scattermap] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scattermap] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=scattermap].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + width + +
      Parent: data[type=scattermap].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + lon + +
    Parent: data[type=scattermap] +
    + Type: data_array +

    Sets the longitude coordinates (in degrees East).

    +
  • +
  • + + marker + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + allowoverlap + +
      Parent: data[type=scattermap].marker +
      + Type: boolean

      Flag to draw all symbols, even if they overlap.

      +
    • +
    • + + angle + +
      Parent: data[type=scattermap].marker +
      + Type: number or array of numbers
      Default: "auto" +

      Sets the marker orientation from true North, in degrees clockwise. When using the "auto" default, no rotation would be applied in perspective views which is different from using a zero angle.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scattermap].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scattermap].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scattermap].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scattermap].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scattermap].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scattermap].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scattermap].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scattermap].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scattermap].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scattermap].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scattermap].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scattermap].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scattermap].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scattermap].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scattermap].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scattermap].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scattermap].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scattermap].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scattermap].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scattermap].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scattermap].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scattermap].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scattermap].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + opacity + +
      Parent: data[type=scattermap].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scattermap].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scattermap].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scattermap].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scattermap].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scattermap].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scattermap].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + symbol + +
      Parent: data[type=scattermap].marker +
      + Type: string or array of strings
      Default: "circle" +

      Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for "circle" symbols.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scattermap] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scattermap] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +
    Default: "markers" +

    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.

    +
  • +
  • + + name + +
    Parent: data[type=scattermap] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scattermap] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + selected + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattermap].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattermap].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattermap].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scattermap].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scattermap] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scattermap] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + subplot + +
    Parent: data[type=scattermap] +
    + Type: subplotid +
    Default: map +

    Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the data refer to `layout.map`. If "map2", the data refer to `layout.map2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=scattermap] +
    + Type: string or array of strings

    Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +

    Sets the icon text font (color=map.layer.paint.text-color, size=map.layer.layout.text-size). Has an effect only when `type` is set to "symbol".

    +
      +
    • + + color + +
      Parent: data[type=scattermap].textfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=scattermap].textfont +
      + Type: string
      Default: "Open Sans Regular, Arial Unicode MS Regular" +

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + size + +
      Parent: data[type=scattermap].textfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scattermap].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + weight + +
      Parent: data[type=scattermap].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scattermap] +
    + Type: + enumerated , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scattermap] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon` and `text`.

    +
  • +
  • + + type + +
    Parent: data[type=scattermap] +
    +Type: "scattermap" +
  • +
  • + + uid + +
    Parent: data[type=scattermap] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scattermap] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scattermap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattermap].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattermap].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattermap].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scattermap].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scattermap] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scattermapbox/index.html b/docs/reference/scattermapbox/index.html new file mode 100644 index 00000000000..fcd4d1624d6 --- /dev/null +++ b/docs/reference/scattermapbox/index.html @@ -0,0 +1,6233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scattermapbox - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scattermapbox

+
+ A scattermapbox trace is an object with the key "type" equal to "scattermapbox" + (i.e. {"type": "scattermapbox"}) and any of the keys listed below. +

"scattermapbox" trace is deprecated! Please consider switching to the "scattermap" trace type and `map` subplots. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ The data visualized as scatter point, lines or marker symbols on a Mapbox GL geographic map is provided by longitude/latitude pairs in `lon` and `lat`.

+
+
    +
  • + + below + +
    Parent: data[type=scattermapbox] +
    + Type: string

    Determines if this scattermapbox trace's layers are to be inserted before the layer with the specified ID. By default, scattermapbox layers are inserted above all the base layers. To place the scattermapbox layers above every other layer, set `below` to "''".

    +
  • +
  • + + cluster + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=scattermapbox].cluster +
      + Type: color or array of colors

      Sets the color for each cluster step.

      +
    • +
    • + + enabled + +
      Parent: data[type=scattermapbox].cluster +
      + Type: boolean

      Determines whether clustering is enabled or disabled.

      +
    • +
    • + + maxzoom + +
      Parent: data[type=scattermapbox].cluster +
      + Type: number less than or equal to 24 +
      Default: 24 +

      Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.

      +
    • +
    • + + opacity + +
      Parent: data[type=scattermapbox].cluster +
      + Type: number or array of numbers less than or equal to 1 +
      Default: 1 +

      Sets the marker opacity.

      +
    • +
    • + + size + +
      Parent: data[type=scattermapbox].cluster +
      + Type: number or array of numbers
      Default: 20 +

      Sets the size for each cluster step.

      +
    • +
    • + + step + +
      Parent: data[type=scattermapbox].cluster +
      + Type: number or array of numbers greater than or equal to -1 +
      Default: -1 +

      Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in conjunction with arrays for `size` and / or `color`. If an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value.

      +
    • +
    +
  • +
  • + + connectgaps + +
    Parent: data[type=scattermapbox] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scattermapbox] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + fill + +
    Parent: data[type=scattermapbox] +
    + Type: + enumerated , one of ( +"none"| "toself" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Use with `fillcolor` if not "none". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scattermapbox] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scattermapbox] +
    + Type: flaglist string. + + Any combination of "lon", "lat", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "lon", "lat", "lon+lat", "lon+lat+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scattermapbox].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scattermapbox].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scattermapbox].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scattermapbox].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattermapbox].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scattermapbox].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scattermapbox] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scattermapbox] +
    + Type: string or array of strings

    Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scattermapbox] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + lat + +
    Parent: data[type=scattermapbox] +
    + Type: data_array +

    Sets the latitude coordinates (in degrees North).

    +
  • +
  • + + legend + +
    Parent: data[type=scattermapbox] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scattermapbox] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scattermapbox].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattermapbox].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scattermapbox].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scattermapbox] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scattermapbox] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=scattermapbox].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + width + +
      Parent: data[type=scattermapbox].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + lon + +
    Parent: data[type=scattermapbox] +
    + Type: data_array +

    Sets the longitude coordinates (in degrees East).

    +
  • +
  • + + marker + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + allowoverlap + +
      Parent: data[type=scattermapbox].marker +
      + Type: boolean

      Flag to draw all symbols, even if they overlap.

      +
    • +
    • + + angle + +
      Parent: data[type=scattermapbox].marker +
      + Type: number or array of numbers
      Default: "auto" +

      Sets the marker orientation from true North, in degrees clockwise. When using the "auto" default, no rotation would be applied in perspective views which is different from using a zero angle.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scattermapbox].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scattermapbox].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scattermapbox].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scattermapbox].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scattermapbox].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scattermapbox].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scattermapbox].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scattermapbox].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scattermapbox].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scattermapbox].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scattermapbox].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scattermapbox].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scattermapbox].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scattermapbox].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scattermapbox].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scattermapbox].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scattermapbox].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scattermapbox].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scattermapbox].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scattermapbox].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scattermapbox].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scattermapbox].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scattermapbox].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + opacity + +
      Parent: data[type=scattermapbox].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scattermapbox].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scattermapbox].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scattermapbox].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scattermapbox].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scattermapbox].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scattermapbox].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + symbol + +
      Parent: data[type=scattermapbox].marker +
      + Type: string or array of strings
      Default: "circle" +

      Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for "circle" symbols.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scattermapbox] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scattermapbox] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +
    Default: "markers" +

    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.

    +
  • +
  • + + name + +
    Parent: data[type=scattermapbox] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scattermapbox] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + selected + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattermapbox].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattermapbox].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattermapbox].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scattermapbox].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scattermapbox] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scattermapbox] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + subplot + +
    Parent: data[type=scattermapbox] +
    + Type: subplotid +
    Default: mapbox +

    mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If "mapbox" (the default value), the data refer to `layout.mapbox`. If "mapbox2", the data refer to `layout.mapbox2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=scattermapbox] +
    + Type: string or array of strings

    Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +

    Sets the icon text font (color=mapbox.layer.paint.text-color, size=mapbox.layer.layout.text-size). Has an effect only when `type` is set to "symbol".

    +
      +
    • + + color + +
      Parent: data[type=scattermapbox].textfont +
      + Type: color
    • +
    • + + family + +
      Parent: data[type=scattermapbox].textfont +
      + Type: string
      Default: "Open Sans Regular, Arial Unicode MS Regular" +

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + size + +
      Parent: data[type=scattermapbox].textfont +
      + Type: number greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scattermapbox].textfont +
      + Type: + enumerated , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + weight + +
      Parent: data[type=scattermapbox].textfont +
      + Type: integer between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scattermapbox] +
    + Type: + enumerated , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scattermapbox] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon` and `text`.

    +
  • +
  • + + type + +
    Parent: data[type=scattermapbox] +
    +Type: "scattermapbox" +
  • +
  • + + uid + +
    Parent: data[type=scattermapbox] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scattermapbox] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scattermapbox] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattermapbox].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattermapbox].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattermapbox].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scattermapbox].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scattermapbox] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scatterpolar/index.html b/docs/reference/scatterpolar/index.html new file mode 100644 index 00000000000..dc2133d7192 --- /dev/null +++ b/docs/reference/scatterpolar/index.html @@ -0,0 +1,6503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scatterpolar - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scatterpolar

+
+ A scatterpolar trace is an object with the key "type" equal to "scatterpolar" + (i.e. {"type": "scatterpolar"}) and any of the keys listed below. +

The scatterpolar trace type encompasses line charts, scatter charts, text charts, and bubble charts in polar coordinates. The data visualized as scatter point or lines is set in `r` (radial) and `theta` (angular) coordinates 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 numerical arrays.

+
+
    +
  • + + cliponaxis + +
    Parent: data[type=scatterpolar] +
    + Type: boolean

    Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + connectgaps + +
    Parent: data[type=scatterpolar] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scatterpolar] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dr + +
    Parent: data[type=scatterpolar] +
    + Type: number
    Default: 1 +

    Sets the r coordinate step.

    +
  • +
  • + + dtheta + +
    Parent: data[type=scatterpolar] +
    + Type: number

    Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.

    +
  • +
  • + + fill + +
    Parent: data[type=scatterpolar] +
    + Type: + enumerated , one of ( +"none"| "toself"| "tonext" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterpolar has a subset of the options available to scatter. "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scatterpolar] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scatterpolar] +
    + Type: flaglist string. + + Any combination of "r", "theta", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "r", "theta", "r+theta", "r+theta+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scatterpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scatterpolar].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scatterpolar].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scatterpolar].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scatterpolar].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatterpolar].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scatterpolar].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoveron + +
    Parent: data[type=scatterpolar] +
    + Type: flaglist string. + + Any combination of "points", "fills" joined with a "+" + OR . + +
    Examples: "points", "fills", "points+fills", + +

    Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is "toself" or "tonext" and there are no markers or text, then the default is "fills", otherwise it is "points".

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scatterpolar] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scatterpolar] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scatterpolar] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=scatterpolar] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scatterpolar] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scatterpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scatterpolar].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatterpolar].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scatterpolar].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scatterpolar] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scatterpolar] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scatterpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + backoff + +
      Parent: data[type=scatterpolar].line +
      + Type: number or array of numbers
      Default: "auto" +

      Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous".

      +
    • +
    • + + color + +
      Parent: data[type=scatterpolar].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scatterpolar].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + shape + +
      Parent: data[type=scatterpolar].line +
      + Type: + enumerated , one of ( +"linear"| "spline" ) +
      Default: "linear" +

      Determines the line shape. With "spline" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      +
    • +
    • + + smoothing + +
      Parent: data[type=scatterpolar].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Has an effect only if `shape` is set to "spline" Sets the amount of smoothing. "0" corresponds to no smoothing (equivalent to a "linear" shape).

      +
    • +
    • + + width + +
      Parent: data[type=scatterpolar].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scatterpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scatterpolar].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + angleref + +
      Parent: data[type=scatterpolar].marker +
      + Type: + enumerated , one of ( +"previous"| "up" ) +
      Default: "up" +

      Sets the reference for marker angle. With "previous", angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scatterpolar].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scatterpolar].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scatterpolar].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scatterpolar].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scatterpolar].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scatterpolar].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scatterpolar].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scatterpolar].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scatterpolar].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scatterpolar].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scatterpolar].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scatterpolar].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scatterpolar].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scatterpolar].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scatterpolar].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scatterpolar].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scatterpolar].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scatterpolar].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scatterpolar].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scatterpolar].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scatterpolar].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scatterpolar].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scatterpolar].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + gradient + +
      Parent: data[type=scatterpolar].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolar].marker.gradient +
        + Type: color or array of colors

        Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        +
      • +
      • + + type + +
        Parent: data[type=scatterpolar].marker.gradient +
        + Type: + enumerated or array of enumerateds + , one of ( +"radial"| "horizontal"| "vertical"| "none" ) +
        Default: "none" +

        Sets the type of gradient used to fill the markers

        +
      • +
      +
    • +
    • + + line + +
      Parent: data[type=scatterpolar].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scatterpolar].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + maxdisplayed + +
      Parent: data[type=scatterpolar].marker +
      + Type: number

      Sets a maximum number of points to be drawn on the graph. "0" corresponds to no limit.

      +
    • +
    • + + opacity + +
      Parent: data[type=scatterpolar].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scatterpolar].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scatterpolar].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scatterpolar].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scatterpolar].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scatterpolar].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scatterpolar].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + standoff + +
      Parent: data[type=scatterpolar].marker +
      + Type: number or array of numbers

      Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      +
    • +
    • + + symbol + +
      Parent: data[type=scatterpolar].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scatterpolar] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scatterpolar] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scatterpolar] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scatterpolar] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + r + +
    Parent: data[type=scatterpolar] +
    + Type: data_array +

    Sets the radial coordinates

    +
  • +
  • + + r0 + +
    Parent: data[type=scatterpolar] +
    + Type: number or categorical coordinate string +

    Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.

    +
  • +
  • + + selected + +
    Parent: data[type=scatterpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatterpolar].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolar].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatterpolar].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolar].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatterpolar].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolar].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scatterpolar] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scatterpolar] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + subplot + +
    Parent: data[type=scatterpolar] +
    + Type: subplotid +
    Default: polar +

    Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), the data refer to `layout.polar`. If "polar2", the data refer to `layout.polar2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=scatterpolar] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scatterpolar] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scatterpolar].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scatterpolar].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=scatterpolar].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=scatterpolar].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=scatterpolar].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scatterpolar].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=scatterpolar].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=scatterpolar].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scatterpolar].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scatterpolar] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scatterpolar] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `r`, `theta` and `text`.

    +
  • +
  • + + theta + +
    Parent: data[type=scatterpolar] +
    + Type: data_array +

    Sets the angular coordinates

    +
  • +
  • + + theta0 + +
    Parent: data[type=scatterpolar] +
    + Type: number or categorical coordinate string +

    Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.

    +
  • +
  • + + thetaunit + +
    Parent: data[type=scatterpolar] +
    + Type: + enumerated , one of ( +"radians"| "degrees"| "gradians" ) +
    Default: "degrees" +

    Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes.

    +
  • +
  • + + type + +
    Parent: data[type=scatterpolar] +
    +Type: "scatterpolar" +
  • +
  • + + uid + +
    Parent: data[type=scatterpolar] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scatterpolar] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scatterpolar] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatterpolar].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolar].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatterpolar].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolar].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatterpolar].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolar].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scatterpolar] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scatterpolargl/index.html b/docs/reference/scatterpolargl/index.html new file mode 100644 index 00000000000..6a240e1ced1 --- /dev/null +++ b/docs/reference/scatterpolargl/index.html @@ -0,0 +1,6359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scatterpolargl - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scatterpolargl

+
+ A scatterpolargl trace is an object with the key "type" equal to "scatterpolargl" + (i.e. {"type": "scatterpolargl"}) and any of the keys listed below. +

The scatterpolargl trace type encompasses line charts, scatter charts, and bubble charts in polar coordinates using the WebGL plotting engine. The data visualized as scatter point or lines is set in `r` (radial) and `theta` (angular) coordinates Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays.

+
+
    +
  • + + connectgaps + +
    Parent: data[type=scatterpolargl] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scatterpolargl] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + dr + +
    Parent: data[type=scatterpolargl] +
    + Type: number
    Default: 1 +

    Sets the r coordinate step.

    +
  • +
  • + + dtheta + +
    Parent: data[type=scatterpolargl] +
    + Type: number

    Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.

    +
  • +
  • + + fill + +
    Parent: data[type=scatterpolargl] +
    + Type: + enumerated , one of ( +"none"| "tozeroy"| "tozerox"| "tonexty"| "tonextx"| "toself"| "tonext" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Defaults to "none" unless this trace is stacked, then it gets "tonexty" ("tonextx") if `orientation` is "v" ("h") Use with `fillcolor` if not "none". "tozerox" and "tozeroy" fill to x=0 and y=0 respectively. "tonextx" and "tonexty" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scatterpolargl] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scatterpolargl] +
    + Type: flaglist string. + + Any combination of "r", "theta", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "r", "theta", "r+theta", "r+theta+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scatterpolargl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scatterpolargl].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scatterpolargl].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scatterpolargl].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scatterpolargl].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatterpolargl].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scatterpolargl].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scatterpolargl] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scatterpolargl] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scatterpolargl] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=scatterpolargl] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scatterpolargl] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scatterpolargl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scatterpolargl].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatterpolargl].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scatterpolargl].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scatterpolargl] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scatterpolargl] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scatterpolargl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=scatterpolargl].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scatterpolargl].line +
      + Type: + enumerated , one of ( +"dash"| "dashdot"| "dot"| "longdash"| "longdashdot"| "solid" ) +
      Default: "solid" +

      Sets the style of the lines.

      +
    • +
    • + + width + +
      Parent: data[type=scatterpolargl].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scatterpolargl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scatterpolargl].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scatterpolargl].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scatterpolargl].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scatterpolargl].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scatterpolargl].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scatterpolargl].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scatterpolargl].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scatterpolargl].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scatterpolargl].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scatterpolargl].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scatterpolargl].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scatterpolargl].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scatterpolargl].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scatterpolargl].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scatterpolargl].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=scatterpolargl].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scatterpolargl].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=scatterpolargl].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scatterpolargl].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scatterpolargl].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scatterpolargl].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scatterpolargl].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scatterpolargl].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scatterpolargl].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + symbol + +
      Parent: data[type=scatterpolargl].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scatterpolargl] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scatterpolargl] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scatterpolargl] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scatterpolargl] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + r + +
    Parent: data[type=scatterpolargl] +
    + Type: data_array +

    Sets the radial coordinates

    +
  • +
  • + + r0 + +
    Parent: data[type=scatterpolargl] +
    + Type: number or categorical coordinate string +

    Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.

    +
  • +
  • + + selected + +
    Parent: data[type=scatterpolargl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatterpolargl].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolargl].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatterpolargl].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolargl].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatterpolargl].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolargl].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scatterpolargl] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scatterpolargl] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + subplot + +
    Parent: data[type=scatterpolargl] +
    + Type: subplotid +
    Default: polar +

    Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), the data refer to `layout.polar`. If "polar2", the data refer to `layout.polar2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=scatterpolargl] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scatterpolargl] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scatterpolargl].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scatterpolargl].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + size + +
      Parent: data[type=scatterpolargl].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scatterpolargl].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + variant + +
      Parent: data[type=scatterpolargl].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scatterpolargl].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "bold" ) +
      Default: "normal" +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scatterpolargl] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scatterpolargl] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `r`, `theta` and `text`.

    +
  • +
  • + + theta + +
    Parent: data[type=scatterpolargl] +
    + Type: data_array +

    Sets the angular coordinates

    +
  • +
  • + + theta0 + +
    Parent: data[type=scatterpolargl] +
    + Type: number or categorical coordinate string +

    Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.

    +
  • +
  • + + thetaunit + +
    Parent: data[type=scatterpolargl] +
    + Type: + enumerated , one of ( +"radians"| "degrees"| "gradians" ) +
    Default: "degrees" +

    Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes.

    +
  • +
  • + + type + +
    Parent: data[type=scatterpolargl] +
    +Type: "scatterpolargl" +
  • +
  • + + uid + +
    Parent: data[type=scatterpolargl] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scatterpolargl] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scatterpolargl] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatterpolargl].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolargl].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatterpolargl].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scatterpolargl].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatterpolargl].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterpolargl].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scatterpolargl] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scattersmith/index.html b/docs/reference/scattersmith/index.html new file mode 100644 index 00000000000..7939d31e822 --- /dev/null +++ b/docs/reference/scattersmith/index.html @@ -0,0 +1,6456 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scattersmith - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scattersmith

+
+ A scattersmith trace is an object with the key "type" equal to "scattersmith" + (i.e. {"type": "scattersmith"}) and any of the keys listed below. +

The scattersmith trace type encompasses line charts, scatter charts, text charts, and bubble charts in smith coordinates. The data visualized as scatter point or lines is set in `real` and `imag` (imaginary) coordinates 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 numerical arrays.

+
+
    +
  • + + cliponaxis + +
    Parent: data[type=scattersmith] +
    + Type: boolean

    Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + connectgaps + +
    Parent: data[type=scattersmith] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scattersmith] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + fill + +
    Parent: data[type=scattersmith] +
    + Type: + enumerated , one of ( +"none"| "toself"| "tonext" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scattersmith has a subset of the options available to scatter. "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scattersmith] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scattersmith] +
    + Type: flaglist string. + + Any combination of "real", "imag", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "real", "imag", "real+imag", "real+imag+text", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scattersmith] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scattersmith].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scattersmith].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scattersmith].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scattersmith].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattersmith].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scattersmith].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoveron + +
    Parent: data[type=scattersmith] +
    + Type: flaglist string. + + Any combination of "points", "fills" joined with a "+" + OR . + +
    Examples: "points", "fills", "points+fills", + +

    Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is "toself" or "tonext" and there are no markers or text, then the default is "fills", otherwise it is "points".

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scattersmith] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scattersmith] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scattersmith] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + imag + +
    Parent: data[type=scattersmith] +
    + Type: data_array +

    Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.

    +
  • +
  • + + legend + +
    Parent: data[type=scattersmith] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scattersmith] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scattersmith] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scattersmith].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scattersmith].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scattersmith].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scattersmith] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scattersmith] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scattersmith] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + backoff + +
      Parent: data[type=scattersmith].line +
      + Type: number or array of numbers
      Default: "auto" +

      Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous".

      +
    • +
    • + + color + +
      Parent: data[type=scattersmith].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scattersmith].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + shape + +
      Parent: data[type=scattersmith].line +
      + Type: + enumerated , one of ( +"linear"| "spline" ) +
      Default: "linear" +

      Determines the line shape. With "spline" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      +
    • +
    • + + smoothing + +
      Parent: data[type=scattersmith].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Has an effect only if `shape` is set to "spline" Sets the amount of smoothing. "0" corresponds to no smoothing (equivalent to a "linear" shape).

      +
    • +
    • + + width + +
      Parent: data[type=scattersmith].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scattersmith] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scattersmith].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + angleref + +
      Parent: data[type=scattersmith].marker +
      + Type: + enumerated , one of ( +"previous"| "up" ) +
      Default: "up" +

      Sets the reference for marker angle. With "previous", angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scattersmith].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scattersmith].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scattersmith].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scattersmith].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scattersmith].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scattersmith].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scattersmith].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scattersmith].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scattersmith].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scattersmith].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scattersmith].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scattersmith].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scattersmith].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scattersmith].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scattersmith].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scattersmith].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scattersmith].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scattersmith].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scattersmith].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scattersmith].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scattersmith].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scattersmith].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scattersmith].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + gradient + +
      Parent: data[type=scattersmith].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattersmith].marker.gradient +
        + Type: color or array of colors

        Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        +
      • +
      • + + type + +
        Parent: data[type=scattersmith].marker.gradient +
        + Type: + enumerated or array of enumerateds + , one of ( +"radial"| "horizontal"| "vertical"| "none" ) +
        Default: "none" +

        Sets the type of gradient used to fill the markers

        +
      • +
      +
    • +
    • + + line + +
      Parent: data[type=scattersmith].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scattersmith].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scattersmith].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scattersmith].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scattersmith].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scattersmith].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scattersmith].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scattersmith].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scattersmith].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scattersmith].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scattersmith].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + maxdisplayed + +
      Parent: data[type=scattersmith].marker +
      + Type: number

      Sets a maximum number of points to be drawn on the graph. "0" corresponds to no limit.

      +
    • +
    • + + opacity + +
      Parent: data[type=scattersmith].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scattersmith].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scattersmith].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scattersmith].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scattersmith].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scattersmith].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scattersmith].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + standoff + +
      Parent: data[type=scattersmith].marker +
      + Type: number or array of numbers

      Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      +
    • +
    • + + symbol + +
      Parent: data[type=scattersmith].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scattersmith] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scattersmith] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scattersmith] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scattersmith] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + real + +
    Parent: data[type=scattersmith] +
    + Type: data_array +

    Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.

    +
  • +
  • + + selected + +
    Parent: data[type=scattersmith] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattersmith].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattersmith].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattersmith].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scattersmith].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattersmith].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattersmith].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scattersmith] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scattersmith] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + subplot + +
    Parent: data[type=scattersmith] +
    + Type: subplotid +
    Default: smith +

    Sets a reference between this trace's data coordinates and a smith subplot. If "smith" (the default value), the data refer to `layout.smith`. If "smith2", the data refer to `layout.smith2`, and so on.

    +
  • +
  • + + text + +
    Parent: data[type=scattersmith] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scattersmith] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scattersmith].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scattersmith].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=scattersmith].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=scattersmith].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=scattersmith].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scattersmith].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=scattersmith].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=scattersmith].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scattersmith].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scattersmith] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scattersmith] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `real`, `imag` and `text`.

    +
  • +
  • + + type + +
    Parent: data[type=scattersmith] +
    +Type: "scattersmith" +
  • +
  • + + uid + +
    Parent: data[type=scattersmith] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scattersmith] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scattersmith] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scattersmith].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattersmith].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scattersmith].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scattersmith].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scattersmith].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scattersmith].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scattersmith] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/scatterternary/index.html b/docs/reference/scatterternary/index.html new file mode 100644 index 00000000000..a631f114b58 --- /dev/null +++ b/docs/reference/scatterternary/index.html @@ -0,0 +1,6475 @@ + + + + + + + + + + + + + + + + + + + + + + + + + scatterternary - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

scatterternary

+
+ A scatterternary trace is an object with the key "type" equal to "scatterternary" + (i.e. {"type": "scatterternary"}) and any of the keys listed below. +

Provides similar functionality to the "scatter" type but on a ternary phase diagram. The data is provided by at least two arrays out of `a`, `b`, `c` triplets.

+
+
    +
  • + + a + +
    Parent: data[type=scatterternary] +
    + Type: data_array +

    Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.

    +
  • +
  • + + b + +
    Parent: data[type=scatterternary] +
    + Type: data_array +

    Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.

    +
  • +
  • + + c + +
    Parent: data[type=scatterternary] +
    + Type: data_array +

    Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.

    +
  • +
  • + + cliponaxis + +
    Parent: data[type=scatterternary] +
    + Type: boolean
    Default: true +

    Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + connectgaps + +
    Parent: data[type=scatterternary] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    +
  • +
  • + + customdata + +
    Parent: data[type=scatterternary] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + fill + +
    Parent: data[type=scatterternary] +
    + Type: + enumerated , one of ( +"none"| "toself"| "tonext" ) +
    Default: "none" +

    Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset of the options available to scatter. "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other.

    +
  • +
  • + + fillcolor + +
    Parent: data[type=scatterternary] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=scatterternary] +
    + Type: flaglist string. + + Any combination of "a", "b", "c", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "a", "b", "a+b", "a+b+c", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=scatterternary] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=scatterternary].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=scatterternary].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=scatterternary].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=scatterternary].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatterternary].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=scatterternary].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoveron + +
    Parent: data[type=scatterternary] +
    + Type: flaglist string. + + Any combination of "points", "fills" joined with a "+" + OR . + +
    Examples: "points", "fills", "points+fills", + +

    Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is "toself" or "tonext" and there are no markers or text, then the default is "fills", otherwise it is "points".

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=scatterternary] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=scatterternary] +
    + Type: string or array of strings

    Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=scatterternary] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=scatterternary] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=scatterternary] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=scatterternary] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=scatterternary].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=scatterternary].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=scatterternary].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=scatterternary] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=scatterternary] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=scatterternary] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + backoff + +
      Parent: data[type=scatterternary].line +
      + Type: number or array of numbers
      Default: "auto" +

      Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous".

      +
    • +
    • + + color + +
      Parent: data[type=scatterternary].line +
      + Type: color

      Sets the line color.

      +
    • +
    • + + dash + +
      Parent: data[type=scatterternary].line +
      + Type: string
      Default: "solid" +

      Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

      +
    • +
    • + + shape + +
      Parent: data[type=scatterternary].line +
      + Type: + enumerated , one of ( +"linear"| "spline" ) +
      Default: "linear" +

      Determines the line shape. With "spline" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      +
    • +
    • + + smoothing + +
      Parent: data[type=scatterternary].line +
      + Type: number less than or equal to 1.3 +
      Default: 1 +

      Has an effect only if `shape` is set to "spline" Sets the amount of smoothing. "0" corresponds to no smoothing (equivalent to a "linear" shape).

      +
    • +
    • + + width + +
      Parent: data[type=scatterternary].line +
      + Type: number
      Default: 2 +

      Sets the line width (in px).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=scatterternary] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=scatterternary].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + angleref + +
      Parent: data[type=scatterternary].marker +
      + Type: + enumerated , one of ( +"previous"| "up" ) +
      Default: "up" +

      Sets the reference for marker angle. With "previous", angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=scatterternary].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=scatterternary].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=scatterternary].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=scatterternary].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=scatterternary].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=scatterternary].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=scatterternary].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=scatterternary].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=scatterternary].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=scatterternary].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=scatterternary].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=scatterternary].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=scatterternary].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=scatterternary].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=scatterternary].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=scatterternary].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=scatterternary].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=scatterternary].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=scatterternary].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=scatterternary].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=scatterternary].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=scatterternary].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=scatterternary].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + gradient + +
      Parent: data[type=scatterternary].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterternary].marker.gradient +
        + Type: color or array of colors

        Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        +
      • +
      • + + type + +
        Parent: data[type=scatterternary].marker.gradient +
        + Type: + enumerated or array of enumerateds + , one of ( +"radial"| "horizontal"| "vertical"| "none" ) +
        Default: "none" +

        Sets the type of gradient used to fill the markers

        +
      • +
      +
    • +
    • + + line + +
      Parent: data[type=scatterternary].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=scatterternary].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=scatterternary].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=scatterternary].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=scatterternary].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=scatterternary].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=scatterternary].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=scatterternary].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=scatterternary].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=scatterternary].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=scatterternary].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + maxdisplayed + +
      Parent: data[type=scatterternary].marker +
      + Type: number

      Sets a maximum number of points to be drawn on the graph. "0" corresponds to no limit.

      +
    • +
    • + + opacity + +
      Parent: data[type=scatterternary].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=scatterternary].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=scatterternary].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=scatterternary].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=scatterternary].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=scatterternary].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=scatterternary].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + standoff + +
      Parent: data[type=scatterternary].marker +
      + Type: number or array of numbers

      Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      +
    • +
    • + + symbol + +
      Parent: data[type=scatterternary].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=scatterternary] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + mode + +
    Parent: data[type=scatterternary] +
    + Type: flaglist string. + + Any combination of "lines", "markers", "text" joined with a "+" + OR "none". + +
    Examples: "lines", "markers", "lines+markers", "lines+markers+text", "none" + +
    Default: "markers" +

    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 and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

    +
  • +
  • + + name + +
    Parent: data[type=scatterternary] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=scatterternary] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + selected + +
    Parent: data[type=scatterternary] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatterternary].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterternary].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatterternary].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=scatterternary].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatterternary].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterternary].selected.textfont +
        + Type: color

        Sets the text font color of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=scatterternary] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=scatterternary] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + subplot + +
    Parent: data[type=scatterternary] +
    + Type: subplotid +
    Default: ternary +

    Sets a reference between this trace's data coordinates and a ternary subplot. If "ternary" (the default value), the data refer to `layout.ternary`. If "ternary2", the data refer to `layout.ternary2`, and so on.

    +
  • +
  • + + sum + +
    Parent: data[type=scatterternary] +
    + Type: number

    The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary<i>.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary<i>.sum

    +
  • +
  • + + text + +
    Parent: data[type=scatterternary] +
    + Type: string or array of strings

    Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=scatterternary] +
    Type: object containing one or more of the keys listed below. +

    Sets the text font.

    +
      +
    • + + color + +
      Parent: data[type=scatterternary].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=scatterternary].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=scatterternary].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=scatterternary].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=scatterternary].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=scatterternary].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=scatterternary].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=scatterternary].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=scatterternary].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textposition + +
    Parent: data[type=scatterternary] +
    + Type: + enumerated or array of enumerateds + , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "middle center" +

    Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=scatterternary] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `a`, `b`, `c` and `text`.

    +
  • +
  • + + type + +
    Parent: data[type=scatterternary] +
    +Type: "scatterternary" +
  • +
  • + + uid + +
    Parent: data[type=scatterternary] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=scatterternary] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=scatterternary] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=scatterternary].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterternary].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=scatterternary].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=scatterternary].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    • + + textfont + +
      Parent: data[type=scatterternary].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=scatterternary].unselected.textfont +
        + Type: color

        Sets the text font color of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=scatterternary] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/splom/index.html b/docs/reference/splom/index.html new file mode 100644 index 00000000000..33a27366491 --- /dev/null +++ b/docs/reference/splom/index.html @@ -0,0 +1,6226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + splom - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

splom

+
+ A splom trace is an object with the key "type" equal to "splom" + (i.e. {"type": "splom"}) and any of the keys listed below. +

Splom traces generate scatter plot matrix visualizations. Each splom `dimensions` items correspond to a generated axis. Values for each of those dimensions are set in `dimensions[i].values`. Splom traces support all `scattergl` marker style attributes. Specify `layout.grid` attributes and/or layout x-axis and y-axis attributes for more control over the axis positioning and style.

+
+
    +
  • + + customdata + +
    Parent: data[type=splom] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + diagonal + +
    Parent: data[type=splom] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + visible + +
      Parent: data[type=splom].diagonal +
      + Type: boolean
      Default: true +

      Determines whether or not subplots on the diagonal are displayed.

      +
    • +
    +
  • +
  • + + dimensions + +
    Parent: data[type=splom] +
    Type: array of object where + each object has one or more of the keys listed below. +
      +
    • + + axis + +
      Parent: data[type=splom].dimensions +
      Type: object containing one or more of the keys listed below. +
        +
      • + + matches + +
        Parent: data[type=splom].dimensions.axis +
        + Type: boolean

        Determines whether or not the x & y axes generated by this dimension match. Equivalent to setting the `matches` axis attribute in the layout with the correct axis id.

        +
      • +
      • + + type + +
        Parent: data[type=splom].dimensions.axis +
        + Type: + enumerated , one of ( +"linear"| "log"| "date"| "category" ) +

        Sets the axis type for this dimension's generated x and y axes. Note that the axis `type` values set in layout take precedence over this attribute.

        +
      • +
      +
    • +
    • + + label + +
      Parent: data[type=splom].dimensions +
      + Type: string

      Sets the label corresponding to this splom dimension.

      +
    • +
    • + + name + +
      Parent: data[type=splom].dimensions +
      + Type: string

      When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

      +
    • +
    • + + templateitemname + +
      Parent: data[type=splom].dimensions +
      + Type: string

      Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      +
    • +
    • + + values + +
      Parent: data[type=splom].dimensions +
      + Type: data_array +

      Sets the dimension values to be plotted.

      +
    • +
    • + + visible + +
      Parent: data[type=splom].dimensions +
      + Type: boolean
      Default: true +

      Determines whether or not this dimension is shown on the graph. Note that even visible false dimension contribute to the default grid generate by this splom trace.

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=splom] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=splom] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=splom].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=splom].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=splom].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=splom].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=splom].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=splom].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=splom] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=splom] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=splom] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=splom] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=splom] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=splom] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=splom].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=splom].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=splom].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=splom] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=splom] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + marker + +
    Parent: data[type=splom] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=splom].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + autocolorscale + +
      Parent: data[type=splom].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=splom].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=splom].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=splom].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=splom].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + color + +
      Parent: data[type=splom].marker +
      + Type: color or array of colors

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=splom].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=splom].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=splom].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=splom].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=splom].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=splom].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=splom].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=splom].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=splom].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=splom].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=splom].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=splom].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=splom].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=splom].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=splom].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=splom].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=splom].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=splom].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=splom].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=splom].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=splom].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=splom].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=splom].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=splom].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=splom].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=splom].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=splom].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=splom].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=splom].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=splom].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=splom].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colorscale + +
      Parent: data[type=splom].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=splom].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + autocolorscale + +
        Parent: data[type=splom].marker.line +
        + Type: boolean
        Default: true +

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        +
      • +
      • + + cauto + +
        Parent: data[type=splom].marker.line +
        + Type: boolean
        Default: true +

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        +
      • +
      • + + cmax + +
        Parent: data[type=splom].marker.line +
        + Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        +
      • +
      • + + cmid + +
        Parent: data[type=splom].marker.line +
        + Type: number

        Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        +
      • +
      • + + cmin + +
        Parent: data[type=splom].marker.line +
        + Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        +
      • +
      • + + color + +
        Parent: data[type=splom].marker.line +
        + Type: color or array of colors

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + coloraxis + +
        Parent: data[type=splom].marker.line +
        + Type: subplotid +

        Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        +
      • +
      • + + colorscale + +
        Parent: data[type=splom].marker.line +
        + Type: colorscale +

        Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        +
      • +
      • + + reversescale + +
        Parent: data[type=splom].marker.line +
        + Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        +
      • +
      • + + width + +
        Parent: data[type=splom].marker.line +
        + Type: number or array of numbers

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=splom].marker +
      + Type: number or array of numbers less than or equal to 1 +

      Sets the marker opacity.

      +
    • +
    • + + reversescale + +
      Parent: data[type=splom].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=splom].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      +
    • +
    • + + size + +
      Parent: data[type=splom].marker +
      + Type: number or array of numbers
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + sizemin + +
      Parent: data[type=splom].marker +
      + Type: number

      Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      +
    • +
    • + + sizemode + +
      Parent: data[type=splom].marker +
      + Type: + enumerated , one of ( +"diameter"| "area" ) +
      Default: "diameter" +

      Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      +
    • +
    • + + sizeref + +
      Parent: data[type=splom].marker +
      + Type: number
      Default: 1 +

      Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      +
    • +
    • + + symbol + +
      Parent: data[type=splom].marker +
      + Type: + enumerated or array of enumerateds + , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=splom] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=splom] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=splom] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + selected + +
    Parent: data[type=splom] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=splom].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=splom].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=splom].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=splom].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=splom] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=splom] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showlowerhalf + +
    Parent: data[type=splom] +
    + Type: boolean
    Default: true +

    Determines whether or not subplots on the lower half from the diagonal are displayed.

    +
  • +
  • + + showupperhalf + +
    Parent: data[type=splom] +
    + Type: boolean
    Default: true +

    Determines whether or not subplots on the upper half from the diagonal are displayed.

    +
  • +
  • + + text + +
    Parent: data[type=splom] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.

    +
  • +
  • + + type + +
    Parent: data[type=splom] +
    +Type: "splom" +
  • +
  • + + uid + +
    Parent: data[type=splom] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=splom] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=splom] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=splom].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=splom].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=splom].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=splom].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=splom] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + xaxes + +
    Parent: data[type=splom] +
    +{inner}Type: {array} +

    Sets the list of x axes corresponding to dimensions of this splom trace. By default, a splom will match the first N xaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=splom] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + yaxes + +
    Parent: data[type=splom] +
    +{inner}Type: {array} +

    Sets the list of y axes corresponding to dimensions of this splom trace. By default, a splom will match the first N yaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=splom] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/streamtube/index.html b/docs/reference/streamtube/index.html new file mode 100644 index 00000000000..f63dc65156e --- /dev/null +++ b/docs/reference/streamtube/index.html @@ -0,0 +1,6085 @@ + + + + + + + + + + + + + + + + + + + + + + + + + streamtube - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

streamtube

+
+ A streamtube trace is an object with the key "type" equal to "streamtube" + (i.e. {"type": "streamtube"}) and any of the keys listed below. +

Use a streamtube trace to visualize flow in a vector field. Specify a vector field using 6 1D arrays of equal length, 3 position arrays `x`, `y` and `z` and 3 vector component arrays `u`, `v`, and `w`. By default, the tubes' starting positions will be cut from the vector field's x-z plane at its minimum y value. To specify your own starting position, use attributes `starts.x`, `starts.y` and `starts.z`. The color is encoded by the norm of (u, v, w), and the local radius by the divergence of (u, v, w).

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=streamtube] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + cauto + +
    Parent: data[type=streamtube] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    +
  • +
  • + + cmax + +
    Parent: data[type=streamtube] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.

    +
  • +
  • + + cmid + +
    Parent: data[type=streamtube] +
    + Type: number

    Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.

    +
  • +
  • + + cmin + +
    Parent: data[type=streamtube] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=streamtube] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=streamtube] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=streamtube].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=streamtube].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=streamtube].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=streamtube].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=streamtube].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=streamtube].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=streamtube].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=streamtube].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=streamtube].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=streamtube].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=streamtube].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=streamtube].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=streamtube].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=streamtube].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=streamtube].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=streamtube].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=streamtube].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=streamtube].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=streamtube].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=streamtube].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=streamtube].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=streamtube].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=streamtube].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=streamtube].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=streamtube].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=streamtube].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=streamtube].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=streamtube].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=streamtube].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=streamtube].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=streamtube].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=streamtube].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=streamtube].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=streamtube].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=streamtube].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=streamtube] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + customdata + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=streamtube] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "u", "v", "w", "norm", "divergence", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "x+y+z+norm+text+name" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=streamtube] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=streamtube].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=streamtube].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=streamtube].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=streamtube].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=streamtube].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=streamtube].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=streamtube] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=streamtube] +
    + Type: string

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=streamtube] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=streamtube] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=streamtube].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=streamtube].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=streamtube].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=streamtube] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=streamtube] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lighting + +
    Parent: data[type=streamtube] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + ambient + +
      Parent: data[type=streamtube].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Ambient light increases overall color visibility but can wash out the image.

      +
    • +
    • + + diffuse + +
      Parent: data[type=streamtube].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Represents the extent that incident rays are reflected in a range of angles.

      +
    • +
    • + + facenormalsepsilon + +
      Parent: data[type=streamtube].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-06 +

      Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    • + + fresnel + +
      Parent: data[type=streamtube].lighting +
      + Type: number less than or equal to 5 +
      Default: 0.2 +

      Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      +
    • +
    • + + roughness + +
      Parent: data[type=streamtube].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      +
    • +
    • + + specular + +
      Parent: data[type=streamtube].lighting +
      + Type: number less than or equal to 2 +
      Default: 0.05 +

      Represents the level that incident rays are reflected in a single direction, causing shine.

      +
    • +
    • + + vertexnormalsepsilon + +
      Parent: data[type=streamtube].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-12 +

      Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    +
  • +
  • + + lightposition + +
    Parent: data[type=streamtube] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=streamtube].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the X coordinate for each vertex.

      +
    • +
    • + + y + +
      Parent: data[type=streamtube].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the Y coordinate for each vertex.

      +
    • +
    • + + z + +
      Parent: data[type=streamtube].lightposition +
      + Type: number between or equal to -100000 and 100000 +

      Numeric vector, representing the Z coordinate for each vertex.

      +
    • +
    +
  • +
  • + + maxdisplayed + +
    Parent: data[type=streamtube] +
    + Type: integer
    Default: 1000 +

    The maximum number of displayed segments in a streamtube.

    +
  • +
  • + + meta + +
    Parent: data[type=streamtube] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=streamtube] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    +
  • +
  • + + reversescale + +
    Parent: data[type=streamtube] +
    + Type: boolean

    Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    +
  • +
  • + + scene + +
    Parent: data[type=streamtube] +
    + Type: subplotid +
    Default: scene +

    Sets a reference between this trace's 3D coordinate system and a 3D scene. If "scene" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If "scene2", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    +
  • +
  • + + showlegend + +
    Parent: data[type=streamtube] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=streamtube] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + sizeref + +
    Parent: data[type=streamtube] +
    + Type: number
    Default: 1 +

    The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.

    +
  • +
  • + + starts + +
    Parent: data[type=streamtube] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=streamtube].starts +
      + Type: data_array +

      Sets the x components of the starting position of the streamtubes

      +
    • +
    • + + y + +
      Parent: data[type=streamtube].starts +
      + Type: data_array +

      Sets the y components of the starting position of the streamtubes

      +
    • +
    • + + z + +
      Parent: data[type=streamtube].starts +
      + Type: data_array +

      Sets the z components of the starting position of the streamtubes

      +
    • +
    +
  • +
  • + + text + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets a text element associated with this trace. If trace `hoverinfo` contains a "text" flag, this text element will be seen in all hover labels. Note that streamtube traces do not support array `text` values.

    +
  • +
  • + + type + +
    Parent: data[type=streamtube] +
    +Type: "streamtube" +
  • +
  • + + u + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Sets the x components of the vector field.

    +
  • +
  • + + uhoverformat + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the hover text formatting rulefor `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + uid + +
    Parent: data[type=streamtube] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=streamtube] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + v + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Sets the y components of the vector field.

    +
  • +
  • + + vhoverformat + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the hover text formatting rulefor `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + visible + +
    Parent: data[type=streamtube] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + w + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Sets the z components of the vector field.

    +
  • +
  • + + whoverformat + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the hover text formatting rulefor `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + x + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Sets the x coordinates of the vector field.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Sets the y coordinates of the vector field.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=streamtube] +
    + Type: data_array +

    Sets the z coordinates of the vector field.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=streamtube] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `zaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/sunburst/index.html b/docs/reference/sunburst/index.html new file mode 100644 index 00000000000..29735639fa3 --- /dev/null +++ b/docs/reference/sunburst/index.html @@ -0,0 +1,6444 @@ + + + + + + + + + + + + + + + + + + + + + + + + + sunburst - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

sunburst

+
+ A sunburst trace is an object with the key "type" equal to "sunburst" + (i.e. {"type": "sunburst"}) and any of the keys listed below. +

Visualize hierarchal data spanning outward radially from root to leaves. The sunburst sectors are determined by the entries in "labels" or "ids" and in "parents".

+
+
    +
  • + + branchvalues + +
    Parent: data[type=sunburst] +
    + Type: + enumerated , one of ( +"remainder"| "total" ) +
    Default: "remainder" +

    Determines how the items in `values` are summed. When set to "total", items in `values` are taken to be value of all its descendants. When set to "remainder", items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

    +
  • +
  • + + count + +
    Parent: data[type=sunburst] +
    + Type: flaglist string. + + Any combination of "branches", "leaves" joined with a "+" + OR . + +
    Examples: "branches", "leaves", "branches+leaves", + +
    Default: "leaves" +

    Determines default for `values` when it is not provided, by inferring a 1 for each of the "leaves" and/or "branches", otherwise 0.

    +
  • +
  • + + customdata + +
    Parent: data[type=sunburst] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + domain + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=sunburst].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this sunburst trace .

      +
    • +
    • + + row + +
      Parent: data[type=sunburst].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this sunburst trace .

      +
    • +
    • + + x + +
      Parent: data[type=sunburst].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this sunburst trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=sunburst].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this sunburst trace (in plot fraction).

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=sunburst] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "name", "current path", "percent root", "percent entry", "percent parent" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "label", "text", "label+text", "label+text+value", "all" + +
    Default: "label+text+value+name" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=sunburst].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=sunburst].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=sunburst].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=sunburst].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=sunburst].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=sunburst].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=sunburst] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=sunburst] +
    + Type: string or array of strings

    Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=sunburst] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying inside the sector.

    +
      +
    • + + color + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=sunburst].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + insidetextorientation + +
    Parent: data[type=sunburst] +
    + Type: + enumerated , one of ( +"horizontal"| "radial"| "tangential"| "auto" ) +
    Default: "auto" +

    Controls the orientation of the text inside chart sectors. When set to "auto", text may be oriented in any direction in order to be as big as possible in the middle of a sector. The "horizontal" option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The "radial" option orients text along the radius of the sector. The "tangential" option orients text perpendicular to the radius of the sector.

    +
  • +
  • + + labels + +
    Parent: data[type=sunburst] +
    + Type: data_array +

    Sets the labels of each of the sectors.

    +
  • +
  • + + leaf + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + opacity + +
      Parent: data[type=sunburst].leaf +
      + Type: number less than or equal to 1 +

      Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7

      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=sunburst] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=sunburst].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=sunburst].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=sunburst].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=sunburst] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=sunburst] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + level + +
    Parent: data[type=sunburst] +
    + Type: number or categorical coordinate string +

    Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an "id" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.

    +
  • +
  • + + marker + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=sunburst].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=sunburst].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=sunburst].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=sunburst].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=sunburst].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=sunburst].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=sunburst].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=sunburst].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=sunburst].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=sunburst].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=sunburst].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=sunburst].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=sunburst].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=sunburst].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=sunburst].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=sunburst].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=sunburst].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=sunburst].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=sunburst].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=sunburst].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=sunburst].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colors + +
      Parent: data[type=sunburst].marker +
      + Type: data_array +

      Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.

      +
    • +
    • + + colorscale + +
      Parent: data[type=sunburst].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + line + +
      Parent: data[type=sunburst].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=sunburst].marker.line +
        + Type: color or array of colors

        Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        +
      • +
      • + + width + +
        Parent: data[type=sunburst].marker.line +
        + Type: number or array of numbers
        Default: 1 +

        Sets the width (in px) of the line enclosing each sector.

        +
      • +
      +
    • +
    • + + pattern + +
      Parent: data[type=sunburst].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=sunburst].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    • + + reversescale + +
      Parent: data[type=sunburst].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=sunburst].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.

      +
    • +
    +
  • +
  • + + maxdepth + +
    Parent: data[type=sunburst] +
    + Type: integer
    Default: -1 +

    Sets the number of rendered sectors from any given `level`. Set `maxdepth` to "-1" to render all the levels in the hierarchy.

    +
  • +
  • + + meta + +
    Parent: data[type=sunburst] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=sunburst] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=sunburst] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented at the center of a sunburst graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

    +
      +
    • + + color + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=sunburst].outsidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + parents + +
    Parent: data[type=sunburst] +
    + Type: data_array +

    Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.

    +
  • +
  • + + root + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=sunburst].root +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.

      +
    • +
    +
  • +
  • + + rotation + +
    Parent: data[type=sunburst] +
    + Type: angle +

    Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock.

    +
  • +
  • + + sort + +
    Parent: data[type=sunburst] +
    + Type: boolean
    Default: true +

    Determines whether or not the sectors are reordered from largest to smallest.

    +
  • +
  • + + text + +
    Parent: data[type=sunburst] +
    + Type: data_array +

    Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=sunburst] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo`.

    +
      +
    • + + color + +
      Parent: data[type=sunburst].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=sunburst].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=sunburst].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=sunburst].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=sunburst].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=sunburst].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=sunburst].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=sunburst].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=sunburst].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textinfo + +
    Parent: data[type=sunburst] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "current path", "percent root", "percent entry", "percent parent" joined with a "+" + OR "none". + +
    Examples: "label", "text", "label+text", "label+text+value", "none" + +

    Determines which trace information appear on the graph.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=sunburst] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.

    +
  • +
  • + + type + +
    Parent: data[type=sunburst] +
    +Type: "sunburst" +
  • +
  • + + uid + +
    Parent: data[type=sunburst] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=sunburst] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + values + +
    Parent: data[type=sunburst] +
    + Type: data_array +

    Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.

    +
  • +
  • + + visible + +
    Parent: data[type=sunburst] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/surface/index.html b/docs/reference/surface/index.html new file mode 100644 index 00000000000..23fc4c12e30 --- /dev/null +++ b/docs/reference/surface/index.html @@ -0,0 +1,6425 @@ + + + + + + + + + + + + + + + + + + + + + + + + + surface - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

surface

+
+ A surface trace is an object with the key "type" equal to "surface" + (i.e. {"type": "surface"}) and any of the keys listed below. +

The data the describes the coordinates of the surface is set in `z`. Data in `z` should be a 2D array. Coordinates in `x` and `y` can either be 1D arrays or {2D arrays} (e.g. to graph parametric surfaces). If not provided in `x` and `y`, the x and y coordinates are assumed to be linear starting at 0 with a unit step. The color scale corresponds to the `z` values by default. For custom color scales, use `surfacecolor` which should be a 2D array, where its bounds can be controlled using `cmin` and `cmax`.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=surface] +
    + Type: boolean

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + cauto + +
    Parent: data[type=surface] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here z or surfacecolor) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    +
  • +
  • + + cmax + +
    Parent: data[type=surface] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as z or surfacecolor and if set, `cmin` must be set as well.

    +
  • +
  • + + cmid + +
    Parent: data[type=surface] +
    + Type: number

    Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as z or surfacecolor. Has no effect when `cauto` is `false`.

    +
  • +
  • + + cmin + +
    Parent: data[type=surface] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as z or surfacecolor and if set, `cmax` must be set as well.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=surface] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=surface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=surface].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=surface].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=surface].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=surface].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=surface].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=surface].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=surface].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=surface].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=surface].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=surface].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=surface].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=surface].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=surface].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=surface].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=surface].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=surface].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=surface].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=surface].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=surface].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=surface].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=surface].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=surface].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=surface].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=surface].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=surface].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=surface].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=surface].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=surface].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=surface].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=surface].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=surface].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=surface].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=surface].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=surface].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=surface].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=surface] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + connectgaps + +
    Parent: data[type=surface] +
    + Type: boolean

    Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.

    +
  • +
  • + + contours + +
    Parent: data[type=surface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=surface].contours +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=surface].contours.x +
        + Type: color
        Default: "#444" +

        Sets the color of the contour lines.

        +
      • +
      • + + end + +
        Parent: data[type=surface].contours.x +
        + Type: number

        Sets the end contour level value. Must be more than `contours.start`

        +
      • +
      • + + highlight + +
        Parent: data[type=surface].contours.x +
        + Type: boolean
        Default: true +

        Determines whether or not contour lines about the x dimension are highlighted on hover.

        +
      • +
      • + + highlightcolor + +
        Parent: data[type=surface].contours.x +
        + Type: color
        Default: "#444" +

        Sets the color of the highlighted contour lines.

        +
      • +
      • + + highlightwidth + +
        Parent: data[type=surface].contours.x +
        + Type: number between or equal to 1 and 16 +
        Default: 2 +

        Sets the width of the highlighted contour lines.

        +
      • +
      • + + project + +
        Parent: data[type=surface].contours.x +
        Type: object containing one or more of the keys listed below. +
          +
        • + + x + +
          Parent: data[type=surface].contours.x.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        • + + y + +
          Parent: data[type=surface].contours.x.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        • + + z + +
          Parent: data[type=surface].contours.x.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        +
      • +
      • + + show + +
        Parent: data[type=surface].contours.x +
        + Type: boolean

        Determines whether or not contour lines about the x dimension are drawn.

        +
      • +
      • + + size + +
        Parent: data[type=surface].contours.x +
        + Type: number

        Sets the step between each contour level. Must be positive.

        +
      • +
      • + + start + +
        Parent: data[type=surface].contours.x +
        + Type: number

        Sets the starting contour level value. Must be less than `contours.end`

        +
      • +
      • + + usecolormap + +
        Parent: data[type=surface].contours.x +
        + Type: boolean

        An alternate to "color". Determines whether or not the contour lines are colored using the trace "colorscale".

        +
      • +
      • + + width + +
        Parent: data[type=surface].contours.x +
        + Type: number between or equal to 1 and 16 +
        Default: 2 +

        Sets the width of the contour lines.

        +
      • +
      +
    • +
    • + + y + +
      Parent: data[type=surface].contours +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=surface].contours.y +
        + Type: color
        Default: "#444" +

        Sets the color of the contour lines.

        +
      • +
      • + + end + +
        Parent: data[type=surface].contours.y +
        + Type: number

        Sets the end contour level value. Must be more than `contours.start`

        +
      • +
      • + + highlight + +
        Parent: data[type=surface].contours.y +
        + Type: boolean
        Default: true +

        Determines whether or not contour lines about the y dimension are highlighted on hover.

        +
      • +
      • + + highlightcolor + +
        Parent: data[type=surface].contours.y +
        + Type: color
        Default: "#444" +

        Sets the color of the highlighted contour lines.

        +
      • +
      • + + highlightwidth + +
        Parent: data[type=surface].contours.y +
        + Type: number between or equal to 1 and 16 +
        Default: 2 +

        Sets the width of the highlighted contour lines.

        +
      • +
      • + + project + +
        Parent: data[type=surface].contours.y +
        Type: object containing one or more of the keys listed below. +
          +
        • + + x + +
          Parent: data[type=surface].contours.y.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        • + + y + +
          Parent: data[type=surface].contours.y.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        • + + z + +
          Parent: data[type=surface].contours.y.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        +
      • +
      • + + show + +
        Parent: data[type=surface].contours.y +
        + Type: boolean

        Determines whether or not contour lines about the y dimension are drawn.

        +
      • +
      • + + size + +
        Parent: data[type=surface].contours.y +
        + Type: number

        Sets the step between each contour level. Must be positive.

        +
      • +
      • + + start + +
        Parent: data[type=surface].contours.y +
        + Type: number

        Sets the starting contour level value. Must be less than `contours.end`

        +
      • +
      • + + usecolormap + +
        Parent: data[type=surface].contours.y +
        + Type: boolean

        An alternate to "color". Determines whether or not the contour lines are colored using the trace "colorscale".

        +
      • +
      • + + width + +
        Parent: data[type=surface].contours.y +
        + Type: number between or equal to 1 and 16 +
        Default: 2 +

        Sets the width of the contour lines.

        +
      • +
      +
    • +
    • + + z + +
      Parent: data[type=surface].contours +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=surface].contours.z +
        + Type: color
        Default: "#444" +

        Sets the color of the contour lines.

        +
      • +
      • + + end + +
        Parent: data[type=surface].contours.z +
        + Type: number

        Sets the end contour level value. Must be more than `contours.start`

        +
      • +
      • + + highlight + +
        Parent: data[type=surface].contours.z +
        + Type: boolean
        Default: true +

        Determines whether or not contour lines about the z dimension are highlighted on hover.

        +
      • +
      • + + highlightcolor + +
        Parent: data[type=surface].contours.z +
        + Type: color
        Default: "#444" +

        Sets the color of the highlighted contour lines.

        +
      • +
      • + + highlightwidth + +
        Parent: data[type=surface].contours.z +
        + Type: number between or equal to 1 and 16 +
        Default: 2 +

        Sets the width of the highlighted contour lines.

        +
      • +
      • + + project + +
        Parent: data[type=surface].contours.z +
        Type: object containing one or more of the keys listed below. +
          +
        • + + x + +
          Parent: data[type=surface].contours.z.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        • + + y + +
          Parent: data[type=surface].contours.z.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        • + + z + +
          Parent: data[type=surface].contours.z.project +
          + Type: boolean

          Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to "true" (the default), the projected lines are shown on hover. If `show` is set to "true", the projected lines are shown in permanence.

          +
        • +
        +
      • +
      • + + show + +
        Parent: data[type=surface].contours.z +
        + Type: boolean

        Determines whether or not contour lines about the z dimension are drawn.

        +
      • +
      • + + size + +
        Parent: data[type=surface].contours.z +
        + Type: number

        Sets the step between each contour level. Must be positive.

        +
      • +
      • + + start + +
        Parent: data[type=surface].contours.z +
        + Type: number

        Sets the starting contour level value. Must be less than `contours.end`

        +
      • +
      • + + usecolormap + +
        Parent: data[type=surface].contours.z +
        + Type: boolean

        An alternate to "color". Determines whether or not the contour lines are colored using the trace "colorscale".

        +
      • +
      • + + width + +
        Parent: data[type=surface].contours.z +
        + Type: number between or equal to 1 and 16 +
        Default: 2 +

        Sets the width of the contour lines.

        +
      • +
      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=surface] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + hidesurface + +
    Parent: data[type=surface] +
    + Type: boolean

    Determines whether or not a surface is drawn. For example, set `hidesurface` to "false" `contours.x.show` to "true" and `contours.y.show` to "true" to draw a wire frame plot.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=surface] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=surface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=surface].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=surface].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=surface].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=surface].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=surface].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=surface].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=surface] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=surface] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=surface] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=surface] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=surface] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=surface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=surface].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=surface].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=surface].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=surface] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=surface] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lighting + +
    Parent: data[type=surface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + ambient + +
      Parent: data[type=surface].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Ambient light increases overall color visibility but can wash out the image.

      +
    • +
    • + + diffuse + +
      Parent: data[type=surface].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Represents the extent that incident rays are reflected in a range of angles.

      +
    • +
    • + + fresnel + +
      Parent: data[type=surface].lighting +
      + Type: number less than or equal to 5 +
      Default: 0.2 +

      Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      +
    • +
    • + + roughness + +
      Parent: data[type=surface].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      +
    • +
    • + + specular + +
      Parent: data[type=surface].lighting +
      + Type: number less than or equal to 2 +
      Default: 0.05 +

      Represents the level that incident rays are reflected in a single direction, causing shine.

      +
    • +
    +
  • +
  • + + lightposition + +
    Parent: data[type=surface] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=surface].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 10 +

      Numeric vector, representing the X coordinate for each vertex.

      +
    • +
    • + + y + +
      Parent: data[type=surface].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 10000 +

      Numeric vector, representing the Y coordinate for each vertex.

      +
    • +
    • + + z + +
      Parent: data[type=surface].lightposition +
      + Type: number between or equal to -100000 and 100000 +

      Numeric vector, representing the Z coordinate for each vertex.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=surface] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=surface] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=surface] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    +
  • +
  • + + opacityscale + +
    Parent: data[type=surface] +
    + Type: number or categorical coordinate string +

    Sets the opacityscale. The opacityscale must be an array containing arrays mapping a normalized value to an opacity value. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 1], [0.5, 0.2], [1, 1]]` means that higher/lower values would have higher opacity values and those in the middle would be more transparent Alternatively, `opacityscale` may be a palette name string of the following list: 'min', 'max', 'extremes' and 'uniform'. The default is 'uniform'.

    +
  • +
  • + + reversescale + +
    Parent: data[type=surface] +
    + Type: boolean

    Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    +
  • +
  • + + scene + +
    Parent: data[type=surface] +
    + Type: subplotid +
    Default: scene +

    Sets a reference between this trace's 3D coordinate system and a 3D scene. If "scene" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If "scene2", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    +
  • +
  • + + showlegend + +
    Parent: data[type=surface] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=surface] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + surfacecolor + +
    Parent: data[type=surface] +
    + Type: data_array +

    Sets the surface color values, used for setting a color scale independent of `z`.

    +
  • +
  • + + text + +
    Parent: data[type=surface] +
    + Type: string or array of strings

    Sets the text elements associated with each z value. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + type + +
    Parent: data[type=surface] +
    +Type: "surface" +
  • +
  • + + uid + +
    Parent: data[type=surface] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=surface] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=surface] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=surface] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + xcalendar + +
    Parent: data[type=surface] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `x` date data.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=surface] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=surface] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + ycalendar + +
    Parent: data[type=surface] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `y` date data.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=surface] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=surface] +
    + Type: data_array +

    Sets the z coordinates.

    +
  • +
  • + + zcalendar + +
    Parent: data[type=surface] +
    + Type: + enumerated , one of ( +"chinese"| "coptic"| "discworld"| "ethiopian"| "gregorian"| "hebrew"| "islamic"| "jalali"| "julian"| "mayan"| "nanakshahi"| "nepali"| "persian"| "taiwan"| "thai"| "ummalqura" ) +
    Default: "gregorian" +

    Sets the calendar system to use with `z` date data.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=surface] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `zaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/table/index.html b/docs/reference/table/index.html new file mode 100644 index 00000000000..50f2694d275 --- /dev/null +++ b/docs/reference/table/index.html @@ -0,0 +1,5447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + table - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

table

+
+ A table trace is an object with the key "type" equal to "table" + (i.e. {"type": "table"}) and any of the keys listed below. +

Table view for detailed data viewing. The data are arranged in a grid of rows and columns. Most styling can be specified for columns, rows or individual cells. Table is using a column-major order, ie. the grid is represented as a vector of column vectors.

+
+
    +
  • + + cells + +
    Parent: data[type=table] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=table].cells +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "center"| "right" ) +
      Default: "center" +

      Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more <br> HTML tags) or if an explicit width is set to override the text width.

      +
    • +
    • + + fill + +
      Parent: data[type=table].cells +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=table].cells.fill +
        + Type: color or array of colors
        Default: "white" +

        Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.

        +
      • +
      +
    • +
    • + + font + +
      Parent: data[type=table].cells +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=table].cells.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=table].cells.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=table].cells.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=table].cells.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=table].cells.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=table].cells.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=table].cells.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=table].cells.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=table].cells.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + format + +
      Parent: data[type=table].cells +
      + Type: data_array +

      Sets the cell value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      +
    • +
    • + + height + +
      Parent: data[type=table].cells +
      + Type: number
      Default: 20 +

      The height of cells.

      +
    • +
    • + + line + +
      Parent: data[type=table].cells +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=table].cells.line +
        + Type: color or array of colors
        Default: "grey" +
      • +
      • + + width + +
        Parent: data[type=table].cells.line +
        + Type: number or array of numbers
        Default: 1 +
      • +
      +
    • +
    • + + prefix + +
      Parent: data[type=table].cells +
      + Type: string or array of strings

      Prefix for cell values.

      +
    • +
    • + + suffix + +
      Parent: data[type=table].cells +
      + Type: string or array of strings

      Suffix for cell values.

      +
    • +
    • + + values + +
      Parent: data[type=table].cells +
      + Type: data_array +

      Cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.

      +
    • +
    +
  • +
  • + + columnorder + +
    Parent: data[type=table] +
    + Type: data_array +

    Specifies the rendered order of the data columns; for example, a value `2` at position `0` means that column index `0` in the data will be rendered as the third column, as columns have an index base of zero.

    +
  • +
  • + + columnwidth + +
    Parent: data[type=table] +
    + Type: number or array of numbers

    The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.

    +
  • +
  • + + customdata + +
    Parent: data[type=table] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + domain + +
    Parent: data[type=table] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=table].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this table trace .

      +
    • +
    • + + row + +
      Parent: data[type=table].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this table trace .

      +
    • +
    • + + x + +
      Parent: data[type=table].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this table trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=table].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this table trace (in plot fraction).

      +
    • +
    +
  • +
  • + + header + +
    Parent: data[type=table] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=table].header +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "center"| "right" ) +
      Default: "center" +

      Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more <br> HTML tags) or if an explicit width is set to override the text width.

      +
    • +
    • + + fill + +
      Parent: data[type=table].header +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=table].header.fill +
        + Type: color or array of colors
        Default: "white" +

        Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.

        +
      • +
      +
    • +
    • + + font + +
      Parent: data[type=table].header +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=table].header.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=table].header.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=table].header.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=table].header.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=table].header.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=table].header.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=table].header.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=table].header.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=table].header.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + format + +
      Parent: data[type=table].header +
      + Type: data_array +

      Sets the cell value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      +
    • +
    • + + height + +
      Parent: data[type=table].header +
      + Type: number
      Default: 28 +

      The height of cells.

      +
    • +
    • + + line + +
      Parent: data[type=table].header +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=table].header.line +
        + Type: color or array of colors
        Default: "grey" +
      • +
      • + + width + +
        Parent: data[type=table].header.line +
        + Type: number or array of numbers
        Default: 1 +
      • +
      +
    • +
    • + + prefix + +
      Parent: data[type=table].header +
      + Type: string or array of strings

      Prefix for cell values.

      +
    • +
    • + + suffix + +
      Parent: data[type=table].header +
      + Type: string or array of strings

      Suffix for cell values.

      +
    • +
    • + + values + +
      Parent: data[type=table].header +
      + Type: data_array +

      Header cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=table] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=table] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=table].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=table].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=table].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=table].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=table].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=table].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=table].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=table].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=table].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=table].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=table].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=table].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=table].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=table].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + ids + +
    Parent: data[type=table] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + legend + +
    Parent: data[type=table] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=table] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=table].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=table].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=table].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=table] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=table] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + meta + +
    Parent: data[type=table] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=table] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + type + +
    Parent: data[type=table] +
    +Type: "table" +
  • +
  • + + uid + +
    Parent: data[type=table] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=table] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=table] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/treemap/index.html b/docs/reference/treemap/index.html new file mode 100644 index 00000000000..070866cfd11 --- /dev/null +++ b/docs/reference/treemap/index.html @@ -0,0 +1,6690 @@ + + + + + + + + + + + + + + + + + + + + + + + + + treemap - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

treemap

+
+ A treemap trace is an object with the key "type" equal to "treemap" + (i.e. {"type": "treemap"}) and any of the keys listed below. +

Visualize hierarchal data from leaves (and/or outer branches) towards root with rectangles. The treemap sectors are determined by the entries in "labels" or "ids" and in "parents".

+
+
    +
  • + + branchvalues + +
    Parent: data[type=treemap] +
    + Type: + enumerated , one of ( +"remainder"| "total" ) +
    Default: "remainder" +

    Determines how the items in `values` are summed. When set to "total", items in `values` are taken to be value of all its descendants. When set to "remainder", items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

    +
  • +
  • + + count + +
    Parent: data[type=treemap] +
    + Type: flaglist string. + + Any combination of "branches", "leaves" joined with a "+" + OR . + +
    Examples: "branches", "leaves", "branches+leaves", + +
    Default: "leaves" +

    Determines default for `values` when it is not provided, by inferring a 1 for each of the "leaves" and/or "branches", otherwise 0.

    +
  • +
  • + + customdata + +
    Parent: data[type=treemap] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + domain + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + column + +
      Parent: data[type=treemap].domain +
      + Type: integer

      If there is a layout grid, use the domain for this column in the grid for this treemap trace .

      +
    • +
    • + + row + +
      Parent: data[type=treemap].domain +
      + Type: integer

      If there is a layout grid, use the domain for this row in the grid for this treemap trace .

      +
    • +
    • + + x + +
      Parent: data[type=treemap].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the horizontal domain of this treemap trace (in plot fraction).

      +
    • +
    • + + y + +
      Parent: data[type=treemap].domain +
      +{inner}Type: {array} +
      Default: [0, 1] +

      Sets the vertical domain of this treemap trace (in plot fraction).

      +
    • +
    +
  • +
  • + + hoverinfo + +
    Parent: data[type=treemap] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "name", "current path", "percent root", "percent entry", "percent parent" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "label", "text", "label+text", "label+text+value", "all" + +
    Default: "label+text+value+name" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=treemap].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=treemap].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=treemap].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=treemap].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=treemap].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=treemap].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=treemap] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=treemap] +
    + Type: string or array of strings

    Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=treemap] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying inside the sector.

    +
      +
    • + + color + +
      Parent: data[type=treemap].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=treemap].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=treemap].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=treemap].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=treemap].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=treemap].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=treemap].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=treemap].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=treemap].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + labels + +
    Parent: data[type=treemap] +
    + Type: data_array +

    Sets the labels of each of the sectors.

    +
  • +
  • + + legend + +
    Parent: data[type=treemap] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=treemap].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=treemap].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=treemap].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=treemap] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=treemap] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + level + +
    Parent: data[type=treemap] +
    + Type: number or categorical coordinate string +

    Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an "id" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.

    +
  • +
  • + + marker + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + autocolorscale + +
      Parent: data[type=treemap].marker +
      + Type: boolean
      Default: true +

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      +
    • +
    • + + cauto + +
      Parent: data[type=treemap].marker +
      + Type: boolean
      Default: true +

      Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      +
    • +
    • + + cmax + +
      Parent: data[type=treemap].marker +
      + Type: number

      Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.

      +
    • +
    • + + cmid + +
      Parent: data[type=treemap].marker +
      + Type: number

      Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.

      +
    • +
    • + + cmin + +
      Parent: data[type=treemap].marker +
      + Type: number

      Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.

      +
    • +
    • + + coloraxis + +
      Parent: data[type=treemap].marker +
      + Type: subplotid +

      Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      +
    • +
    • + + colorbar + +
      Parent: data[type=treemap].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + bgcolor + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: color
        Default: "rgba(0,0,0,0)" +

        Sets the color of padded area.

        +
      • +
      • + + bordercolor + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + borderwidth + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number

        Sets the width (in px) or the border enclosing this color bar.

        +
      • +
      • + + dtick + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number or categorical coordinate string +

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

        +
      • +
      • + + exponentformat + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
        Default: "B" +

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

        +
      • +
      • + + labelalias + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number or categorical coordinate string +

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        +
      • +
      • + + len + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        +
      • +
      • + + lenmode + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "fraction" +

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

        +
      • +
      • + + minexponent + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 3 +

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

        +
      • +
      • + + nticks + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

        +
      • +
      • + + orientation + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"h"| "v" ) +
        Default: "v" +

        Sets the orientation of the colorbar.

        +
      • +
      • + + outlinecolor + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the axis line color.

        +
      • +
      • + + outlinewidth + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the width (in px) of the axis line.

        +
      • +
      • + + separatethousands + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: boolean

        If "true", even 4-digit integers are separated

        +
      • +
      • + + showexponent + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

        +
      • +
      • + + showticklabels + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: boolean
        Default: true +

        Determines whether or not the tick labels are drawn.

        +
      • +
      • + + showtickprefix + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

        +
      • +
      • + + showticksuffix + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
        Default: "all" +

        Same as `showtickprefix` but for tick suffixes.

        +
      • +
      • + + thickness + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 30 +

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        +
      • +
      • + + thicknessmode + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
        Default: "pixels" +

        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.

        +
      • +
      • + + tick0 + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number or categorical coordinate string +

        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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        +
      • +
      • + + tickangle + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: angle +
        Default: "auto" +

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        +
      • +
      • + + tickcolor + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: color
        Default: "#444" +

        Sets the tick color.

        +
      • +
      • + + tickfont + +
        Parent: data[type=treemap].marker.colorbar +
        Type: object containing one or more of the keys listed below. +

        Sets the color bar's tick label font

        +
          +
        • + + color + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=treemap].marker.colorbar.tickfont +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + tickformat + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

        +
      • +
      • + + tickformatstops + +
        Parent: data[type=treemap].marker.colorbar +
        Type: array of object where + each object has one or more of the keys listed below. +
          +
        • + + dtickrange + +
          Parent: data[type=treemap].marker.colorbar.tickformatstops +
          +{inner}Type: {array} +

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

          +
        • +
        • + + enabled + +
          Parent: data[type=treemap].marker.colorbar.tickformatstops +
          + Type: boolean
          Default: true +

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          +
        • +
        • + + name + +
          Parent: data[type=treemap].marker.colorbar.tickformatstops +
          + Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          +
        • +
        • + + templateitemname + +
          Parent: data[type=treemap].marker.colorbar.tickformatstops +
          + Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          +
        • +
        • + + value + +
          Parent: data[type=treemap].marker.colorbar.tickformatstops +
          + Type: string

          string - dtickformat for described zoom level, the same as "tickformat"

          +
        • +
        +
      • +
      • + + ticklabeloverflow + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

        +
      • +
      • + + ticklabelposition + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
        Default: "outside" +

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

        +
      • +
      • + + ticklabelstep + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: integer greater than or equal to 1 +
        Default: 1 +

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

        +
      • +
      • + + ticklen + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 5 +

        Sets the tick length (in px).

        +
      • +
      • + + tickmode + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

        Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

        +
      • +
      • + + tickprefix + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: string

        Sets a tick label prefix.

        +
      • +
      • + + ticks + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

        Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

        +
      • +
      • + + ticksuffix + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: string

        Sets a tick label suffix.

        +
      • +
      • + + ticktext + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: data_array +

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

        +
      • +
      • + + tickvals + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: data_array +

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

        +
      • +
      • + + tickwidth + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 1 +

        Sets the tick width (in px).

        +
      • +
      • + + title + +
        Parent: data[type=treemap].marker.colorbar +
        Type: object containing one or more of the keys listed below. +
          +
        • + + font + +
          Parent: data[type=treemap].marker.colorbar.title +
          Type: object containing one or more of the keys listed below. +

          Sets this color bar's title font.

          +
            +
          • + + color + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: color
          • +
          • + + family + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            +
          • +
          • + + lineposition + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
            Examples: "under", "over", "under+over", "under+over+through", "none" + +
            Default: "none" +

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

            +
          • +
          • + + shadow + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: string
            Default: "none" +

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            +
          • +
          • + + size + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: number greater than or equal to 1 +
          • +
          • + + style + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "italic" ) +
            Default: "normal" +

            Sets whether a font should be styled with a normal or italic face from its family.

            +
          • +
          • + + textcase + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
            Default: "normal" +

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            +
          • +
          • + + variant + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
            Default: "normal" +

            Sets the variant of the font.

            +
          • +
          • + + weight + +
            Parent: data[type=treemap].marker.colorbar.title.font +
            + Type: integer between or equal to 1 and 1000 +
            Default: normal +

            Sets the weight (or boldness) of the font.

            +
          • +
          +
        • +
        • + + side + +
          Parent: data[type=treemap].marker.colorbar.title +
          + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

          Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

          +
        • +
        • + + text + +
          Parent: data[type=treemap].marker.colorbar.title +
          + Type: string

          Sets the title of the color bar.

          +
        • +
        +
      • +
      • + + x + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

        +
      • +
      • + + xanchor + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

        +
      • +
      • + + xpad + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the x direction.

        +
      • +
      • + + xref + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

        +
      • +
      • + + y + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

        +
      • +
      • + + yanchor + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

        +
      • +
      • + + ypad + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: number
        Default: 10 +

        Sets the amount of padding (in px) along the y direction.

        +
      • +
      • + + yref + +
        Parent: data[type=treemap].marker.colorbar +
        + Type: + enumerated , one of ( +"container"| "paper" ) +
        Default: "paper" +

        Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

        +
      • +
      +
    • +
    • + + colors + +
      Parent: data[type=treemap].marker +
      + Type: data_array +

      Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.

      +
    • +
    • + + colorscale + +
      Parent: data[type=treemap].marker +
      + Type: colorscale +

      Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      +
    • +
    • + + cornerradius + +
      Parent: data[type=treemap].marker +
      + Type: number

      Sets the maximum rounding of corners (in px).

      +
    • +
    • + + depthfade + +
      Parent: data[type=treemap].marker +
      + Type: + enumerated , one of ( +true| false| "reversed" ) +

      Determines if the sector colors are faded towards the background from the leaves up to the headers. This option is unavailable when a `colorscale` is present, defaults to false when `marker.colors` is set, but otherwise defaults to true. When set to "reversed", the fading direction is inverted, that is the top elements within hierarchy are drawn with fully saturated colors while the leaves are faded towards the background color.

      +
    • +
    • + + line + +
      Parent: data[type=treemap].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=treemap].marker.line +
        + Type: color or array of colors

        Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        +
      • +
      • + + width + +
        Parent: data[type=treemap].marker.line +
        + Type: number or array of numbers
        Default: 1 +

        Sets the width (in px) of the line enclosing each sector.

        +
      • +
      +
    • +
    • + + pad + +
      Parent: data[type=treemap].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + b + +
        Parent: data[type=treemap].marker.pad +
        + Type: number

        Sets the padding form the bottom (in px).

        +
      • +
      • + + l + +
        Parent: data[type=treemap].marker.pad +
        + Type: number

        Sets the padding form the left (in px).

        +
      • +
      • + + r + +
        Parent: data[type=treemap].marker.pad +
        + Type: number

        Sets the padding form the right (in px).

        +
      • +
      • + + t + +
        Parent: data[type=treemap].marker.pad +
        + Type: number

        Sets the padding form the top (in px).

        +
      • +
      +
    • +
    • + + pattern + +
      Parent: data[type=treemap].marker +
      Type: object containing one or more of the keys listed below. +

      Sets the pattern within the marker.

      +
        +
      • + + bgcolor + +
        Parent: data[type=treemap].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background.

        +
      • +
      • + + fgcolor + +
        Parent: data[type=treemap].marker.pattern +
        + Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        +
      • +
      • + + fgopacity + +
        Parent: data[type=treemap].marker.pattern +
        + Type: number less than or equal to 1 +

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.

        +
      • +
      • + + fillmode + +
        Parent: data[type=treemap].marker.pattern +
        + Type: + enumerated , one of ( +"replace"| "overlay" ) +
        Default: "replace" +

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        +
      • +
      • + + path + +
        Parent: data[type=treemap].marker.pattern +
        + Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        +
      • +
      • + + shape + +
        Parent: data[type=treemap].marker.pattern +
        + Type: + enumerated or array of enumerateds + , one of ( +""| "/"| "\"| "x"| "-"| "|"| "+"| "." ) +

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        +
      • +
      • + + size + +
        Parent: data[type=treemap].marker.pattern +
        + Type: number or array of numbers
        Default: 8 +

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        +
      • +
      • + + solidity + +
        Parent: data[type=treemap].marker.pattern +
        + Type: number or array of numbers less than or equal to 1 +
        Default: 0.3 +

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

        +
      • +
      +
    • +
    • + + reversescale + +
      Parent: data[type=treemap].marker +
      + Type: boolean

      Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      +
    • +
    • + + showscale + +
      Parent: data[type=treemap].marker +
      + Type: boolean

      Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.

      +
    • +
    +
  • +
  • + + maxdepth + +
    Parent: data[type=treemap] +
    + Type: integer
    Default: -1 +

    Sets the number of rendered sectors from any given `level`. Set `maxdepth` to "-1" to render all the levels in the hierarchy.

    +
  • +
  • + + meta + +
    Parent: data[type=treemap] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=treemap] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=treemap] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

    +
      +
    • + + color + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=treemap].outsidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + parents + +
    Parent: data[type=treemap] +
    + Type: data_array +

    Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.

    +
  • +
  • + + pathbar + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + edgeshape + +
      Parent: data[type=treemap].pathbar +
      + Type: + enumerated , one of ( +">"| "<"| "|"| "/"| "\" ) +
      Default: ">" +

      Determines which shape is used for edges between `barpath` labels.

      +
    • +
    • + + side + +
      Parent: data[type=treemap].pathbar +
      + Type: + enumerated , one of ( +"top"| "bottom" ) +
      Default: "top" +

      Determines on which side of the the treemap the `pathbar` should be presented.

      +
    • +
    • + + textfont + +
      Parent: data[type=treemap].pathbar +
      Type: object containing one or more of the keys listed below. +

      Sets the font used inside `pathbar`.

      +
        +
      • + + color + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=treemap].pathbar.textfont +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + thickness + +
      Parent: data[type=treemap].pathbar +
      + Type: number greater than or equal to 12 +

      Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.

      +
    • +
    • + + visible + +
      Parent: data[type=treemap].pathbar +
      + Type: boolean
      Default: true +

      Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.

      +
    • +
    +
  • +
  • + + root + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=treemap].root +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.

      +
    • +
    +
  • +
  • + + sort + +
    Parent: data[type=treemap] +
    + Type: boolean
    Default: true +

    Determines whether or not the sectors are reordered from largest to smallest.

    +
  • +
  • + + text + +
    Parent: data[type=treemap] +
    + Type: data_array +

    Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textfont + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `textinfo`.

    +
      +
    • + + color + +
      Parent: data[type=treemap].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=treemap].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=treemap].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=treemap].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=treemap].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=treemap].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=treemap].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=treemap].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=treemap].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textinfo + +
    Parent: data[type=treemap] +
    + Type: flaglist string. + + Any combination of "label", "text", "value", "current path", "percent root", "percent entry", "percent parent" joined with a "+" + OR "none". + +
    Examples: "label", "text", "label+text", "label+text+value", "none" + +

    Determines which trace information appear on the graph.

    +
  • +
  • + + textposition + +
    Parent: data[type=treemap] +
    + Type: + enumerated , one of ( +"top left"| "top center"| "top right"| "middle left"| "middle center"| "middle right"| "bottom left"| "bottom center"| "bottom right" ) +
    Default: "top left" +

    Sets the positions of the `text` elements.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=treemap] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.

    +
  • +
  • + + tiling + +
    Parent: data[type=treemap] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + flip + +
      Parent: data[type=treemap].tiling +
      + Type: flaglist string. + + Any combination of "x", "y" joined with a "+" + OR . + +
      Examples: "x", "y", "x+y", + +

      Determines if the positions obtained from solver are flipped on each axis.

      +
    • +
    • + + packing + +
      Parent: data[type=treemap].tiling +
      + Type: + enumerated , one of ( +"squarify"| "binary"| "dice"| "slice"| "slice-dice"| "dice-slice" ) +
      Default: "squarify" +

      Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling

      +
    • +
    • + + pad + +
      Parent: data[type=treemap].tiling +
      + Type: number
      Default: 3 +

      Sets the inner padding (in px).

      +
    • +
    • + + squarifyratio + +
      Parent: data[type=treemap].tiling +
      + Type: number greater than or equal to 1 +
      Default: 1 +

      When using "squarify" `packing` algorithm, according to https://github.com/d3/d3-hierarchy/blob/v3.1.1/README.md#squarify_ratio this option specifies the desired aspect ratio of the generated rectangles. The ratio must be specified as a number greater than or equal to one. Note that the orientation of the generated rectangles (tall or wide) is not implied by the ratio; for example, a ratio of two will attempt to produce a mixture of rectangles whose width:height ratio is either 2:1 or 1:2. When using "squarify", unlike d3 which uses the Golden Ratio i.e. 1.618034, Plotly applies 1 to increase squares in treemap layouts.

      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=treemap] +
    +Type: "treemap" +
  • +
  • + + uid + +
    Parent: data[type=treemap] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=treemap] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + values + +
    Parent: data[type=treemap] +
    + Type: data_array +

    Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.

    +
  • +
  • + + visible + +
    Parent: data[type=treemap] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/violin/index.html b/docs/reference/violin/index.html new file mode 100644 index 00000000000..ec5b640a003 --- /dev/null +++ b/docs/reference/violin/index.html @@ -0,0 +1,5572 @@ + + + + + + + + + + + + + + + + + + + + + + + + + violin - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

violin

+
+ A violin trace is an object with the key "type" equal to "violin" + (i.e. {"type": "violin"}) and any of the keys listed below. +

In vertical (horizontal) violin plots, statistics are computed using `y` (`x`) values. By supplying an `x` (`y`) array, one violin per distinct x (y) value is drawn If no `x` (`y`) array is provided, a single violin is drawn. That violin position is then positioned with with `name` or with `x0` (`y0`) if provided.

+
+
    +
  • + + alignmentgroup + +
    Parent: data[type=violin] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    +
  • +
  • + + bandwidth + +
    Parent: data[type=violin] +
    + Type: number

    Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.

    +
  • +
  • + + box + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fillcolor + +
      Parent: data[type=violin].box +
      + Type: color

      Sets the inner box plot fill color.

      +
    • +
    • + + line + +
      Parent: data[type=violin].box +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=violin].box.line +
        + Type: color

        Sets the inner box plot bounding line color.

        +
      • +
      • + + width + +
        Parent: data[type=violin].box.line +
        + Type: number

        Sets the inner box plot bounding line width.

        +
      • +
      +
    • +
    • + + visible + +
      Parent: data[type=violin].box +
      + Type: boolean

      Determines if an miniature box plot is drawn inside the violins.

      +
    • +
    • + + width + +
      Parent: data[type=violin].box +
      + Type: number less than or equal to 1 +
      Default: 0.25 +

      Sets the width of the inner box plots relative to the violins' width. For example, with 1, the inner box plots are as wide as the violins.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=violin] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + fillcolor + +
    Parent: data[type=violin] +
    + Type: color

    Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=violin] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=violin].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=violin].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=violin].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=violin].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=violin].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=violin].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hoveron + +
    Parent: data[type=violin] +
    + Type: flaglist string. + + Any combination of "violins", "points", "kde" joined with a "+" + OR "all". + +
    Examples: "violins", "points", "violins+points", "violins+points+kde", "all" + +
    Default: "violins+points+kde" +

    Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?

    +
  • +
  • + + hovertemplate + +
    Parent: data[type=violin] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=violin] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=violin] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + jitter + +
    Parent: data[type=violin] +
    + Type: number less than or equal to 1 +

    Sets the amount of jitter in the sample points drawn. If "0", the sample points align along the distribution axis. If "1", the sample points are drawn in a random jitter of width equal to the width of the violins.

    +
  • +
  • + + legend + +
    Parent: data[type=violin] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=violin] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=violin].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=violin].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=violin].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=violin] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=violin] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + line + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=violin].line +
      + Type: color

      Sets the color of line bounding the violin(s).

      +
    • +
    • + + width + +
      Parent: data[type=violin].line +
      + Type: number
      Default: 2 +

      Sets the width (in px) of line bounding the violin(s).

      +
    • +
    +
  • +
  • + + marker + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + angle + +
      Parent: data[type=violin].marker +
      + Type: angle +

      Sets the marker angle in respect to `angleref`.

      +
    • +
    • + + color + +
      Parent: data[type=violin].marker +
      + Type: color

      Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      +
    • +
    • + + line + +
      Parent: data[type=violin].marker +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=violin].marker.line +
        + Type: color
        Default: "#444" +

        Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        +
      • +
      • + + outliercolor + +
        Parent: data[type=violin].marker.line +
        + Type: color

        Sets the border line color of the outlier sample points. Defaults to marker.color

        +
      • +
      • + + outlierwidth + +
        Parent: data[type=violin].marker.line +
        + Type: number
        Default: 1 +

        Sets the border line width (in px) of the outlier sample points.

        +
      • +
      • + + width + +
        Parent: data[type=violin].marker.line +
        + Type: number

        Sets the width (in px) of the lines bounding the marker points.

        +
      • +
      +
    • +
    • + + opacity + +
      Parent: data[type=violin].marker +
      + Type: number less than or equal to 1 +
      Default: 1 +

      Sets the marker opacity.

      +
    • +
    • + + outliercolor + +
      Parent: data[type=violin].marker +
      + Type: color
      Default: "rgba(0, 0, 0, 0)" +

      Sets the color of the outlier sample points.

      +
    • +
    • + + size + +
      Parent: data[type=violin].marker +
      + Type: number
      Default: 6 +

      Sets the marker size (in px).

      +
    • +
    • + + symbol + +
      Parent: data[type=violin].marker +
      + Type: + enumerated , one of ( +"0"| "0"| "circle"| "100"| "100"| "circle-open"| "200"| "200"| "circle-dot"| "300"| "300"| "circle-open-dot"| "1"| "1"| "square"| "101"| "101"| "square-open"| "201"| "201"| "square-dot"| "301"| "301"| "square-open-dot"| "2"| "2"| "diamond"| "102"| "102"| "diamond-open"| "202"| "202"| "diamond-dot"| "302"| "302"| "diamond-open-dot"| "3"| "3"| "cross"| "103"| "103"| "cross-open"| "203"| "203"| "cross-dot"| "303"| "303"| "cross-open-dot"| "4"| "4"| "x"| "104"| "104"| "x-open"| "204"| "204"| "x-dot"| "304"| "304"| "x-open-dot"| "5"| "5"| "triangle-up"| "105"| "105"| "triangle-up-open"| "205"| "205"| "triangle-up-dot"| "305"| "305"| "triangle-up-open-dot"| "6"| "6"| "triangle-down"| "106"| "106"| "triangle-down-open"| "206"| "206"| "triangle-down-dot"| "306"| "306"| "triangle-down-open-dot"| "7"| "7"| "triangle-left"| "107"| "107"| "triangle-left-open"| "207"| "207"| "triangle-left-dot"| "307"| "307"| "triangle-left-open-dot"| "8"| "8"| "triangle-right"| "108"| "108"| "triangle-right-open"| "208"| "208"| "triangle-right-dot"| "308"| "308"| "triangle-right-open-dot"| "9"| "9"| "triangle-ne"| "109"| "109"| "triangle-ne-open"| "209"| "209"| "triangle-ne-dot"| "309"| "309"| "triangle-ne-open-dot"| "10"| "10"| "triangle-se"| "110"| "110"| "triangle-se-open"| "210"| "210"| "triangle-se-dot"| "310"| "310"| "triangle-se-open-dot"| "11"| "11"| "triangle-sw"| "111"| "111"| "triangle-sw-open"| "211"| "211"| "triangle-sw-dot"| "311"| "311"| "triangle-sw-open-dot"| "12"| "12"| "triangle-nw"| "112"| "112"| "triangle-nw-open"| "212"| "212"| "triangle-nw-dot"| "312"| "312"| "triangle-nw-open-dot"| "13"| "13"| "pentagon"| "113"| "113"| "pentagon-open"| "213"| "213"| "pentagon-dot"| "313"| "313"| "pentagon-open-dot"| "14"| "14"| "hexagon"| "114"| "114"| "hexagon-open"| "214"| "214"| "hexagon-dot"| "314"| "314"| "hexagon-open-dot"| "15"| "15"| "hexagon2"| "115"| "115"| "hexagon2-open"| "215"| "215"| "hexagon2-dot"| "315"| "315"| "hexagon2-open-dot"| "16"| "16"| "octagon"| "116"| "116"| "octagon-open"| "216"| "216"| "octagon-dot"| "316"| "316"| "octagon-open-dot"| "17"| "17"| "star"| "117"| "117"| "star-open"| "217"| "217"| "star-dot"| "317"| "317"| "star-open-dot"| "18"| "18"| "hexagram"| "118"| "118"| "hexagram-open"| "218"| "218"| "hexagram-dot"| "318"| "318"| "hexagram-open-dot"| "19"| "19"| "star-triangle-up"| "119"| "119"| "star-triangle-up-open"| "219"| "219"| "star-triangle-up-dot"| "319"| "319"| "star-triangle-up-open-dot"| "20"| "20"| "star-triangle-down"| "120"| "120"| "star-triangle-down-open"| "220"| "220"| "star-triangle-down-dot"| "320"| "320"| "star-triangle-down-open-dot"| "21"| "21"| "star-square"| "121"| "121"| "star-square-open"| "221"| "221"| "star-square-dot"| "321"| "321"| "star-square-open-dot"| "22"| "22"| "star-diamond"| "122"| "122"| "star-diamond-open"| "222"| "222"| "star-diamond-dot"| "322"| "322"| "star-diamond-open-dot"| "23"| "23"| "diamond-tall"| "123"| "123"| "diamond-tall-open"| "223"| "223"| "diamond-tall-dot"| "323"| "323"| "diamond-tall-open-dot"| "24"| "24"| "diamond-wide"| "124"| "124"| "diamond-wide-open"| "224"| "224"| "diamond-wide-dot"| "324"| "324"| "diamond-wide-open-dot"| "25"| "25"| "hourglass"| "125"| "125"| "hourglass-open"| "26"| "26"| "bowtie"| "126"| "126"| "bowtie-open"| "27"| "27"| "circle-cross"| "127"| "127"| "circle-cross-open"| "28"| "28"| "circle-x"| "128"| "128"| "circle-x-open"| "29"| "29"| "square-cross"| "129"| "129"| "square-cross-open"| "30"| "30"| "square-x"| "130"| "130"| "square-x-open"| "31"| "31"| "diamond-cross"| "131"| "131"| "diamond-cross-open"| "32"| "32"| "diamond-x"| "132"| "132"| "diamond-x-open"| "33"| "33"| "cross-thin"| "133"| "133"| "cross-thin-open"| "34"| "34"| "x-thin"| "134"| "134"| "x-thin-open"| "35"| "35"| "asterisk"| "135"| "135"| "asterisk-open"| "36"| "36"| "hash"| "136"| "136"| "hash-open"| "236"| "236"| "hash-dot"| "336"| "336"| "hash-open-dot"| "37"| "37"| "y-up"| "137"| "137"| "y-up-open"| "38"| "38"| "y-down"| "138"| "138"| "y-down-open"| "39"| "39"| "y-left"| "139"| "139"| "y-left-open"| "40"| "40"| "y-right"| "140"| "140"| "y-right-open"| "41"| "41"| "line-ew"| "141"| "141"| "line-ew-open"| "42"| "42"| "line-ns"| "142"| "142"| "line-ns-open"| "43"| "43"| "line-ne"| "143"| "143"| "line-ne-open"| "44"| "44"| "line-nw"| "144"| "144"| "line-nw-open"| "45"| "45"| "arrow-up"| "145"| "145"| "arrow-up-open"| "46"| "46"| "arrow-down"| "146"| "146"| "arrow-down-open"| "47"| "47"| "arrow-left"| "147"| "147"| "arrow-left-open"| "48"| "48"| "arrow-right"| "148"| "148"| "arrow-right-open"| "49"| "49"| "arrow-bar-up"| "149"| "149"| "arrow-bar-up-open"| "50"| "50"| "arrow-bar-down"| "150"| "150"| "arrow-bar-down-open"| "51"| "51"| "arrow-bar-left"| "151"| "151"| "arrow-bar-left-open"| "52"| "52"| "arrow-bar-right"| "152"| "152"| "arrow-bar-right-open"| "53"| "53"| "arrow"| "153"| "153"| "arrow-open"| "54"| "54"| "arrow-wide"| "154"| "154"| "arrow-wide-open" ) +
      Default: "circle" +

      Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot-open" to a symbol name.

      +
    • +
    +
  • +
  • + + meanline + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=violin].meanline +
      + Type: color

      Sets the mean line color.

      +
    • +
    • + + visible + +
      Parent: data[type=violin].meanline +
      + Type: boolean

      Determines if a line corresponding to the sample's mean is shown inside the violins. If `box.visible` is turned on, the mean line is drawn inside the inner box. Otherwise, the mean line is drawn from one side of the violin to other.

      +
    • +
    • + + width + +
      Parent: data[type=violin].meanline +
      + Type: number

      Sets the mean line width.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=violin] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=violin] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover. For violin traces, the name will also be used for the position coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are missing and the position axis is categorical. Note that the trace name is also used as a default value for attribute `scalegroup` (please see its description for details).

    +
  • +
  • + + offsetgroup + +
    Parent: data[type=violin] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    +
  • +
  • + + opacity + +
    Parent: data[type=violin] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + orientation + +
    Parent: data[type=violin] +
    + Type: + enumerated , one of ( +"v"| "h" ) +

    Sets the orientation of the violin(s). If "v" ("h"), the distribution is visualized along the vertical (horizontal).

    +
  • +
  • + + pointpos + +
    Parent: data[type=violin] +
    + Type: number between or equal to -2 and 2 +

    Sets the position of the sample points in relation to the violins. If "0", the sample points are places over the center of the violins. Positive (negative) values correspond to positions to the right (left) for vertical violins and above (below) for horizontal violins.

    +
  • +
  • + + points + +
    Parent: data[type=violin] +
    + Type: + enumerated , one of ( +"all"| "outliers"| "suspectedoutliers"| false ) +

    If "outliers", only the sample points lying outside the whiskers are shown If "suspectedoutliers", the outlier points are shown and points either less than 4"Q1-3"Q3 or greater than 4"Q3-3"Q1 are highlighted (see `outliercolor`) If "all", all sample points are shown If "false", only the violins are shown with no sample points. Defaults to "suspectedoutliers" when `marker.outliercolor` or `marker.line.outliercolor` is set, otherwise defaults to "outliers".

    +
  • +
  • + + quartilemethod + +
    Parent: data[type=violin] +
    + Type: + enumerated , one of ( +"linear"| "exclusive"| "inclusive" ) +
    Default: "linear" +

    Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://jse.amstat.org/v14n3/langford.html). The "exclusive" method uses the median to divide the ordered dataset into two halves if the sample is odd, it does not include the median in either half - Q1 is then the median of the lower half and Q3 the median of the upper half. The "inclusive" method also uses the median to divide the ordered dataset into two halves but if the sample is odd, it includes the median in both halves - Q1 is then the median of the lower half and Q3 the median of the upper half.

    +
  • +
  • + + scalegroup + +
    Parent: data[type=violin] +
    + Type: string

    If there are multiple violins that should be sized according to to some metric (see `scalemode`), link them by providing a non-empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together

    +
  • +
  • + + scalemode + +
    Parent: data[type=violin] +
    + Type: + enumerated , one of ( +"width"| "count" ) +
    Default: "width" +

    Sets the metric by which the width of each violin is determined. "width" means each violin has the same (max) width "count" means the violins are scaled by the number of sample points making up each violin.

    +
  • +
  • + + selected + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=violin].selected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=violin].selected.marker +
        + Type: color

        Sets the marker color of selected points.

        +
      • +
      • + + opacity + +
        Parent: data[type=violin].selected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of selected points.

        +
      • +
      • + + size + +
        Parent: data[type=violin].selected.marker +
        + Type: number

        Sets the marker size of selected points.

        +
      • +
      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=violin] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=violin] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + side + +
    Parent: data[type=violin] +
    + Type: + enumerated , one of ( +"both"| "positive"| "negative" ) +
    Default: "both" +

    Determines on which side of the position value the density function making up one half of a violin is plotted. Useful when comparing two violin traces under "overlay" mode, where one trace has `side` set to "positive" and the other to "negative".

    +
  • +
  • + + span + +
    Parent: data[type=violin] +
    +{inner}Type: {array} +

    Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to "manual".

    +
  • +
  • + + spanmode + +
    Parent: data[type=violin] +
    + Type: + enumerated , one of ( +"soft"| "hard"| "manual" ) +
    Default: "soft" +

    Sets the method by which the span in data space where the density function will be computed. "soft" means the span goes from the sample's minimum value minus two bandwidths to the sample's maximum value plus two bandwidths. "hard" means the span goes from the sample's minimum to its maximum value. For custom span settings, use mode "manual" and fill in the `span` attribute.

    +
  • +
  • + + text + +
    Parent: data[type=violin] +
    + Type: string or array of strings

    Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + type + +
    Parent: data[type=violin] +
    +Type: "violin" +
  • +
  • + + uid + +
    Parent: data[type=violin] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=violin] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + unselected + +
    Parent: data[type=violin] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=violin].unselected +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=violin].unselected.marker +
        + Type: color

        Sets the marker color of unselected points, applied only when a selection exists.

        +
      • +
      • + + opacity + +
        Parent: data[type=violin].unselected.marker +
        + Type: number less than or equal to 1 +

        Sets the marker opacity of unselected points, applied only when a selection exists.

        +
      • +
      • + + size + +
        Parent: data[type=violin].unselected.marker +
        + Type: number

        Sets the marker size of unselected points, applied only when a selection exists.

        +
      • +
      +
    • +
    +
  • +
  • + + visible + +
    Parent: data[type=violin] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + width + +
    Parent: data[type=violin] +
    + Type: number

    Sets the width of the violin in data coordinates. If "0" (default value) the width is automatically selected based on the positions of other violin traces in the same subplot.

    +
  • +
  • + + x + +
    Parent: data[type=violin] +
    + Type: data_array +

    Sets the x sample data or coordinates. See overview for more info.

    +
  • +
  • + + x0 + +
    Parent: data[type=violin] +
    + Type: number or categorical coordinate string +

    Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    +
  • +
  • + + xaxis + +
    Parent: data[type=violin] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=violin] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=violin] +
    + Type: data_array +

    Sets the y sample data or coordinates. See overview for more info.

    +
  • +
  • + + y0 + +
    Parent: data[type=violin] +
    + Type: number or categorical coordinate string +

    Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    +
  • +
  • + + yaxis + +
    Parent: data[type=violin] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=violin] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + zorder + +
    Parent: data[type=violin] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/volume/index.html b/docs/reference/volume/index.html new file mode 100644 index 00000000000..8487af54b7f --- /dev/null +++ b/docs/reference/volume/index.html @@ -0,0 +1,6357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + volume - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

volume

+
+ A volume trace is an object with the key "type" equal to "volume" + (i.e. {"type": "volume"}) and any of the keys listed below. +

Draws volume trace between iso-min and iso-max values with coordinates given by four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as spaceframe between iso-min and iso-max values could also be drawn using this trace.

+
+
    +
  • + + autocolorscale + +
    Parent: data[type=volume] +
    + Type: boolean
    Default: true +

    Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    +
  • +
  • + + caps + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=volume].caps +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=volume].caps.x +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + show + +
        Parent: data[type=volume].caps.x +
        + Type: boolean
        Default: true +

        Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      +
    • +
    • + + y + +
      Parent: data[type=volume].caps +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=volume].caps.y +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + show + +
        Parent: data[type=volume].caps.y +
        + Type: boolean
        Default: true +

        Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      +
    • +
    • + + z + +
      Parent: data[type=volume].caps +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=volume].caps.z +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + show + +
        Parent: data[type=volume].caps.z +
        + Type: boolean
        Default: true +

        Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      +
    • +
    +
  • +
  • + + cauto + +
    Parent: data[type=volume] +
    + Type: boolean
    Default: true +

    Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    +
  • +
  • + + cmax + +
    Parent: data[type=volume] +
    + Type: number

    Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.

    +
  • +
  • + + cmid + +
    Parent: data[type=volume] +
    + Type: number

    Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.

    +
  • +
  • + + cmin + +
    Parent: data[type=volume] +
    + Type: number

    Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.

    +
  • +
  • + + coloraxis + +
    Parent: data[type=volume] +
    + Type: subplotid +

    Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", "coloraxis3", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    +
  • +
  • + + colorbar + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + bgcolor + +
      Parent: data[type=volume].colorbar +
      + Type: color
      Default: "rgba(0,0,0,0)" +

      Sets the color of padded area.

      +
    • +
    • + + bordercolor + +
      Parent: data[type=volume].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + borderwidth + +
      Parent: data[type=volume].colorbar +
      + Type: number

      Sets the width (in px) or the border enclosing this color bar.

      +
    • +
    • + + dtick + +
      Parent: data[type=volume].colorbar +
      + Type: number or categorical coordinate string +

      Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. 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. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". 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. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      +
    • +
    • + + exponentformat + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"none"| "e"| "E"| "power"| "SI"| "B" ) +
      Default: "B" +

      Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If "none", it appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If "B", 1B.

      +
    • +
    • + + labelalias + +
      Parent: data[type=volume].colorbar +
      + Type: number or categorical coordinate string +

      Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      +
    • +
    • + + len + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 1 +

      Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      +
    • +
    • + + lenmode + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "fraction" +

      Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot "fraction" or in "pixels. Use `len` to set the value.

      +
    • +
    • + + minexponent + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 3 +

      Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

      +
    • +
    • + + nticks + +
      Parent: data[type=volume].colorbar +
      + Type: integer

      Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      +
    • +
    • + + orientation + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"h"| "v" ) +
      Default: "v" +

      Sets the orientation of the colorbar.

      +
    • +
    • + + outlinecolor + +
      Parent: data[type=volume].colorbar +
      + Type: color
      Default: "#444" +

      Sets the axis line color.

      +
    • +
    • + + outlinewidth + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 1 +

      Sets the width (in px) of the axis line.

      +
    • +
    • + + separatethousands + +
      Parent: data[type=volume].colorbar +
      + Type: boolean

      If "true", even 4-digit integers are separated

      +
    • +
    • + + showexponent + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all exponents are shown besides their significands. If "first", only the exponent of the first tick is shown. If "last", only the exponent of the last tick is shown. If "none", no exponents appear.

      +
    • +
    • + + showticklabels + +
      Parent: data[type=volume].colorbar +
      + Type: boolean
      Default: true +

      Determines whether or not the tick labels are drawn.

      +
    • +
    • + + showtickprefix + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      If "all", all tick labels are displayed with a prefix. If "first", only the first tick is displayed with a prefix. If "last", only the last tick is displayed with a suffix. If "none", tick prefixes are hidden.

      +
    • +
    • + + showticksuffix + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"all"| "first"| "last"| "none" ) +
      Default: "all" +

      Same as `showtickprefix` but for tick suffixes.

      +
    • +
    • + + thickness + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 30 +

      Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      +
    • +
    • + + thicknessmode + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"fraction"| "pixels" ) +
      Default: "pixels" +

      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.

      +
    • +
    • + + tick0 + +
      Parent: data[type=volume].colorbar +
      + Type: number or categorical coordinate string +

      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) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      +
    • +
    • + + tickangle + +
      Parent: data[type=volume].colorbar +
      + Type: angle +
      Default: "auto" +

      Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      +
    • +
    • + + tickcolor + +
      Parent: data[type=volume].colorbar +
      + Type: color
      Default: "#444" +

      Sets the tick color.

      +
    • +
    • + + tickfont + +
      Parent: data[type=volume].colorbar +
      Type: object containing one or more of the keys listed below. +

      Sets the color bar's tick label font

      +
        +
      • + + color + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=volume].colorbar.tickfont +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + tickformat + +
      Parent: data[type=volume].colorbar +
      + Type: string

      Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      +
    • +
    • + + tickformatstops + +
      Parent: data[type=volume].colorbar +
      Type: array of object where + each object has one or more of the keys listed below. +
        +
      • + + dtickrange + +
        Parent: data[type=volume].colorbar.tickformatstops +
        +{inner}Type: {array} +

        range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        +
      • +
      • + + enabled + +
        Parent: data[type=volume].colorbar.tickformatstops +
        + Type: boolean
        Default: true +

        Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        +
      • +
      • + + name + +
        Parent: data[type=volume].colorbar.tickformatstops +
        + Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        +
      • +
      • + + templateitemname + +
        Parent: data[type=volume].colorbar.tickformatstops +
        + Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        +
      • +
      • + + value + +
        Parent: data[type=volume].colorbar.tickformatstops +
        + Type: string

        string - dtickformat for described zoom level, the same as "tickformat"

        +
      • +
      +
    • +
    • + + ticklabeloverflow + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"allow"| "hide past div"| "hide past domain" ) +

      Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is "hide past domain". In other cases the default is "hide past div".

      +
    • +
    • + + ticklabelposition + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "outside top"| "inside top"| "outside left"| "inside left"| "outside right"| "inside right"| "outside bottom"| "inside bottom" ) +
      Default: "outside" +

      Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is "h", top and bottom when `orientation` is "v".

      +
    • +
    • + + ticklabelstep + +
      Parent: data[type=volume].colorbar +
      + Type: integer greater than or equal to 1 +
      Default: 1 +

      Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` "log" or "multicategory", or when `tickmode` is "array".

      +
    • +
    • + + ticklen + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 5 +

      Sets the tick length (in px).

      +
    • +
    • + + tickmode + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"auto"| "linear"| "array" ) +

      Sets the tick mode for this axis. If "auto", the number of ticks is set via `nticks`. If "linear", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` ("linear" is the default value if `tick0` and `dtick` are provided). If "array", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided).

      +
    • +
    • + + tickprefix + +
      Parent: data[type=volume].colorbar +
      + Type: string

      Sets a tick label prefix.

      +
    • +
    • + + ticks + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"outside"| "inside"| "" ) +

      Determines whether ticks are drawn or not. If "", this axis' ticks are not drawn. If "outside" ("inside"), this axis' are drawn outside (inside) the axis lines.

      +
    • +
    • + + ticksuffix + +
      Parent: data[type=volume].colorbar +
      + Type: string

      Sets a tick label suffix.

      +
    • +
    • + + ticktext + +
      Parent: data[type=volume].colorbar +
      + Type: data_array +

      Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      +
    • +
    • + + tickvals + +
      Parent: data[type=volume].colorbar +
      + Type: data_array +

      Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      +
    • +
    • + + tickwidth + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 1 +

      Sets the tick width (in px).

      +
    • +
    • + + title + +
      Parent: data[type=volume].colorbar +
      Type: object containing one or more of the keys listed below. +
        +
      • + + font + +
        Parent: data[type=volume].colorbar.title +
        Type: object containing one or more of the keys listed below. +

        Sets this color bar's title font.

        +
          +
        • + + color + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: color
        • +
        • + + family + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          +
        • +
        • + + lineposition + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
          Examples: "under", "over", "under+over", "under+over+through", "none" + +
          Default: "none" +

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          +
        • +
        • + + shadow + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: string
          Default: "none" +

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          +
        • +
        • + + size + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: number greater than or equal to 1 +
        • +
        • + + style + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "italic" ) +
          Default: "normal" +

          Sets whether a font should be styled with a normal or italic face from its family.

          +
        • +
        • + + textcase + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
          Default: "normal" +

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          +
        • +
        • + + variant + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
          Default: "normal" +

          Sets the variant of the font.

          +
        • +
        • + + weight + +
          Parent: data[type=volume].colorbar.title.font +
          + Type: integer between or equal to 1 and 1000 +
          Default: normal +

          Sets the weight (or boldness) of the font.

          +
        • +
        +
      • +
      • + + side + +
        Parent: data[type=volume].colorbar.title +
        + Type: + enumerated , one of ( +"right"| "top"| "bottom" ) +

        Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when `orientation` if "h".

        +
      • +
      • + + text + +
        Parent: data[type=volume].colorbar.title +
        + Type: string

        Sets the title of the color bar.

        +
      • +
      +
    • +
    • + + x + +
      Parent: data[type=volume].colorbar +
      + Type: number

      Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", defaults to 1.02 when `orientation` is "v" and 0.5 when `orientation` is "h". When `xref` is "container", defaults to "1" when `orientation` is "v" and 0.5 when `orientation` is "h". Must be between "0" and "1" if `xref` is "container" and between "-2" and "3" if `xref` is "paper".

      +
    • +
    • + + xanchor + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"left"| "center"| "right" ) +

      Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the "left", "center" or "right" of the color bar. Defaults to "left" when `orientation` is "v" and "center" when `orientation` is "h".

      +
    • +
    • + + xpad + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the x direction.

      +
    • +
    • + + xref + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `x` refers to. "container" spans the entire `width` of the plot. "paper" refers to the width of the plotting area only.

      +
    • +
    • + + y + +
      Parent: data[type=volume].colorbar +
      + Type: number

      Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is "paper", defaults to 0.5 when `orientation` is "v" and 1.02 when `orientation` is "h". When `yref` is "container", defaults to 0.5 when `orientation` is "v" and 1 when `orientation` is "h". Must be between "0" and "1" if `yref` is "container" and between "-2" and "3" if `yref` is "paper".

      +
    • +
    • + + yanchor + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"top"| "middle"| "bottom" ) +

      Sets this color bar's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the color bar. Defaults to "middle" when `orientation` is "v" and "bottom" when `orientation` is "h".

      +
    • +
    • + + ypad + +
      Parent: data[type=volume].colorbar +
      + Type: number
      Default: 10 +

      Sets the amount of padding (in px) along the y direction.

      +
    • +
    • + + yref + +
      Parent: data[type=volume].colorbar +
      + Type: + enumerated , one of ( +"container"| "paper" ) +
      Default: "paper" +

      Sets the container `y` refers to. "container" spans the entire `height` of the plot. "paper" refers to the height of the plotting area only.

      +
    • +
    +
  • +
  • + + colorscale + +
    Parent: data[type=volume] +
    + Type: colorscale +

    Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    +
  • +
  • + + contour + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + color + +
      Parent: data[type=volume].contour +
      + Type: color
      Default: "#444" +

      Sets the color of the contour lines.

      +
    • +
    • + + show + +
      Parent: data[type=volume].contour +
      + Type: boolean

      Sets whether or not dynamic contours are shown on hover

      +
    • +
    • + + width + +
      Parent: data[type=volume].contour +
      + Type: number between or equal to 1 and 16 +
      Default: 2 +

      Sets the width of the contour lines.

      +
    • +
    +
  • +
  • + + customdata + +
    Parent: data[type=volume] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + flatshading + +
    Parent: data[type=volume] +
    + Type: boolean
    Default: true +

    Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=volume] +
    + Type: flaglist string. + + Any combination of "x", "y", "z", "text", "name" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "x", "y", "x+y", "x+y+z", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=volume].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=volume].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=volume].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=volume].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=volume].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=volume].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=volume] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=volume] +
    + Type: string or array of strings

    Same as `text`.

    +
  • +
  • + + ids + +
    Parent: data[type=volume] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + isomax + +
    Parent: data[type=volume] +
    + Type: number

    Sets the maximum boundary for iso-surface plot.

    +
  • +
  • + + isomin + +
    Parent: data[type=volume] +
    + Type: number

    Sets the minimum boundary for iso-surface plot.

    +
  • +
  • + + legend + +
    Parent: data[type=volume] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=volume] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=volume].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=volume].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=volume].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=volume] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=volume] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + lighting + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + ambient + +
      Parent: data[type=volume].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Ambient light increases overall color visibility but can wash out the image.

      +
    • +
    • + + diffuse + +
      Parent: data[type=volume].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.8 +

      Represents the extent that incident rays are reflected in a range of angles.

      +
    • +
    • + + facenormalsepsilon + +
      Parent: data[type=volume].lighting +
      + Type: number less than or equal to 1 +

      Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    • + + fresnel + +
      Parent: data[type=volume].lighting +
      + Type: number less than or equal to 5 +
      Default: 0.2 +

      Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      +
    • +
    • + + roughness + +
      Parent: data[type=volume].lighting +
      + Type: number less than or equal to 1 +
      Default: 0.5 +

      Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      +
    • +
    • + + specular + +
      Parent: data[type=volume].lighting +
      + Type: number less than or equal to 2 +
      Default: 0.05 +

      Represents the level that incident rays are reflected in a single direction, causing shine.

      +
    • +
    • + + vertexnormalsepsilon + +
      Parent: data[type=volume].lighting +
      + Type: number less than or equal to 1 +
      Default: 1e-12 +

      Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

      +
    • +
    +
  • +
  • + + lightposition + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=volume].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the X coordinate for each vertex.

      +
    • +
    • + + y + +
      Parent: data[type=volume].lightposition +
      + Type: number between or equal to -100000 and 100000 +
      Default: 100000 +

      Numeric vector, representing the Y coordinate for each vertex.

      +
    • +
    • + + z + +
      Parent: data[type=volume].lightposition +
      + Type: number between or equal to -100000 and 100000 +

      Numeric vector, representing the Z coordinate for each vertex.

      +
    • +
    +
  • +
  • + + meta + +
    Parent: data[type=volume] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=volume] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + opacity + +
    Parent: data[type=volume] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    +
  • +
  • + + opacityscale + +
    Parent: data[type=volume] +
    + Type: number or categorical coordinate string +

    Sets the opacityscale. The opacityscale must be an array containing arrays mapping a normalized value to an opacity value. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 1], [0.5, 0.2], [1, 1]]` means that higher/lower values would have higher opacity values and those in the middle would be more transparent Alternatively, `opacityscale` may be a palette name string of the following list: 'min', 'max', 'extremes' and 'uniform'. The default is 'uniform'.

    +
  • +
  • + + reversescale + +
    Parent: data[type=volume] +
    + Type: boolean

    Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    +
  • +
  • + + scene + +
    Parent: data[type=volume] +
    + Type: subplotid +
    Default: scene +

    Sets a reference between this trace's 3D coordinate system and a 3D scene. If "scene" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If "scene2", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    +
  • +
  • + + showlegend + +
    Parent: data[type=volume] +
    + Type: boolean

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + showscale + +
    Parent: data[type=volume] +
    + Type: boolean
    Default: true +

    Determines whether or not a colorbar is displayed for this trace.

    +
  • +
  • + + slices + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + x + +
      Parent: data[type=volume].slices +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=volume].slices.x +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + locations + +
        Parent: data[type=volume].slices.x +
        + Type: data_array +

        Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.

        +
      • +
      • + + show + +
        Parent: data[type=volume].slices.x +
        + Type: boolean

        Determines whether or not slice planes about the x dimension are drawn.

        +
      • +
      +
    • +
    • + + y + +
      Parent: data[type=volume].slices +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=volume].slices.y +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + locations + +
        Parent: data[type=volume].slices.y +
        + Type: data_array +

        Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.

        +
      • +
      • + + show + +
        Parent: data[type=volume].slices.y +
        + Type: boolean

        Determines whether or not slice planes about the y dimension are drawn.

        +
      • +
      +
    • +
    • + + z + +
      Parent: data[type=volume].slices +
      Type: object containing one or more of the keys listed below. +
        +
      • + + fill + +
        Parent: data[type=volume].slices.z +
        + Type: number less than or equal to 1 +
        Default: 1 +

        Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        +
      • +
      • + + locations + +
        Parent: data[type=volume].slices.z +
        + Type: data_array +

        Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.

        +
      • +
      • + + show + +
        Parent: data[type=volume].slices.z +
        + Type: boolean

        Determines whether or not slice planes about the z dimension are drawn.

        +
      • +
      +
    • +
    +
  • +
  • + + spaceframe + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + fill + +
      Parent: data[type=volume].spaceframe +
      + Type: number less than or equal to 1 +
      Default: 1 +

      Sets the fill ratio of the `spaceframe` elements. The default fill value is 1 meaning that they are entirely shaded. Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      +
    • +
    • + + show + +
      Parent: data[type=volume].spaceframe +
      + Type: boolean

      Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.

      +
    • +
    +
  • +
  • + + surface + +
    Parent: data[type=volume] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + count + +
      Parent: data[type=volume].surface +
      + Type: integer greater than or equal to 1 +
      Default: 2 +

      Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.

      +
    • +
    • + + fill + +
      Parent: data[type=volume].surface +
      + Type: number less than or equal to 1 +
      Default: 1 +

      Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      +
    • +
    • + + pattern + +
      Parent: data[type=volume].surface +
      + Type: flaglist string. + + Any combination of "A", "B", "C", "D", "E" joined with a "+" + OR "all", "odd", "even". + +
      Examples: "A", "B", "A+B", "A+B+C", "all" + +
      Default: "all" +

      Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.

      +
    • +
    • + + show + +
      Parent: data[type=volume].surface +
      + Type: boolean
      Default: true +

      Hides/displays surfaces between minimum and maximum iso-values.

      +
    • +
    +
  • +
  • + + text + +
    Parent: data[type=volume] +
    + Type: string or array of strings

    Sets the text elements associated with the vertices. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + type + +
    Parent: data[type=volume] +
    +Type: "volume" +
  • +
  • + + uid + +
    Parent: data[type=volume] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=volume] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + value + +
    Parent: data[type=volume] +
    + Type: data_array +

    Sets the 4th dimension (value) of the vertices.

    +
  • +
  • + + valuehoverformat + +
    Parent: data[type=volume] +
    + Type: string

    Sets the hover text formatting rulefor `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    +
  • +
  • + + visible + +
    Parent: data[type=volume] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + x + +
    Parent: data[type=volume] +
    + Type: data_array +

    Sets the X coordinates of the vertices on X axis.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=volume] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + y + +
    Parent: data[type=volume] +
    + Type: data_array +

    Sets the Y coordinates of the vertices on Y axis.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=volume] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + z + +
    Parent: data[type=volume] +
    + Type: data_array +

    Sets the Z coordinates of the vertices on Z axis.

    +
  • +
  • + + zhoverformat + +
    Parent: data[type=volume] +
    + Type: string

    Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `zaxis.hoverformat`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/waterfall/index.html b/docs/reference/waterfall/index.html new file mode 100644 index 00000000000..7de85a9bc4c --- /dev/null +++ b/docs/reference/waterfall/index.html @@ -0,0 +1,5852 @@ + + + + + + + + + + + + + + + + + + + + + + + waterfall - Plotly.js Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + +
+ + +
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + +

waterfall

+
+ A waterfall trace is an object with the key "type" equal to "waterfall" + (i.e. {"type": "waterfall"}) and any of the keys listed below. +

Draws waterfall trace which is useful graph to displays the contribution of various elements (either positive or negative) in a bar chart. The data visualized by the span of the bars is set in `y` if `orientation` is set to "v" (the default) and the labels are set in `x`. By setting `orientation` to "h", the roles are interchanged.

+
+
    +
  • + + alignmentgroup + +
    Parent: data[type=waterfall] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    +
  • +
  • + + base + +
    Parent: data[type=waterfall] +
    + Type: number

    Sets where the bar base is drawn (in position axis units).

    +
  • +
  • + + cliponaxis + +
    Parent: data[type=waterfall] +
    + Type: boolean
    Default: true +

    Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

    +
  • +
  • + + connector + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + line + +
      Parent: data[type=waterfall].connector +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=waterfall].connector.line +
        + Type: color
        Default: "#444" +

        Sets the line color.

        +
      • +
      • + + dash + +
        Parent: data[type=waterfall].connector.line +
        + Type: string
        Default: "solid" +

        Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px").

        +
      • +
      • + + width + +
        Parent: data[type=waterfall].connector.line +
        + Type: number
        Default: 2 +

        Sets the line width (in px).

        +
      • +
      +
    • +
    • + + mode + +
      Parent: data[type=waterfall].connector +
      + Type: + enumerated , one of ( +"spanning"| "between" ) +
      Default: "between" +

      Sets the shape of connector lines.

      +
    • +
    • + + visible + +
      Parent: data[type=waterfall].connector +
      + Type: boolean
      Default: true +

      Determines if connector lines are drawn.

      +
    • +
    +
  • +
  • + + constraintext + +
    Parent: data[type=waterfall] +
    + Type: + enumerated , one of ( +"inside"| "outside"| "both"| "none" ) +
    Default: "both" +

    Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    +
  • +
  • + + customdata + +
    Parent: data[type=waterfall] +
    + Type: data_array +

    Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements

    +
  • +
  • + + decreasing + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=waterfall].decreasing +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=waterfall].decreasing.marker +
        + Type: color

        Sets the marker color of all decreasing values.

        +
      • +
      • + + line + +
        Parent: data[type=waterfall].decreasing.marker +
        Type: object containing one or more of the keys listed below. +
          +
        • + + color + +
          Parent: data[type=waterfall].decreasing.marker.line +
          + Type: color

          Sets the line color of all decreasing values.

          +
        • +
        • + + width + +
          Parent: data[type=waterfall].decreasing.marker.line +
          + Type: number

          Sets the line width of all decreasing values.

          +
        • +
        +
      • +
      +
    • +
    +
  • +
  • + + dx + +
    Parent: data[type=waterfall] +
    + Type: number
    Default: 1 +

    Sets the x coordinate step. See `x0` for more info.

    +
  • +
  • + + dy + +
    Parent: data[type=waterfall] +
    + Type: number
    Default: 1 +

    Sets the y coordinate step. See `y0` for more info.

    +
  • +
  • + + hoverinfo + +
    Parent: data[type=waterfall] +
    + Type: flaglist string. + + Any combination of "name", "x", "y", "text", "initial", "delta", "final" joined with a "+" + OR "all", "none", "skip". + +
    Examples: "name", "x", "name+x", "name+x+y", "all" + +
    Default: "all" +

    Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    +
  • +
  • + + hoverlabel + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + align + +
      Parent: data[type=waterfall].hoverlabel +
      + Type: + enumerated or array of enumerateds + , one of ( +"left"| "right"| "auto" ) +
      Default: "auto" +

      Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      +
    • +
    • + + bgcolor + +
      Parent: data[type=waterfall].hoverlabel +
      + Type: color or array of colors

      Sets the background color of the hover labels for this trace

      +
    • +
    • + + bordercolor + +
      Parent: data[type=waterfall].hoverlabel +
      + Type: color or array of colors

      Sets the border color of the hover labels for this trace.

      +
    • +
    • + + font + +
      Parent: data[type=waterfall].hoverlabel +
      Type: object containing one or more of the keys listed below. +

      Sets the font used in hover labels.

      +
        +
      • + + color + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: color or array of colors
      • +
      • + + family + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: string or array of strings
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: number or array of numbers greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=waterfall].hoverlabel.font +
        + Type: integer or array of integers between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + namelength + +
      Parent: data[type=waterfall].hoverlabel +
      + Type: integer or array of integers greater than or equal to -1 +
      Default: 15 +

      Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      +
    • +
    +
  • +
  • + + hovertemplate + +
    Parent: data[type=waterfall] +
    + Type: string or array of strings

    Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, "xother" will be added to those with different x positions from the first point. An underscore before or after "(x|y)other" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `initial`, `delta` and `final`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    +
  • +
  • + + hovertext + +
    Parent: data[type=waterfall] +
    + Type: string or array of strings

    Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

    +
  • +
  • + + ids + +
    Parent: data[type=waterfall] +
    + Type: data_array +

    Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    +
  • +
  • + + increasing + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=waterfall].increasing +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=waterfall].increasing.marker +
        + Type: color

        Sets the marker color of all increasing values.

        +
      • +
      • + + line + +
        Parent: data[type=waterfall].increasing.marker +
        Type: object containing one or more of the keys listed below. +
          +
        • + + color + +
          Parent: data[type=waterfall].increasing.marker.line +
          + Type: color

          Sets the line color of all increasing values.

          +
        • +
        • + + width + +
          Parent: data[type=waterfall].increasing.marker.line +
          + Type: number

          Sets the line width of all increasing values.

          +
        • +
        +
      • +
      +
    • +
    +
  • +
  • + + insidetextanchor + +
    Parent: data[type=waterfall] +
    + Type: + enumerated , one of ( +"end"| "middle"| "start" ) +
    Default: "end" +

    Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

    +
  • +
  • + + insidetextfont + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying inside the bar.

    +
      +
    • + + color + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=waterfall].insidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + legend + +
    Parent: data[type=waterfall] +
    + Type: subplotid +
    Default: legend +

    Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    +
  • +
  • + + legendgroup + +
    Parent: data[type=waterfall] +
    + Type: string

    Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    +
  • +
  • + + legendgrouptitle + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + font + +
      Parent: data[type=waterfall].legendgrouptitle +
      Type: object containing one or more of the keys listed below. +

      Sets this legend group's title font.

      +
        +
      • + + color + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: color
      • +
      • + + family + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        +
      • +
      • + + lineposition + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
        Examples: "under", "over", "under+over", "under+over+through", "none" + +
        Default: "none" +

        Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        +
      • +
      • + + shadow + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: string
        Default: "none" +

        Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        +
      • +
      • + + size + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: number greater than or equal to 1 +
      • +
      • + + style + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "italic" ) +
        Default: "normal" +

        Sets whether a font should be styled with a normal or italic face from its family.

        +
      • +
      • + + textcase + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
        Default: "normal" +

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        +
      • +
      • + + variant + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: + enumerated , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
        Default: "normal" +

        Sets the variant of the font.

        +
      • +
      • + + weight + +
        Parent: data[type=waterfall].legendgrouptitle.font +
        + Type: integer between or equal to 1 and 1000 +
        Default: normal +

        Sets the weight (or boldness) of the font.

        +
      • +
      +
    • +
    • + + text + +
      Parent: data[type=waterfall].legendgrouptitle +
      + Type: string

      Sets the title of the legend group.

      +
    • +
    +
  • +
  • + + legendrank + +
    Parent: data[type=waterfall] +
    + Type: number
    Default: 1000 +

    Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with "reversed" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    +
  • +
  • + + legendwidth + +
    Parent: data[type=waterfall] +
    + Type: number

    Sets the width (in px or fraction) of the legend for this trace.

    +
  • +
  • + + measure + +
    Parent: data[type=waterfall] +
    + Type: data_array +

    An array containing types of values. By default the values are considered as 'relative'. However; it is possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed.

    +
  • +
  • + + meta + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    +
  • +
  • + + name + +
    Parent: data[type=waterfall] +
    + Type: string

    Sets the trace name. The trace name appears as the legend item and on hover.

    +
  • +
  • + + offset + +
    Parent: data[type=waterfall] +
    + Type: number or array of numbers

    Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

    +
  • +
  • + + offsetgroup + +
    Parent: data[type=waterfall] +
    + Type: string

    Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    +
  • +
  • + + opacity + +
    Parent: data[type=waterfall] +
    + Type: number less than or equal to 1 +
    Default: 1 +

    Sets the opacity of the trace.

    +
  • +
  • + + orientation + +
    Parent: data[type=waterfall] +
    + Type: + enumerated , one of ( +"v"| "h" ) +

    Sets the orientation of the bars. With "v" ("h"), the value of the each bar spans along the vertical (horizontal).

    +
  • +
  • + + outsidetextfont + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text` lying outside the bar.

    +
      +
    • + + color + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=waterfall].outsidetextfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + selectedpoints + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    +
  • +
  • + + showlegend + +
    Parent: data[type=waterfall] +
    + Type: boolean
    Default: true +

    Determines whether or not an item corresponding to this trace is shown in the legend.

    +
  • +
  • + + text + +
    Parent: data[type=waterfall] +
    + Type: string or array of strings

    Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

    +
  • +
  • + + textangle + +
    Parent: data[type=waterfall] +
    + Type: angle +
    Default: "auto" +

    Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

    +
  • +
  • + + textfont + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +

    Sets the font used for `text`.

    +
      +
    • + + color + +
      Parent: data[type=waterfall].textfont +
      + Type: color or array of colors
    • +
    • + + family + +
      Parent: data[type=waterfall].textfont +
      + Type: string or array of strings

      HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      +
    • +
    • + + lineposition + +
      Parent: data[type=waterfall].textfont +
      + Type: flaglist string. + + Any combination of "under", "over", "through" joined with a "+" + OR "none". + +
      Examples: "under", "over", "under+over", "under+over+through", "none" + +
      Default: "none" +

      Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

      +
    • +
    • + + shadow + +
      Parent: data[type=waterfall].textfont +
      + Type: string or array of strings
      Default: "none" +

      Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      +
    • +
    • + + size + +
      Parent: data[type=waterfall].textfont +
      + Type: number or array of numbers greater than or equal to 1 +
    • +
    • + + style + +
      Parent: data[type=waterfall].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "italic" ) +
      Default: "normal" +

      Sets whether a font should be styled with a normal or italic face from its family.

      +
    • +
    • + + textcase + +
      Parent: data[type=waterfall].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "word caps"| "upper"| "lower" ) +
      Default: "normal" +

      Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      +
    • +
    • + + variant + +
      Parent: data[type=waterfall].textfont +
      + Type: + enumerated or array of enumerateds + , one of ( +"normal"| "small-caps"| "all-small-caps"| "all-petite-caps"| "petite-caps"| "unicase" ) +
      Default: "normal" +

      Sets the variant of the font.

      +
    • +
    • + + weight + +
      Parent: data[type=waterfall].textfont +
      + Type: integer or array of integers between or equal to 1 and 1000 +
      Default: normal +

      Sets the weight (or boldness) of the font.

      +
    • +
    +
  • +
  • + + textinfo + +
    Parent: data[type=waterfall] +
    + Type: flaglist string. + + Any combination of "label", "text", "initial", "delta", "final" joined with a "+" + OR "none". + +
    Examples: "label", "text", "label+text", "label+text+initial", "none" + +

    Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).

    +
  • +
  • + + textposition + +
    Parent: data[type=waterfall] +
    + Type: + enumerated or array of enumerateds + , one of ( +"inside"| "outside"| "auto"| "none" ) +
    Default: "auto" +

    Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

    +
  • +
  • + + texttemplate + +
    Parent: data[type=waterfall] +
    + Type: string or array of strings

    Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `initial`, `delta`, `final` and `label`.

    +
  • +
  • + + totals + +
    Parent: data[type=waterfall] +
    Type: object containing one or more of the keys listed below. +
      +
    • + + marker + +
      Parent: data[type=waterfall].totals +
      Type: object containing one or more of the keys listed below. +
        +
      • + + color + +
        Parent: data[type=waterfall].totals.marker +
        + Type: color

        Sets the marker color of all intermediate sums and total values.

        +
      • +
      • + + line + +
        Parent: data[type=waterfall].totals.marker +
        Type: object containing one or more of the keys listed below. +
          +
        • + + color + +
          Parent: data[type=waterfall].totals.marker.line +
          + Type: color

          Sets the line color of all intermediate sums and total values.

          +
        • +
        • + + width + +
          Parent: data[type=waterfall].totals.marker.line +
          + Type: number

          Sets the line width of all intermediate sums and total values.

          +
        • +
        +
      • +
      +
    • +
    +
  • +
  • + + type + +
    Parent: data[type=waterfall] +
    +Type: "waterfall" +
  • +
  • + + uid + +
    Parent: data[type=waterfall] +
    + Type: string

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    +
  • +
  • + + uirevision + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    +
  • +
  • + + visible + +
    Parent: data[type=waterfall] +
    + Type: + enumerated , one of ( +true| false| "legendonly" ) +
    Default: "True" +

    Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    +
  • +
  • + + width + +
    Parent: data[type=waterfall] +
    + Type: number or array of numbers

    Sets the bar width (in position axis units).

    +
  • +
  • + + x + +
    Parent: data[type=waterfall] +
    + Type: data_array +

    Sets the x coordinates.

    +
  • +
  • + + x0 + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    +
  • +
  • + + xaxis + +
    Parent: data[type=waterfall] +
    + Type: subplotid +
    Default: x +

    Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

    +
  • +
  • + + xhoverformat + +
    Parent: data[type=waterfall] +
    + Type: string

    Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `xaxis.hoverformat`.

    +
  • +
  • + + xperiod + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the x axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + xperiod0 + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + xperiodalignment + +
    Parent: data[type=waterfall] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

    +
  • +
  • + + y + +
    Parent: data[type=waterfall] +
    + Type: data_array +

    Sets the y coordinates.

    +
  • +
  • + + y0 + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    +
  • +
  • + + yaxis + +
    Parent: data[type=waterfall] +
    + Type: subplotid +
    Default: y +

    Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

    +
  • +
  • + + yhoverformat + +
    Parent: data[type=waterfall] +
    + Type: string

    Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"By default the values are formatted using `yaxis.hoverformat`.

    +
  • +
  • + + yperiod + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M<n>" on the y axis. Special values in the form of "M<n>" could be used to declare the number of months. In this case `n` must be a positive integer.

    +
  • +
  • + + yperiod0 + +
    Parent: data[type=waterfall] +
    + Type: number or categorical coordinate string +

    Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    +
  • +
  • + + yperiodalignment + +
    Parent: data[type=waterfall] +
    + Type: + enumerated , one of ( +"start"| "middle"| "end" ) +
    Default: "middle" +

    Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

    +
  • +
  • + + zorder + +
    Parent: data[type=waterfall] +
    + Type: integer

    Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/search/search_index.json b/docs/search/search_index.json new file mode 100644 index 00000000000..211800a64f5 --- /dev/null +++ b/docs/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"examples/2D-Histogram/","title":"2D-Histogram","text":""},{"location":"examples/2D-Histogram/#2d-histogram-of-a-bivariate-normal-distribution","title":"2d-histogram-of-a-bivariate-normal-distribution","text":"
var x = [];\nvar y = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n    y[i] = Math.random() + 1;\n}\n\nvar data = [\n  {\n    x: x,\n    y: y,\n    type: 'histogram2d'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/2D-Histogram/#2d-histogram-binning-and-styling-options","title":"2d-histogram-binning-and-styling-options","text":"
var x = [];\nvar y = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n    y[i] = Math.random() + 1;\n}\n\nvar data = [\n  {\n    x: x,\n    y: y,\n    histnorm: 'probability',\n    autobinx: false,\n    xbins: {\n      start: -3,\n      end: 3,\n      size: 0.1\n    },\n    autobiny: false,\n    ybins: {\n      start: -2.5,\n      end: 4,\n      size: 0.1\n    },\n    colorscale: [['0', 'rgb(12,51,131)'], ['0.25', 'rgb(10,136,186)'], ['0.5', 'rgb(242,211,56)'], ['0.75', 'rgb(242,143,56)'], ['1', 'rgb(217,30,30)']],\n    type: 'histogram2d'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/2D-Histogram/#2d-histogram-overlaid-with-a-scatter-chart","title":"2d-histogram-overlaid-with-a-scatter-chart","text":"
var x0 = [];\nvar y0 = [];\nvar x1 = [];\nvar y1 = [];\nvar x2 = [];\nvar y2 = [];\n\nfor (var i = 0; i < 500; i ++)\n{\n    x0[i] = Math.random() + 1;\n    y0[i] = Math.random() + 1.5;\n}\n\nfor (var i = 0; i < 100; i ++)\n{\n    x1[i] = Math.random();\n    y1[i] = Math.random() + 1;\n}\n\nfor (var i = 0; i < 500; i ++)\n{\n    x2[i] = Math.random()*2;\n    y2[i] = Math.random()*3;\n}\n\nvar trace1 = {\n  x: x0,\n  y: y0,\n  mode: 'markers',\n  marker: {\n    symbol: 'circle',\n    opacity: 0.7,\n     color:'rgb(200,111,200)',\n  },\n  type: 'scatter',\n};\nvar trace2 = {\n  x: x1,\n  y: y1,\n  mode: 'markers',\n  marker: {\n    symbol: 'square',\n    opacity: 0.7,\n     color:'cyan',\n  },\n  type: 'scatter'\n};\nvar trace3 = {\n  x: x2,\n  y: y2,\n  type: 'histogram2d',\n  colorscale : [['0' , 'rgb(0,225,100)'],['1', 'rgb(100,0,200)']],\n\n};\n\nvar data = [trace1, trace2, trace3];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/2d-histogram-contour/","title":"2d-histogram-contour","text":""},{"location":"examples/2d-histogram-contour/#basic-2d-histogram-contour","title":"basic-2d-histogram-contour","text":"
var x = [];\nvar y = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n    y[i] = Math.random() + 1;\n}\n\nvar data = [\n  {\n    x: x,\n    y: y,\n    type: 'histogram2dcontour'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/2d-histogram-contour/#2d-histogram-contour-colorscale","title":"2d-histogram-contour-colorscale","text":"
var x = [];\nvar y = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n    y[i] = Math.random() + 1;\n}\n\nvar data = [\n  {\n    x: x,\n    y: y,\n    colorscale: 'Blues',\n    type: 'histogram2dcontour'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/2d-histogram-contour/#styled-2d-histogram-contour","title":"styled-2d-histogram-contour","text":"
var x = [];\nvar y = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n    y[i] = Math.random() + 1;\n}\n\nvar data = [\n  {\n    x: x,\n    y: y,\n    colorscale: 'Blues',\n    type: 'histogram2dcontour',\n    contours: {\n      showlabels: true,\n      labelfont: {\n        family: 'Raleway',\n        color: 'white'\n      }\n    },\n    hoverlabel: {\n      bgcolor: 'white',\n      bordercolor: 'black',\n      font: {\n        family: 'Raleway',\n        color: 'black'\n      }\n    }\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/3d-axes/","title":"3d-axes","text":""},{"location":"examples/3d-axes/#range-of-axes","title":"range-of-axes","text":"
function getrandom(num , mul) \n    {\n   var value = [ ];\n   for(i=0;i<=num;i++)\n   {\n    var rand = Math.random() * mul;\n    value.push(rand);\n   }\n   return value;\n  }\n\n\nvar data=[\n    {\n     opacity:0.4,\n     type: 'scatter3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , -75),\n     z: getrandom(50 , -75),\n    },\n    {\n     opacity:0.5,\n     type: 'scatter3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , 75),\n     z: getrandom(50 , 75),\n    },\n    {\n     opacity:0.5,\n     type: 'scatter3d',\n     x: getrandom(50 , 100),\n     y: getrandom(50 , 100),\n     z: getrandom(50 , 100),\n    }\n];\nvar layout = {\n  scene:{\n     aspectmode: \"manual\",\n   aspectratio: {\n     x: 1, y: 0.7, z: 1,\n    },\n   xaxis: {\n    nticks: 9,\n    range: [-200, 100],\n  },\n   yaxis: {\n    nticks: 7,\n    range: [-100, 100],\n  },\n   zaxis: {\n   nticks: 10,\n   range: [-150, 100],\n  }},\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/3d-axes/#fixed-ratio-axes","title":"fixed-ratio-axes","text":"
function getrandom(num , mul) \n    {\n       var value = [ ]\n        var i;\n        for(i=0;i<=num;i++)\n       {\n         rand = Math.random() * mul;\n        value.push(rand);\n       }\n        return value;\n    }\n\nvar i;\ntraces = [];\nnames = ['cube', 'data', 'auto', 'manual'];\nfor (i=1; i<5; i++){\n    traces.push({\n        x: getrandom(20, 4),\n        y: getrandom(20, 3),\n        z: getrandom(20, 5),\n        opacity:0.5,\n        mode: \"markers\",\n        type: \"mesh3d\",\n        scene: \"scene\" + i,\n        name: names[i-1]\n        }\n    )\n}\n\nvar layout = {\n    scene:{\n        aspectmode:'cube',\n        domain:{row:0, column:0}\n    },\n    scene2:{\n        aspectmode:'data',\n        domain:{row:1, column:0}\n    },\n    scene3:{\n        aspectmode:'auto',\n        domain:{row:0, column:1}\n    },\n    scene4:{\n        aspectmode:'manual',\n        aspectratio: {x:1, y:1, z:2},\n        domain: {row:1, column:1}\n    },\n    grid:{\n        pattern: 'independent',\n        rows:2,\n        columns:2\n    },\n\n};\n\nPlotly.newPlot('myDiv', traces, layout);
"},{"location":"examples/3d-axes/#ticks-formatting","title":"ticks-formatting","text":"
function getrandom(num , mul) \n    {\n     var value = [ ];\n     for(i=0;i<=num;i++)\n     {\n      var rand = Math.random() * mul;\n      value.push(rand);\n     }\n     return value;\n    }\n\n\nvar data=[\n    {\n     opacity:0.4,\n     type: 'scatter3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , -75),\n     z: getrandom(50 , -75),\n    },\n];\nvar layout = {\n  scene:{ \n    xaxis: {\n     ticktext:['H20','C02','O2'],\n     tickvals:[-30, -45, -65, -10]\n  },\n  yaxis: {\n        nticks: 5,\n        tickfont:\n        {\n         color:'green',\n         family:'Old Standard TT, serif',\n         size: 14\n        },\n        ticksuffix:'$'\n        },\n  zaxis: {\n       ticks: 'outside',\n       tick0: 0,\n       tickwidth: 4}},\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/3d-axes/#axes-background-color","title":"axes-background-color","text":"
function getrandom(num , mul) \n    {\n     var value = [ ];\n     for(i=0;i<=num;i++)\n     {\n      var rand = Math.random() * mul;\n      value.push(rand);\n     }\n     return value;\n    }\n\nvar data=[\n    {\n     opacity:0.4,type: 'scatter3d',\n     x: getrandom(50 , 75),\n     y: getrandom(50 , 75),\n     z: getrandom(50 , 75),\n     mode:'markers'\n    },\n    {\n     opacity: 0.5,\n     type: 'scatter3d',\n     x: getrandom(75 , 75),\n     y: getrandom(75 , 75),\n     z: getrandom(75 , 75),\n     mode:'markers'\n    },\n    {\n     opacity: 0.5,\n     type: 'scatter3d',\n     x: getrandom(75 , 100),\n     y: getrandom(75 , 100),\n     z: getrandom(75 , 100),\n     mode:'markers'\n    }\n];\nvar layout = {\n   scene:{\n    xaxis: {\n     backgroundcolor: \"rgb(200, 200, 230)\",\n     gridcolor: \"rgb(255, 255, 255)\",\n     showbackground: true,\n     zerolinecolor: \"rgb(255, 255, 255)\",\n    }, \n    yaxis: {\n     backgroundcolor: \"rgb(230, 200,230)\",\n     gridcolor: \"rgb(255, 255, 255)\",\n     showbackground: true,\n     zerolinecolor: \"rgb(255, 255, 255)\"\n    }, \n    zaxis: {\n     backgroundcolor: \"rgb(230, 230,200)\",\n     gridcolor: \"rgb(255, 255, 255)\",\n     showbackground: true,\n     zerolinecolor: \"rgb(255, 255, 255)\"\n    }}\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/3d-axes/#camera-controls","title":"camera-controls","text":"
function getrandom(num , mul) \n  {\n     var value = [ ];\n     for(i=0;i<=num;i++)\n     {\n      var rand = Math.random() * mul;\n      value.push(rand);\n     }\n    return value;\n  }\nvar data = [\n  {\n    x: getrandom(20, 4), \n    y: getrandom(20, 3), \n    z: getrandom(20, 5),\n    opacity:0.5,\n    mode: \"markers\",\n    type: \"scatter3d\",\n    scene: \"scene1\",\n    name: \"Lower the view point\"\n  },\n   {\n    x:getrandom(20, 4), \n    y:getrandom(20, 3), \n    z:getrandom(20, 5),\n    opacity:0.5,\n    mode: \"markers\",\n    type: \"scatter3d\",\n    scene: \"scene2\",\n    name: \"x-z plane\"\n  },\n  {\n    x:getrandom(20, 4), \n    y:getrandom(20, 3), \n    z:getrandom(20, 5), \n    opacity:0.5,\n    mode: \"markers\",\n    type: \"scatter3d\",\n    scene: \"scene3\",\n    name: \"y-z plane\"\n  },\n   {\n    x:getrandom(10, 4), \n    y:getrandom(10, 3), \n    z:getrandom(10, 5), \n    opacity:0.5,\n    mode: \"markers\",\n    type: \"scatter3d\",\n    scene: \"scene4\",\n    name: \"View from above\"\n  },\n   {\n    x:getrandom(20, 4), \n    y:getrandom(20, 3), \n    z:getrandom(20, 5), \n    opacity:0.5,\n    mode: \"markers\",\n    type: \"scatter3d\",\n    scene: \"scene5\",\n    name: \"Zooming in\"\n  },\n];\nvar layout = {\n    scene1: {\n      domain: {\n            x: [0.00,  0.33], \n            y: [0.5, 1]\n        },\n      camera: {\n          center: {\n                x: 0, y: 0, z: 0 }, \n          eye: { \n                x: 2, y: 2, z: 0.1 }, \n           up: {\n                x: 0, y: 0, z: 1 }\n        },},\n\n    scene2: {\n      domain: {\n             x: [0.33,  0.66], \n             y: [0.5, 1.0]\n            },\n      camera: {\n          center: {\n                x: 0, y: 0, z: 0}, \n          eye: { \n                x:0.1, y:2.5, z:0.1}, \n          up: {\n                x: 0, y: 0, z: 1}\n        },},\n\n  scene3: {\n      domain: {\n             x: [0.66,  0.99], \n             y: [0.5, 1]\n            },\n      camera: {\n          center: {\n                x: 0, y: 0, z: 0}, \n          eye: { \n                 x:2.5, y:0.1, z:0.1}, \n          up: {\n                 x: 0, y: 0, z: 1}\n    },},    \n\n  scene4: {\n      domain: {\n             x: [0.15,  0.5], \n             y: [-0.25, 0.4]\n            },\n      camera: {\n        center: {\n              x: 0, y: 0, z: 0}, \n        eye: { \n              x:0.1, y:0.1, z:2.5}, \n        up: {\n              x: 0, y: 0, z: 1}\n    },},\n\n  scene5: {\n        domain: {\n               x: [0.62,  0.7], \n               y: [-0.2, 0.4]\n            },\n      camera: {\n        center: {\n              x: 0, y: 0, z: 0}, \n        eye: { \n              x:0.1, y:0.1, z:1}, \n        up: {\n              x: 0, y: 0, z: 1}\n    },},\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/3d-axes/#set-axes-title","title":"set-axes-title","text":"
function getrandom(num , mul) {\n    var value = [ ];\n    for(i=0;i<=num;i++)\n    {\n     var rand = Math.random() * mul;\n     value.push(rand);\n    }\n    return value;}\n\nvar trace1 = {\n    type:'mesh3d',\n    x: getrandom(1000,200), y: getrandom(1000,300), z: getrandom(1000,150),\n    color: 'lightblue',};\n\nvar trace2 = {\n    type:'mesh3d',\n    x: getrandom(1000,200), y: getrandom(1000,300), z: getrandom(1000,150),\n    color: 'pink'};\n\nvar layout = {\n    scene: {\n        xaxis: {\n            title: {\n                text: 'X AXIS TITLE'\n            }\n        },\n        yaxis: {\n            title: {\n                text: 'Y AXIS TITLE'\n            }\n        },\n        zaxis: {\n            title: {\n                text: 'Z AXIS TITLE'\n            }\n        }\n    },\n    autosize: false,\n    width: 550,\n    height: 500,\n    margin: {\n     l: 0,\n     r: 0,\n     b: 50,\n     t: 50,\n     pad: 4\n    },\n}\n\nPlotly.newPlot('myDiv', [trace1,trace2], layout);
"},{"location":"examples/3d-hover/","title":"3d-hover","text":""},{"location":"examples/3d-hover/#customize-hover-for-spikelines","title":"customize-hover-for-spikelines","text":"

By default, Plotly's 3D plots display lines called \"spikelines\" while hovering over a point. These lines project from the hover point to each of the three axes' normal planes and then extend from those projection data points to the planes' wall boundaries.

function getrandom(num , mul) \n    {\n     var value = [ ];\n     for(i=0;i<=num;i++)\n     {\n      var rand = Math.random() * mul;\n      value.push(rand);\n     }\n     return value;\n    }\n\n\nvar data=[\n    {\n     opacity:0.4,\n     type: 'scatter3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , -75),\n     z: getrandom(50 , -75),\n    },\n];\nvar layout = {\n  scene:{\n    xaxis: {\n         spikecolor: '#1fe5bd',\n         spikesides: false,\n         spikethickness: 6\n        },\n     yaxis: {\n         spikecolor: '#1fe5bd',\n         spikesides: false,\n         spikethickness: 6\n        },\n     zaxis: {\n         spikecolor: '#1fe5bd',\n         spikethickness: 6\n        }\n  },\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/3d-hover/#customize-hover-for-surface-contours","title":"customize-hover-for-surface-contours","text":"

In addition to spikelines, Plotly 3D Surface plots also display surface contours on hover by default. These are customized by styling the contours attribute in the surface trace.

x = [10,20,30,40]\ny = [0,1,2,3]\nz = [\n    [2,2,2,3],\n    [1,1,1,1],\n    [1,1,0,0],\n    [0,0,0,0]\n];\n\nvar data=[\n    {\n     opacity:0.9,\n     type: 'surface',\n     x:x, y:y, z:z,\n      contours: {\n         x: {\n             highlight: true,\n             highlightcolor: \"#41a7b3\"\n         },\n         y: { highlight: false },\n         z: { highlight: false}\n    }\n    },\n];\nvar layout = {\n  scene:{\n    xaxis: { showspikes: false },\n    yaxis: { showspikes: false },\n    zaxis: { showspikes: false }\n  },\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/3d-isosurface-plots/","title":"3d-isosurface-plots","text":""},{"location":"examples/3d-isosurface-plots/#basic-isosurface-plot","title":"basic-isosurface-plot","text":"
var data = [\n    {\n        type: \"isosurface\",\n        x: [0,0,0,0,1,1,1,1],\n        y: [0,1,0,1,0,1,0,1],\n        z: [1,1,0,0,1,1,0,0],\n        value: [1,2,3,4,5,6,7,8],\n        isomin: 2,\n        isomax: 6,\n        colorscale: \"Reds\"\n    }\n];\n\nvar layout = {\n    margin: {t:0, l:0, b:0},\n    scene: {\n        camera: {\n            eye: {\n                x: 1.88,\n                y: -2.12,\n                z: 0.96\n            }\n        }\n    }\n};\n\nPlotly.newPlot('myDiv', data, layout, {showSendToCloud: true});
"},{"location":"examples/3d-isosurface-plots/#isosurface-with-additional-slices","title":"isosurface-with-additional-slices","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/clebsch-cubic.csv', function(err, rows){\n  function unpack(rows, key) {\n  return rows.map(function(row) {return parseFloat(row[key]); });\n}\n\nvar data = [\n    {\n        type: \"isosurface\",\n        x: unpack(rows, 'x'),\n        y: unpack(rows, 'y'),\n        z: unpack(rows, 'z'),\n        value: unpack(rows, 'value'),\n        isomin: -100,\n        isomax: 100,\n        surface: {show: true, count: 1, fill: 0.8},\n        slices: {z: {\n          show: true, locations: [-0.3, 0.5]\n        }},\n        caps: {\n            x: {show: false},\n            y: {show: false},\n            z: {show: false}\n        },\n    }\n];\n\nvar layout = {\n    margin: {t:0, l:0, b:0},\n    scene: {\n        camera: {\n            eye: {\n                x: 1.86,\n                y: 0.61,\n                z: 0.98\n            }\n        }\n    }\n};\n\nPlotly.newPlot('myDiv', data, layout, {showSendToCloud: true});\n});
"},{"location":"examples/3d-isosurface-plots/#multiple-isosurfaces-with-caps","title":"multiple-isosurfaces-with-caps","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/clebsch-cubic.csv', function(err, rows){\n  function unpack(rows, key) {\n  return rows.map(function(row) {return parseFloat(row[key]); });\n}\n\nvar data = [\n    {\n        type: \"isosurface\",\n        x: unpack(rows, 'x'),\n        y: unpack(rows, 'y'),\n        z: unpack(rows, 'z'),\n        value: unpack(rows, 'value'),\n        isomin: -10,\n        isomax: 10,\n        surface: {show: true, count: 4, fill: 1, pattern: 'odd'},\n        caps: {\n            x: {show: true},\n            y: {show: true},\n            z: {show: true}\n        },\n    }\n];\n\nvar layout = {\n    margin: {t:0, l:0, b:0},\n    scene: {\n        camera: {\n            eye: {\n                x: 1.86,\n                y: 0.61,\n                z: 0.98\n            }\n        }\n    }\n};\n\nPlotly.newPlot('myDiv', data, layout, {showSendToCloud: true});\n});
"},{"location":"examples/3d-line-plots/","title":"3d-line-plots","text":""},{"location":"examples/3d-line-plots/#3d-line-plot","title":"3d-line-plot","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/3d-line1.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row)\n          { return row[key]; }); }\n\nvar x = unpack(rows , 'x');\nvar y = unpack(rows , 'y');\nvar z = unpack(rows , 'z');\nvar c = unpack(rows , 'color');\nPlotly.newPlot('myDiv', [{\n  type: 'scatter3d',\n  mode: 'lines',\n  x: x,\n  y: y,\n  z: z,\n  opacity: 1,\n  line: {\n    width: 6,\n    color: c,\n    reversescale: false\n  }\n}], {\n  height: 640\n});\n});
"},{"location":"examples/3d-line-plots/#3d-line-+-markers-plot","title":"3d-line-+-markers-plot","text":"
var pointCount = 31;\nvar i, r;\n\nvar x = [];\nvar y = [];\nvar z = [];\nvar c = [];\n\nfor(i = 0; i < pointCount; i++) \n{\n   r = 10 * Math.cos(i / 10);\n   x.push(r * Math.cos(i));\n   y.push(r * Math.sin(i));\n   z.push(i);\n   c.push(i)\n}\n\nPlotly.newPlot('myDiv', [{\n  type: 'scatter3d',\n  mode: 'lines+markers',\n  x: x,\n  y: y,\n  z: z,\n  line: {\n    width: 6,\n    color: c,\n    colorscale: \"Viridis\"},\n  marker: {\n    size: 3.5,\n    color: c,\n    colorscale: \"Greens\",\n    cmin: -20,\n    cmax: 50\n  }},                  \n]);
"},{"location":"examples/3d-line-plots/#3d-line-spiral-plot","title":"3d-line-spiral-plot","text":"
var pointCount = 3142;\nvar i, r;\n\nvar x = [];\nvar y = [];\nvar z = [];\nvar c = [];\n\nfor(i = 0; i < pointCount; i++)\n {\n     r = i * (pointCount - i);\n     x.push(r * Math.cos(i / 30));\n     y.push(r * Math.sin(i / 30));\n     z.push(i);\n     c.push(i)\n }\n\nPlotly.newPlot('myDiv', [{\n     type: 'scatter3d',\n     mode: 'lines',\n     x: x,\n     y: y,\n     z: z,\n     opacity: 0.7,\n     line: {\n       width: 10,\n       color: c,\n       colorscale: 'Viridis'}\n    }]);
"},{"location":"examples/3d-line-plots/#3d-random-walk-plot","title":"3d-random-walk-plot","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/_3d-line-plot.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row)\n          { return row[key]; });\n      }\n\nvar trace1 = {\n  x: unpack(rows, 'x1'),\n  y: unpack(rows, 'y1'),\n  z: unpack(rows, 'z1'),\n  mode: 'lines',\n  marker: {\n    color: '#1f77b4',\n    size: 12,\n    symbol: 'circle',\n    line: {\n      color: 'rgb(0,0,0)',\n      width: 0\n    }},\n  line: {\n    color: '#1f77b4',\n    width: 1\n  },\n  type: 'scatter3d'\n};\n\nvar trace2 = {\n  x: unpack(rows, 'x2'),\n  y: unpack(rows, 'y2'),\n  z: unpack(rows, 'z2'),\n  mode: 'lines',\n  marker: {\n    color: '#9467bd',\n    size: 12,\n    symbol: 'circle',\n    line: {\n      color: 'rgb(0,0,0)',\n      width: 0\n    }},\n  line: {\n    color: 'rgb(44, 160, 44)',\n    width: 1\n  },\n  type: 'scatter3d'\n};\n\nvar trace3 = {\n  x: unpack(rows, 'x3'),\n  y: unpack(rows, 'y3'),\n  z: unpack(rows, 'z3'),\n  mode: 'lines',\n  marker: {\n    color: '#bcbd22',\n    size: 12,\n    symbol: 'circle',\n    line: {\n      color: 'rgb(0,0,0)',\n      width: 0\n    }},\n  line: {\n    color: '#bcbd22',\n    width: 1\n  },\n  type: 'scatter3d'\n};\n\nvar data = [trace1, trace2, trace3];\nvar layout = {\n  title: {\n    text: '3D Line Plot'\n  },\n  autosize: false,\n  width: 500,\n  height: 500,\n  margin: {\n    l: 0,\n    r: 0,\n    b: 0,\n    t: 65\n  }\n};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-mesh/","title":"3d-mesh","text":""},{"location":"examples/3d-mesh/#simple-3d-mesh-plot","title":"simple-3d-mesh-plot","text":"
// Generating random data..\na=[]; b=[]; c=[];\nfor(i=0;i<50;i++)\n  {\n    var a_ = Math.random(); \n    a.push(a_);\n\n    var b_ = Math.random(); \n    b.push(b_);\n\n    var c_ = Math.random(); \n    c.push(c_);\n  }\n// Plotting the mesh\nvar data=[\n    {\n      opacity:0.8,\n      color:'rgb(300,100,200)',\n      type: 'mesh3d',\n      x: a,\n      y: b,\n      z: c,\n    }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/3d-mesh/#3d-mesh-plot-with-alphahull","title":"3d-mesh-plot-with-alphahull","text":"
// Generating random data..\na=[]; b=[]; c=[];\nfor(i=0;i<50;i++)\n  {\n  var a_ = Math.random(); \n   a.push(a_);\n\n  var b_ = Math.random(); \n   b.push(b_);\n\n  var c_ = Math.random(); \n   c.push(c_);\n  }\n// Plotting the mesh\nvar data=[\n  {\n    alphahull:5,\n    opacity:0.8,\n    color:'rgb(200,100,300)',\n    type: 'mesh3d',\n    x: a,\n    y: b,\n    z: c,\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/3d-mesh/#3d-mesh-tetrahedron","title":"3d-mesh-tetrahedron","text":"
var data = [{\n    type: \"mesh3d\",\n    x: [0, 1, 2, 0],\n    y: [0, 0, 1, 2],\n    z: [0, 2, 0, 1],\n    i: [0, 0, 0, 1],\n    j: [1, 2, 3, 2],\n    k: [2, 3, 1, 3],\n    intensity: [0, 0.33, 0.66, 1],\n    colorscale: [\n      [0, 'rgb(255, 0, 0)'],\n      [0.5, 'rgb(0, 255, 0)'],\n      [1, 'rgb(0, 0, 255)']\n    ]\n  }\n];\n\nPlotly.newPlot('myDiv', data, {});
"},{"location":"examples/3d-mesh/#3d-mesh-cube","title":"3d-mesh-cube","text":"
var intensity = [0, 0.14285714285714285, 0.2857142857142857, 0.42857142857142855, 0.5714285714285714, 0.7142857142857143, 0.8571428571428571, 1];\n\nvar data = [{\n    type: \"mesh3d\",\n    x: [0, 0, 1, 1, 0, 0, 1, 1],\n    y: [0, 1, 1, 0, 0, 1, 1, 0],\n    z: [0, 0, 0, 0, 1, 1, 1, 1],\n    i: [7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2],\n    j: [3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3],\n    k: [0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6],\n    intensity: intensity,\n    colorscale: [\n      [0, 'rgb(255, 0, 255)'],\n      [0.5, 'rgb(0, 255, 0)'],\n      [1, 'rgb(0, 0, 255)']\n    ]\n  }\n];\n\nPlotly.newPlot('myDiv', data, {});
"},{"location":"examples/3d-point-clustering/","title":"3d-point-clustering","text":""},{"location":"examples/3d-point-clustering/#3d-point-clustering","title":"3d-point-clustering","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/alpha_shape.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });\n    }\n\n    var data = [{\n        x: unpack(rows, 'x'),\n        y: unpack(rows, 'y'),\n        z: unpack(rows, 'z'),\n        mode: 'markers',\n        type: 'scatter3d',\n        marker: {\n          color: 'rgb(23, 190, 207)',\n          size: 2\n        }\n    },{\n        alphahull: 7,\n        opacity: 0.1,\n        type: 'mesh3d',\n        x: unpack(rows, 'x'),\n        y: unpack(rows, 'y'),\n        z: unpack(rows, 'z')\n    }];\n\n    var layout = {\n        autosize: true,\n        height: 480,\n        scene: {\n            aspectratio: {\n                x: 1,\n                y: 1,\n                z: 1\n            },\n            camera: {\n                center: {\n                    x: 0,\n                    y: 0,\n                    z: 0\n                },\n                eye: {\n                    x: 1.25,\n                    y: 1.25,\n                    z: 1.25\n                },\n                up: {\n                    x: 0,\n                    y: 0,\n                    z: 1\n                }\n            },\n            xaxis: {\n                type: 'linear',\n                zeroline: false\n            },\n            yaxis: {\n                type: 'linear',\n                zeroline: false\n            },\n            zaxis: {\n                type: 'linear',\n                zeroline: false\n            }\n        },\n        title: {\n            text: '3d point clustering'\n        },\n        width: 477\n    };\n\n    Plotly.newPlot('myDiv', data, layout);\n\n});
"},{"location":"examples/3d-scatter-plots/","title":"3d-scatter-plots","text":""},{"location":"examples/3d-scatter-plots/#3d-scatter-plot","title":"3d-scatter-plot","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/3d-scatter.csv', function(err, rows){\nfunction unpack(rows, key) {\n    return rows.map(function(row)\n    { return row[key]; });}\n\nvar trace1 = {\n    x:unpack(rows, 'x1'), y: unpack(rows, 'y1'), z: unpack(rows, 'z1'),\n    mode: 'markers',\n    marker: {\n        size: 12,\n        line: {\n        color: 'rgba(217, 217, 217, 0.14)',\n        width: 0.5},\n        opacity: 0.8},\n    type: 'scatter3d'\n};\n\nvar trace2 = {\n    x:unpack(rows, 'x2'), y: unpack(rows, 'y2'), z: unpack(rows, 'z2'),\n    mode: 'markers',\n    marker: {\n        color: 'rgb(127, 127, 127)',\n        size: 12,\n        symbol: 'circle',\n        line: {\n        color: 'rgb(204, 204, 204)',\n        width: 1},\n        opacity: 0.8},\n    type: 'scatter3d'};\n\nvar data = [trace1, trace2];\nvar layout = {margin: {\n    l: 0,\n    r: 0,\n    b: 0,\n    t: 0\n  }};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-subplots/","title":"3d-subplots","text":""},{"location":"examples/3d-subplots/#multiple-3d-subplots","title":"multiple-3d-subplots","text":"
function getrandom(num , mul) {\n    var value = [ ];\n    for ( i=0; i <= num; i++ ) {\n        var rand = Math.random() * mul;\n        value.push(rand);\n    }\n    return value;\n}\n\nvar trace1 =  {\n     opacity: 0.5,\n     color: 'rgba(255,127,80,0.7)',\n     type: 'mesh3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , 75),\n     z: getrandom(50 , 75),\n     scene: \"scene1\"\n    };\n\nvar trace2 =  {\n     opacity: 0.5,\n     color: 'pink',\n     type: 'mesh3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , 75),\n     z: getrandom(50 , 75),\n     scene: \"scene2\"\n    };\n\nvar trace3 = {\n     opacity:0.4,\n     color:'rgb(033,255,100)',\n     type: 'mesh3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , -75),\n     z: getrandom(50 , -75),\n     scene: \"scene3\",\n    };\n\nvar trace4 = {\n     opacity: 0.5,\n     color:'rgb(200,100,200)',\n     type: 'mesh3d',\n     x: getrandom(50 , -75),\n     y: getrandom(50 , 75),\n     z: getrandom(50 , 75),\n     scene: \"scene4\"\n    };\n\nvar trace5 =  {\n    opacity: 0.5,\n    color:'rgb(00,150,200)',\n    type: 'mesh3d',\n    x: getrandom(50 , 100),\n    y: getrandom(50 , 100),\n    z: getrandom(50 , 100),\n    scene: \"scene5\",\n    }\n\nvar layout = {\n    scene1: {\n        domain: {\n            x: [0.0,  0.5],\n            y: [0.5, 1.0]\n        },},\n    scene2: {\n        domain: {\n            x: [0.5, 1],\n            y: [0.5, 1.0]\n        }},\n     scene3: {\n        domain: {\n            x: [0.0,  0.33],\n            y: [0, 0.5]\n        },},\n    scene4: {\n        domain: {\n            x: [0.33, 0.66],\n            y: [0, 0.5]\n        }},\n    scene5: {\n        domain: {\n            x: [0.66, 0.99],\n            y: [0, 0.5]\n        },},\n  height: 600,\n   margin: {\n    l: 0,\n    r: 0,\n    b: 0,\n    t: 0,\n    pad: 0\n  },\n}    \n\nPlotly.newPlot('myDiv', [trace1,trace2,trace3,trace4,trace5], layout);
"},{"location":"examples/3d-surface-lighting/","title":"3d-surface-lighting","text":""},{"location":"examples/3d-surface-lighting/#ambient-lighting","title":"ambient-lighting","text":"
d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar z_data = [ ];\nfor(i=0;i<100;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n  z: z_data,\n  type: 'surface',\n  colorscale: 'Viridis',\n  lighting: {ambient: 0.9}\n  },\n   {\n  z: z_data,\n  type: 'surface',\n  scene: 'scene2',\n  colorscale:'Viridis',\n  lighting: {ambient: 0.2}\n  }\n];\n\nvar layout = {\n  title: {\n    text: 'Ambient Lighting'\n  },\n  grid: {\n    rows: 1,\n    columns: 2,\n    pattern: 'independent',\n  },\n    scene:{\n        aspectmode:'cube',\n        domain:{row:0, column:0}\n    },\n    scene2:{\n        aspectmode:'cube',\n        domain:{row:0, column:1}\n  }\n};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-surface-lighting/#roughness","title":"roughness","text":"
d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar z_data = [];\nfor(i=0;i<100;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n  z: z_data,\n  type: 'surface',\n  colorscale:'Viridis',\n  lighting: {roughness: 0.9}\n        },\n   {\n  z: z_data,\n  type: 'surface',\n  scene: 'scene2',\n  colorscale:'Viridis',\n  lighting: {roughness: 0.2}\n  }\n];\n\nvar layout = {\n  title: {\n    text: 'Roughness'\n  },\n  grid: {\n    rows: 1,\n    columns: 2,\n    pattern: 'independent',\n  },\n    scene:{\n        aspectmode:'cube',\n        domain:{row:0, column:0}\n    },\n    scene2:{\n        aspectmode:'cube',\n        domain:{row:0, column:1}\n  }\n};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-surface-lighting/#diffuse","title":"diffuse","text":"
d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar z_data = []\nfor(i=0;i<100;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n  z: z_data,\n  type: 'surface',\n  colorscale:'Viridis',\n  lighting: {diffuse: 0.9}\n        },\n   {\n  z: z_data,\n  type: 'surface',\n  scene: 'scene2',\n  colorscale:'Viridis',\n  lighting: {diffuse: 0.1}\n  }\n];\n\nvar layout = {\n  title: {\n    text: 'Diffuse Reflection'\n  },\n  grid: {\n    rows: 1,\n    columns: 2,\n    pattern: 'independent',\n  },\n    scene:{\n        aspectmode:'cube',\n        domain:{row:0, column:0}\n    },\n    scene2:{\n        aspectmode:'cube',\n        domain:{row:0, column:1}\n  }\n};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-surface-lighting/#specular","title":"specular","text":"
d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar z_data = [];\nfor(i=0;i<100;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n  z: z_data,\n  type: 'surface',\n  colorscale:'Viridis',\n  lighting: {specular: 0.1}\n        },\n   {\n  z: z_data,\n  type: 'surface',\n  scene: 'scene2',\n  colorscale:'Viridis',\n  lighting: {specular: 2}\n  }\n];\n\nvar layout = {\n  title: {\n    text: 'Specular Reflection'\n  },\n  grid: {\n    rows: 1,\n    columns: 2,\n    pattern: 'independent',\n  },\n    scene:{\n        aspectmode:'cube',\n        domain:{row:0, column:0}\n    },\n    scene2:{\n        aspectmode:'cube',\n        domain:{row:0, column:1}\n  },\n};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-surface-lighting/#fresnel","title":"fresnel","text":"
d3.csv('https://raw.githubusercontent.com/michaelbabyn/plot_data/master/sin_saddle.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar z_data = [];\nfor(i=0;i<100;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n  z: z_data,\n  type: 'surface',\n  colorscale:'Viridis',\n  lighting: {fresnel: 0.1}\n        },\n   {\n  z: z_data,\n  type: 'surface',\n  scene: 'scene2',\n  colorscale:'Viridis',\n  lighting: {fresnel: 5}\n  }\n];\n\nvar layout = {\n  title: {\n    text: 'Fresnel'\n  },\n  grid: {\n    rows: 1,\n    columns: 2,\n    pattern: 'independent',\n  },\n    scene:{\n        aspectmode:'cube',\n        domain:{row:0, column:0}\n    },\n    scene2:{\n        aspectmode:'cube',\n        domain:{row:0, column:1}\n  }\n};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-surface-lighting/#reference","title":"reference","text":"

See https://plotly.com/javascript/reference/surface/#surface-lighting for more information!

"},{"location":"examples/3d-surface-plots/","title":"3d-surface-plots","text":""},{"location":"examples/3d-surface-plots/#topographical-3d-surface-plot","title":"topographical-3d-surface-plot","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar z_data=[ ]\nfor(i=0;i<24;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n           z: z_data,\n           type: 'surface'\n        }];\n\nvar layout = {\n  title: {\n    text: 'Mt Bruno Elevation'\n  },\n  autosize: false,\n  width: 500,\n  height: 500,\n  margin: {\n    l: 65,\n    r: 50,\n    b: 65,\n    t: 90,\n  }\n};\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-surface-plots/#surface-plot-with-contours","title":"surface-plot-with-contours","text":"

Display and customize contour data for each axis using the contours attribute (reference).

d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\nvar z_data=[ ]\nfor(i=0;i<24;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n  z: z_data,\n  type: 'surface',\n  contours: {\n    z: {\n      show:true,\n      usecolormap: true,\n      highlightcolor:\"#42f462\",\n      project:{z: true}\n    }\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Mt Bruno Elevation With Projected Contours'\n  },\n  scene: {camera: {eye: {x: 1.87, y: 0.88, z: -0.64}}},\n  autosize: false,\n  width: 500,\n  height: 500,\n  margin: {\n    l: 65,\n    r: 50,\n    b: 65,\n    t: 90,\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/3d-surface-plots/#multiple-3d-surface-plots","title":"multiple-3d-surface-plots","text":"
z1 = [\n    [8.83,8.89,8.81,8.87,8.9,8.87],\n    [8.89,8.94,8.85,8.94,8.96,8.92],\n    [8.84,8.9,8.82,8.92,8.93,8.91],\n    [8.79,8.85,8.79,8.9,8.94,8.92],\n    [8.79,8.88,8.81,8.9,8.95,8.92],\n    [8.8,8.82,8.78,8.91,8.94,8.92],\n    [8.75,8.78,8.77,8.91,8.95,8.92],\n    [8.8,8.8,8.77,8.91,8.95,8.94],\n    [8.74,8.81,8.76,8.93,8.98,8.99],\n    [8.89,8.99,8.92,9.1,9.13,9.11],\n    [8.97,8.97,8.91,9.09,9.11,9.11],\n    [9.04,9.08,9.05,9.25,9.28,9.27],\n    [9,9.01,9,9.2,9.23,9.2],\n    [8.99,8.99,8.98,9.18,9.2,9.19],\n    [8.93,8.97,8.97,9.18,9.2,9.18]\n];\n\nz2 = [];\nfor (var i=0;i<z1.length;i++ ) { \n  z2_row = [];\n    for(var j=0;j<z1[i].length;j++) { \n      z2_row.push(z1[i][j]+1);\n    }\n    z2.push(z2_row);\n}\n\nz3 = []\nfor (var i=0;i<z1.length;i++ ) { \n  z3_row = [];\n    for(var j=0;j<z1[i].length;j++) { \n      z3_row.push(z1[i][j]-1);\n    }\n    z3.push(z3_row);\n}\nvar data_z1 = {z: z1, type: 'surface'};\nvar data_z2 = {z: z2, showscale: false, opacity:0.9, type: 'surface'};\nvar data_z3 = {z: z3, showscale: false, opacity:0.9, type: 'surface'};\n\n\n\nPlotly.newPlot('myDiv', [data_z1, data_z2, data_z3]);
"},{"location":"examples/LaTeX/","title":"LaTeX","text":""},{"location":"examples/LaTeX/#latex-typesetting","title":"latex-typesetting","text":"
// remember to load MathJax.js?config=TeX-MML-AM_CHTML\nvar trace1 = {\n  x: [1, 2, 3, 4],\n  y: [1, 4, 9, 16],\n  name: '$\\\\alpha_{1c} = 352 \\\\pm 11 \\\\text{ km s}^{-1}$',\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [0.5, 2, 4.5, 8],\n  name: '$\\\\beta_{1c} = 25 \\\\pm 11 \\\\text{ km s}^{-1}$',\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  xaxis: {\n    title: {\n      text: '$\\\\sqrt{(n_\\\\text{c}(t|{T_\\\\text{early}}))}$'\n    }\n  },\n  yaxis: {\n    title: {\n      text: '$d, r \\\\text{ (solar radius)}$'\n    }\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/ajax-call/","title":"ajax-call","text":""},{"location":"examples/ajax-call/#plotting-csv-data-from-ajax-call","title":"plotting-csv-data-from-ajax-call","text":"
function makeplot() {\n  d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv\", function(data){ processData(data) } );\n\n};\n\nfunction processData(allRows) {\n\n  console.log(allRows);\n  var x = [], y = [], standard_deviation = [];\n\n  for (var i=0; i<allRows.length; i++) {\n    row = allRows[i];\n    x.push( row['AAPL_x'] );\n    y.push( row['AAPL_y'] );\n  }\n  console.log( 'X',x, 'Y',y, 'SD',standard_deviation );\n  makePlotly( x, y, standard_deviation );\n}\n\nfunction makePlotly( x, y, standard_deviation ){\n  var plotDiv = document.getElementById(\"plot\");\n  var traces = [{\n    x: x,\n    y: y\n  }];\n\n  Plotly.newPlot('myDiv', traces, {\n    title: {\n        text: 'Plotting CSV data from AJAX call'\n    }\n});\n};\n  makeplot();
"},{"location":"examples/animations/","title":"animations","text":""},{"location":"examples/animations/#animating-the-data","title":"animating-the-data","text":"

The animate command lets you add dynamic behavior to Plotly graphs in a number of different ways. At its core, Plotly.animate transitions traces to a new state or sequence of states. When you tell Plotly to animate, it merges the properties you've supplied into the current state of the plot. Therefore to animate a trace, you must first plot the trace you wish to animate.

The example below transitions to new y-values each time the button is pressed. Since the transition animation occurs within a frame, frame.duration must be set at least as long as transition.duration. Note that to prevent artifacts while animating, the default line simplification algorithm is explicitly disabled. Currently, only scatter traces may be smoothly transitioned from one state to the next. Other traces are compatible with frames and animations but will be updated instantaneously.

Plotly.newPlot('myDiv', [{\n  x: [1, 2, 3],\n  y: [0, 0.5, 1],\n  line: {simplify: false},\n}]);\n\nfunction randomize() {\n  Plotly.animate('myDiv', {\n    data: [{y: [Math.random(), Math.random(), Math.random()]}],\n    traces: [0],\n    layout: {}\n  }, {\n    transition: {\n      duration: 500,\n      easing: 'cubic-in-out'\n    },\n    frame: {\n      duration: 500\n    }\n  })\n}
"},{"location":"examples/animations/#animating-the-layout","title":"animating-the-layout","text":"

The example below transitions to a new axis range each time the button is pressed. A present limitation of the animate API is that only one of either data or layout may be smoothly transitioned at a time. If both are provided, the data will be updated instantaneously after the layout is transitioned.

var n = 500;\nvar x = [], y = [];\nfor (var i = 0; i < n; i++) {\n  x[i] = i / (n - 1);\n  y[i] = x[i] + 0.2 * (Math.random() - 0.5);\n}\n\nPlotly.newPlot('myDiv', [{\n  x: x,\n  y: y,\n  mode: 'markers'\n}], {\n  xaxis: {range: [0, 1]},\n  yaxis: {range: [0, 1]}\n});\n\nfunction zoom() {\n  var min = 0.45 * Math.random();\n  var max = 0.55 + 0.45 * Math.random();\n  Plotly.animate('myDiv', {\n    layout: {\n      xaxis: {range: [min, max]},\n      yaxis: {range: [min, max]}\n    }\n  }, {\n    transition: {\n      duration: 500,\n      easing: 'cubic-in-out'\n    }\n  })\n}
"},{"location":"examples/animations/#defining-named-frames-with-plotly.addframes","title":"defining-named-frames-with-plotly.addframes","text":"

The above examples pass the data itself through the Plotly.animate command. You may instead predefine named frames through the Plotly.addFrames command. Then, instead of passing frames through Plotly.animate, you may simply refer to a frame by name.

Similar to traces, frames are assigned a serial index as they are added. Frames may be updated by passing an array of frame indices. For example, the command to update the frame with index 2 would be Plotly.addFrames('myDiv', [{...}], [2]). Frames can be similarly deleted with, for example, Plotly.deleteFrames('myDiv', [2]).

The following example uses frames together with an updatemenu for interactive transitions.

var frames = [\n  {name: 'sine', data: [{x: [], y: []}]},\n  {name: 'cosine', data: [{x: [], y: []}]},\n  {name: 'circle', data: [{x: [], y: []}]},\n];\n\nvar n = 100;\nfor (var i = 0; i < n; i++) {\n  var t = i / (n - 1) * 2 - 1;\n\n  // A sine wave:\n  frames[0].data[0].x[i] = t * Math.PI;\n  frames[0].data[0].y[i] = Math.sin(t * Math.PI);\n\n  // A cosine wave:\n  frames[1].data[0].x[i] = t * Math.PI;\n  frames[1].data[0].y[i] = Math.cos(t * Math.PI);\n\n  // A circle:\n  frames[2].data[0].x[i] = Math.sin(t * Math.PI);\n  frames[2].data[0].y[i] = Math.cos(t * Math.PI);\n}\n\nPlotly.newPlot('myDiv', [{\n  x: frames[0].data[0].x,\n  y: frames[0].data[0].y,\n  line: {simplify: false},\n}], {\n  xaxis: {range: [-Math.PI, Math.PI]},\n  yaxis: {range: [-1.2, 1.2]},\n  updatemenus: [{\n    buttons: [\n      {method: 'animate', args: [['sine']], label: 'sine'},\n      {method: 'animate', args: [['cosine']], label: 'cosine'},\n      {method: 'animate', args: [['circle']], label: 'circle'}\n    ]\n  }]\n}).then(function() {\n  Plotly.addFrames('myDiv', frames);\n});
"},{"location":"examples/animations/#animating-sequences-of-frames","title":"animating-sequences-of-frames","text":"

The above examples have used one frame at a time. Whether passing objects as frames or referring to frames by name, you may pass multiple frames together in an array. If null or undefined is passed as the second argument (i.e. Plotly.animate('myDiv')), then all defined frames will be animated in sequence.

The third argument of Plotly.animate contains animation options. The transition duration defines the amount of time spent interpolating a trace from one state to another (currently limited to scatter traces), while the frame duration defines the total time spent in that state, including time spent transitioning. The example below has two frames, each with their own transition and frame timing.

Plotly.newPlot('myDiv', [{\n  x: [0, 0],\n  y: [-1, 1],\n}], {\n  xaxis: {range: [-Math.PI, Math.PI]},\n  yaxis: {range: [-1.3, 1.3]}\n}).then(function () {\n  Plotly.addFrames('myDiv', [\n    {\n      data: [{x: [1, -1], y: [0, 0]}],\n      name: 'frame1'\n    }, {\n      data: [{x: [0, 0], y: [-1, 1]}],\n      name: 'frame2'\n    }\n  ]);\n})\n\nfunction startAnimation() {\n  Plotly.animate('myDiv', ['frame1', 'frame2'], {\n    frame: [\n      {duration: 1500},\n      {duration: 500},\n    ],\n    transition: [\n      {duration: 800, easing: 'elastic-in'},\n      {duration: 100, easing: 'cubic-in'},\n    ],\n    mode: 'afterall'\n  })\n}
"},{"location":"examples/animations/#animating-many-frames-quickly","title":"animating-many-frames-quickly","text":"

By default and to ensure any properties that cannot be animated are applied to the plot, a full redraw occurs after each transition. This is generally desirable, but hurts performance when you wish to animate frames as quickly as possible. The example below performs a live simulation of the Lorenz attractor and greatly improves the performance by eliminating the redraw with redraw: false.

var n = 100;\nvar x = [], y = [], z = [];\nvar dt = 0.015;\n\nfor (i = 0; i < n; i++) {\n  x[i] = Math.random() * 2 - 1;\n  y[i] = Math.random() * 2 - 1;\n  z[i] = 30 + Math.random() * 10;\n}\n\nPlotly.newPlot('myDiv', [{\n  x: x,\n  y: z,\n  mode: 'markers'\n}], {\n  xaxis: {range: [-40, 40]},\n  yaxis: {range: [0, 60]}\n})\n\nfunction compute () {\n  var s = 10, b = 8/3, r = 28;\n  var dx, dy, dz;\n  var xh, yh, zh;\n  for (var i = 0; i < n; i++) {\n    dx = s * (y[i] - x[i]);\n    dy = x[i] * (r - z[i]) - y[i];\n    dz = x[i] * y[i] - b * z[i];\n\n    xh = x[i] + dx * dt * 0.5;\n    yh = y[i] + dy * dt * 0.5;\n    zh = z[i] + dz * dt * 0.5;\n\n    dx = s * (yh - xh);\n    dy = xh * (r - zh) - yh;\n    dz = xh * yh - b * zh;\n\n    x[i] += dx * dt;\n    y[i] += dy * dt;\n    z[i] += dz * dt;\n  }\n}\n\nfunction update () {\n  compute();\n\n  Plotly.animate('myDiv', {\n    data: [{x: x, y: z}]\n  }, {\n    transition: {\n      duration: 0\n    },\n    frame: {\n      duration: 0,\n      redraw: false\n    }\n  });\n\n  requestAnimationFrame(update);\n}\n\nrequestAnimationFrame(update);
"},{"location":"examples/animations/#object-constancy","title":"object-constancy","text":"

For scatter traces, you may wish to retain a marker's identity as it is updated. If you include an array of string ids with the trace, the marker identity will be retained. By shuffling the ids, the example below shuffles the markers each time the button is pressed.

function shuffleInPlace(array) {\n  for (var i = array.length - 1; i > 0; i--) {\n    var j = Math.floor(Math.random() * (i + 1));\n    var temp = array[i];\n    array[i] = array[j];\n    array[j] = temp;\n  }\n}\n\nvar ids = ['1', '2', '3', '4', '5', '6'];\n\nPlotly.newPlot('myDiv', [{\n  x: [1, 0.5, -0.5, -1, -0.5, 0.5],\n  y: [0, 0.866, 0.866, 0, -0.866, -0.866],\n  marker:{size:14,\n             color:['#631357', '#880E4F', '#AD1457',\n                      '#F06292', '#F48FB1']},\n  ids: ids,\n  mode: 'markers'\n}], {\n  xaxis: {range: [-3, 3]},\n  yaxis: {range: [-2, 2]}\n});\n\nfunction animateShuffle() {\n  shuffleInPlace(ids);\n  Plotly.animate('myDiv', [{\n    data: [{ids: ids}]\n  }]);\n}
"},{"location":"examples/animations/#frame-groups-and-animation-modes","title":"frame-groups-and-animation-modes","text":"

The following example combines many of these concepts to draw a glass filling with water.

The first row of buttons animates a different set of predefined frames by changing the second argument of Plotly.animate. Passing null or undefined animates all defined frames in sequence, while passing an array of strings (here, the frames in reverse) animates a specific sequence of frames. By passing a plain string (here, lower or upper), it filters the animated frames to those with a group property equal to that name. The stop button is accomplished by interrupting the current animation with an empty list of frames, therefore simply stopping the animation at the end of the current frame.

The second row of buttons animates all frames with different animation modes. The mode option defines whether an animation either interrupts or follows the current animation. immediate mode discards all queued frames and begins a new sequence immediately. The next mode is very similar but doesn't begin the new animation until the end of the current frame. Finally, afterall queues the new frames so that the new animation begins only after all previous animations have completed.

var i, j, t, x, y, name;\nvar frames = [];\nvar nFrames = 10;\nvar n = 80;\nvar reverseFrames = [];\n\nfor (i = 0; i < nFrames; i++) {\n  var fill = 0.1 + 0.9 * i / (nFrames - 1);\n  x = [-1];\n  y = [0];\n\n  // A wave across the top:\n  for (j = 0; j < n; j++) {\n    t = j / (n - 1);\n    x.push(-1 - fill + (2 + 2 * fill) * t);\n    y.push(fill + 0.05 * Math.sin(t * Math.PI * 2 * i));\n  }\n\n  // Close the loop to draw the water:\n  x.push(1, -1);\n  y.push(0, 0);\n\n  // Choose a name:\n  name = 'frame' + i;\n\n  // Store it in an array so we can animate in reverse order:\n  reverseFrames.unshift(name);\n\n  // Create the frame:\n  frames.push({\n    name: name,\n    data: [{x: x, y: y}],\n    group: i < nFrames / 2 ? 'lower' : 'upper'\n  })\n}\n\nPlotly.newPlot('myDiv', [{\n  // Set up the initial water:\n  x: frames[0].data[0].x,\n  y: frames[0].data[0].y,\n  mode: 'lines',\n  fill: 'toself',\n  showlegend: false,\n  line: {simplify: false}\n}, {\n  // Draw a glass:\n  x: [-1, 1, 2.1, -2.1, -1],\n  y: [0, 0, 1.1, 1.1, 0],\n  mode: 'lines',\n  fill: 'toself',\n  showlegend: false,\n  fillcolor: 'rgba(0, 0, 0, 0.1)',\n  line: {color: 'rgba(100,100,100,0.2)'}\n}], {\n  xaxis: {range: [-3, 3]},\n  yaxis: {range: [-0.1, 1.5]}\n}).then(function() {\n  // Add the frames so we can animate them:\n  Plotly.addFrames('myDiv', frames);\n});\n\n// Stop the animation by animating to an empty set of frames:\nfunction stopAnimation () {\n  Plotly.animate('myDiv', [], {mode: 'next'});\n}\n\nfunction startAnimation (groupOrFrames, mode) {\n  Plotly.animate('myDiv', groupOrFrames, {\n    transition: {\n      duration: 500,\n      easing: 'linear'\n    },\n    frame: {\n      duration: 500,\n      redraw: false,\n    },\n    mode: mode\n  });\n}
"},{"location":"examples/animations/#animating-with-a-slider","title":"animating-with-a-slider","text":"

See Adding Sliders to Animations.

"},{"location":"examples/axes/","title":"axes","text":""},{"location":"examples/axes/#set-and-style-axes-title-labels-and-ticks","title":"set-and-style-axes-title-labels-and-ticks","text":"
d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv\", function(err, rows){\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\n  var x = unpack(rows, 'Date')\n  var y = unpack(rows, 'AAPL.Volume')\n\n  var trace = {\n    type: \"scatter\",\n    mode: \"lines\",\n    name: 'AAPL Volume',\n    x: x,\n    y: y,\n    line: {color: 'grey'}\n  }\n\n  var data = [trace];\n\nvar layout = {\n  title: {text: 'Volume of Apple Shares Traded'},\n  xaxis: {\n    title: {\n      text: 'AXIS TITLE',\n      font: {\n          family: 'Arial, sans-serif',\n          size: 18,\n          color: 'lightgrey'\n      }\n    },\n    showticklabels: true,\n    tickangle: 'auto',\n    tickfont: {\n      family: 'Old Standard TT, serif',\n      size: 14,\n      color: 'black'\n    },\n    exponentformat: 'e',\n    showexponent: 'all'\n  },\n  yaxis: {\n    title: {\n      text: 'AXIS TITLE',\n      font: {\n        family: 'Arial, sans-serif',\n        size: 18,\n        color: 'lightgrey'\n      }\n    },\n    showticklabels: true,\n    tickangle: 45,\n    tickfont: {\n      family: 'Old Standard TT, serif',\n      size: 14,\n      color: 'black'\n    },\n    exponentformat: 'e',\n    showexponent: 'all'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n})
"},{"location":"examples/axes/#styling-and-coloring-axes-and-the-zero-line","title":"styling-and-coloring-axes-and-the-zero-line","text":"
var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  xaxis: {\n    showgrid: true,\n    zeroline: true,\n    showline: true,\n    mirror: 'ticks',\n    gridcolor: '#bdbdbd',\n    gridwidth: 2,\n    zerolinecolor: '#969696',\n    zerolinewidth: 4,\n    linecolor: '#636363',\n    linewidth: 6\n  },\n  yaxis: {\n    showgrid: true,\n    zeroline: true,\n    showline: true,\n    mirror: 'ticks',\n    gridcolor: '#bdbdbd',\n    gridwidth: 2,\n    zerolinecolor: '#969696',\n    zerolinewidth: 4,\n    linecolor: '#636363',\n    linewidth: 6\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#tick-placement-color-and-style","title":"tick-placement-color-and-style","text":"
var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  xaxis: {\n    tickmode: 'linear',\n    ticks: 'outside',\n    tick0: 0,\n    dtick: 0.25,\n    ticklen: 8,\n    tickwidth: 4,\n    tickcolor: '#000'\n  },\n  yaxis: {\n    tickmode: 'linear',\n    ticks: 'outside',\n    tick0: 0,\n    dtick: 0.25,\n    ticklen: 8,\n    tickwidth: 4,\n    tickcolor: '#000'\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#toggling-axes-lines-ticks-labels-and-autorange","title":"toggling-axes-lines-ticks-labels-and-autorange","text":"
var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  xaxis: {\n    autorange: true,\n    showgrid: false,\n    zeroline: false,\n    showline: false,\n    autotick: true,\n    ticks: '',\n    showticklabels: false\n  },\n  yaxis: {\n    autorange: true,\n    showgrid: false,\n    zeroline: false,\n    showline: false,\n    autotick: true,\n    ticks: '',\n    showticklabels: false\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#setting-the-range-of-axes-manually","title":"setting-the-range-of-axes-manually","text":"
var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  xaxis: {range: [2, 5]},\n  yaxis: {range: [2, 5]}\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#nonnegative-tozero-and-normal-rangemode","title":"nonnegative-tozero-and-normal-rangemode","text":"
var data = [\n  {\n    x: [2, 4, 6],\n    y: [-3, 0, 3],\n    type: 'scatter'\n  }\n];\nvar layout = {\n  showlegend: false,\n  xaxis: {\n    rangemode: 'tozero',\n    autorange: true\n  },\n  yaxis: {\n    rangemode: 'nonnegative',\n    autorange: true\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#enumerated-ticks-with-tickvals-and-ticktext","title":"enumerated-ticks-with-tickvals-and-ticktext","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/stockdata.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row)\n  { return row[key]; });}\n\nvar trace1 = {\n  x:unpack(rows, 'Date'),\n  y: unpack(rows, 'IBM'),\n  mode: 'markers',\n  marker: {\n    size: 7,\n    line: {\n    width: 0.5},\n    opacity: 0.8},\n  type: 'scatter'\n};\n\nvar layout = {\n  title: {\n    text: 'IBM Stock Data: Jan 2007 - Mar 2016'\n  },\n  xaxis: {\n    tickvals: ['2007-01-01', '2007-09-01', '2008-01-01', '2008-09-01', '2009-01-01', '2010-01-01', '2011-01-01', '2011-02-14', '2012-01-01', '2013-01-01', '2014-01-01', '2015-01-01', '2016-01-01'],\n    ticktext: ['2007', 'Financial Crisis Starts', '2008', 'Financial Crisis Ends', '2009', '2010', '2011', 'IBM wins Jeopardy!', '2012', '2013', '2014', '2015', '2016']\n  }\n};\n\nvar data = [trace1];\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/axes/#logarithmic-axes","title":"logarithmic-axes","text":"
var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  xaxis: {\n    type: 'log',\n    autorange: true\n  },\n  yaxis: {\n    type: 'log',\n    autorange: true\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#set-axis-title-position","title":"set-axis-title-position","text":"

This example sets standoff attribute to cartesian axes to determine the distance between the tick labels and the axis title. Note that the axis title position is always constrained within the margins, so the actual standoff distance is always less than the set or default value. By setting standoff and turning automargin on, plotly.js will push the margins to fit the axis title at given standoff distance.

var data = [{\n      mode: \"lines+markers\",\n      x:[\"December\", \"January\", \"February\"],\n      y:[4,1,3]\n    }]\n\n var layout = {\n      margin: {t:0,r:0,b:0,l:20},\n      xaxis: {\n        automargin: true,\n        tickangle: 90,\n        title: {\n          text: \"Month\",\n          standoff: 20\n        }},\n      yaxis: {\n        automargin: true,\n        tickangle: 90,\n        title: {\n          text: \"Temperature\",\n          standoff: 40\n        }}}\n\nPlotly.newPlot('myDiv', data, layout)
"},{"location":"examples/axes/#reversed-axes","title":"reversed-axes","text":"
var data = [\n  {\n    x: [1, 2],\n    y: [1, 2],\n    type: 'scatter'\n  }\n];\nvar layout = {xaxis: {autorange: 'reversed'}};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#reversed-axes-with-range-(-min/max-)-specified","title":"reversed-axes-with-range-(-min/max-)-specified","text":"
var data = [\n  {\n    x: [0.0, 0.1, 0.2, 0.3, 0.4, 0.51, 0.61, 0.71, 0.81, 0.91, 1.01, 1.11, 1.21, 1.31, 1.41, 1.52, 1.62, 1.72, 1.82, 1.92, 2.02, 2.12, 2.22, 2.32, 2.42, 2.53, 2.63, 2.73, 2.83, 2.93, 3.03, 3.13, 3.23, 3.33, 3.43, 3.54, 3.64, 3.74, 3.84, 3.94, 4.04, 4.14, 4.24, 4.34, 4.44, 4.55, 4.65, 4.75, 4.85, 4.95, 5.05, 5.15, 5.25, 5.35, 5.45, 5.56, 5.66, 5.76, 5.86, 5.96, 6.06, 6.16, 6.26, 6.36, 6.46, 6.57, 6.67, 6.77, 6.87, 6.97, 7.07, 7.17, 7.27, 7.37, 7.47, 7.58, 7.68, 7.78, 7.88, 7.98, 8.08, 8.18, 8.28, 8.38, 8.48, 8.59, 8.69, 8.79, 8.89, 8.99, 9.09, 9.19, 9.29, 9.39, 9.49, 9.6, 9.7, 9.8, 9.9, 10.0],\n    y: [63, 65, 78, 92, 12, 50, 17, 31, 1, 25, 76, 66, 83, 38, 95, 23, 20, 88, 31, 26, 39, 74, 11, 84, 7, 13, 30, 85, 80, 47, 12, 89, 12, 35, 99, 78, 77, 56, 26, 13, 96, 55, 19, 88, 31, 1, 42, 39, 99, 62, 68, 61, 45, 44, 10, 25, 89, 82, 28, 2, 24, 1, 32, 16, 29, 40, 55, 75, 20, 41, 67, 33, 92, 14, 16, 22, 86, 55, 37, 42, 42, 85, 60, 11, 54, 3, 34, 29, 59, 28, 25, 67, 90, 10, 29, 16, 51, 17, 2, 34],\n    mode: \"markers\"\n  }\n];\nvar layout = {\n  title: {\n    text: \"Reversed Axis with Min/Max\"\n  },\n  xaxis: {\n    range: [10, 0]\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#categorical-axes","title":"categorical-axes","text":"
var trace1 = {\n  x: ['A12', 'BC2', 109, '12F', 215, 304],\n  y: [1, 6, 3, 5, 1, 4],\n  mode: 'markers',\n  type: 'bar',\n  name: 'Team A',\n  text: ['Apples', 'Pears', 'Peaches', 'Bananas', 'Pineapples', 'Cherries'],\n};\n\nvar data = [ trace1 ];\n\nvar layout = {\n  xaxis: {\n    type: 'category',\n    title: {\n        text: 'Product Code'\n    }\n    },\n    yaxis: {\n        range: [0, 7],\n        title: {\n            text: 'Number of Items in Stock'\n        }\n    },\n  title: {text: 'Inventory'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#multi-category-axes","title":"multi-category-axes","text":"
var trace1 = {\n  x: [\n    ['SF Zoo','SF Zoo','SF Zoo'],\n    ['giraffes', 'orangutans', 'monkeys']\n  ],\n  y: [20, 14, 23],\n  name: 'SF Zoo',\n  type: 'bar'\n};\n\nvar trace2 = {\n  x: [\n    ['LA Zoo','LA Zoo','LA Zoo'],\n    ['giraffes', 'orangutans', 'monkeys']\n  ],\n  y: [12, 18, 29],\n  name: 'LA Zoo',\n  type: 'bar'\n};\n\nvar data = [trace1, trace2];\nvar layout = {\n  showlegend: false,\n  xaxis: {\n    tickson: \"boundaries\",\n    ticklen: 15,\n    showdividers: true,\n    dividercolor: 'grey',\n    dividerwidth: 2\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#using-dates-on-the-x-axis","title":"using-dates-on-the-x-axis","text":"
var trace1 = {\n  x: ['2000-01-01', '2000-01-02', '2000-01-03', '2000-01-04', '2000-01-05', '2000-01-06', '2000-01-07', '2000-01-08', '2000-01-09', '2000-01-10', '2000-01-11', '2000-01-12', '2000-01-13', '2000-01-14', '2000-01-15', '2000-01-16', '2000-01-17', '2000-01-18', '2000-01-19', '2000-01-20', '2000-01-21', '2000-01-22', '2000-01-23', '2000-01-24', '2000-01-25', '2000-01-26', '2000-01-27', '2000-01-28', '2000-01-29', '2000-01-30', '2000-01-31'],\n  y: [4.3, 8.2, 4.1, 5.6, -3, -0.2, 0.3, 0.4, 4.1, 5, 4.6, -0.2, -8.5, -9.1, -2.7, -2.7, -17, -11.3, -5.5, -6.5, -16.9, -12, -6.1, -6.6, -7.9, -10.8, -14.8, -11, -4.4, -1.3, -1.1],\n  mode: 'lines',\n  type: 'scatter',\n  name: '2000'\n};\n\nvar data = [ trace1 ];\n\nvar layout = {\n  xaxis: {\n    type: 'date',\n    title: {\n      text: 'January Weather'\n    }\n  },\n  yaxis: {\n    title: {\n      text: 'Daily Mean Temperature'\n    }\n  },\n  title: {\n    text: '2000 Toronto January Weather'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#fixed-ratio-axes","title":"fixed-ratio-axes","text":"
var trace0 = {\n  x: [0,1,1,0,0,1,1,2,2,3,3,2,2,3],\n  y: [0,0,1,1,3,3,2,2,3,3,1,1,0,0]\n}\n\nvar trace1 = {\n  x: [0,1,2,3],\n  y: [1,2,4,8],\n  yaxis:\"y2\"\n}\n\nvar trace2 = {\n  x: [1,10,100,10,1],\n  y: [0,1,2,3,4],\n  xaxis: \"x2\",\n  yaxis:\"y3\",\n}\n\nvar trace3 = {\n  x: [1,100,30,80,1],\n  y: [1,1.5,2,2.5,3],\n  xaxis:\"x2\",\n  yaxis:\"y4\"\n}\n\nvar data = [trace0,trace1,trace2,trace3]\n\nvar layout = {\n  width: 800,\n  height: 500,\n  title: {\n      text: \"fixed-ratio axes\"\n  },\n  xaxis: {\n      nticks: 10,\n      domain: [0, 0.45],\n      title: {\n          text: \"shared X axis\"\n      }\n  },\n  yaxis: {\n      scaleanchor: \"x\",\n      domain: [0, 0.45],\n      title: {\n          text: \"1:1\"\n      }\n  },\n  yaxis2: {\n      scaleanchor: \"x\",\n      scaleratio: 0.2,\n      domain: [0.55, 1],\n      title: {\n          text: \"1:5\"\n      }\n  },\n  xaxis2: {\n      type: \"log\",\n      domain: [0.55, 1],\n      anchor: \"y3\",\n      title: {\n          text: \"unconstrained log X\"\n      }\n  },\n  yaxis3: {\n      domain: [0, 0.45],\n      anchor: \"x2\",\n      title: {\n          text: \"Scale matches ->\"\n      }\n  },\n  yaxis4: {\n      scaleanchor: \"y3\",\n      domain: [0.55, 1],\n      anchor: \"x2\",\n      title: {\n          text: \"Scale matches <-\"\n      }\n  },\n  showlegend: false\n}\n\nPlotly.newPlot('myDiv', data, layout)
"},{"location":"examples/axes/#specifying-label-aliases","title":"specifying-label-aliases","text":"

This example uses labelalias to update the text displayed for the x-axis values.

var trace1 = {\n  x: ['UK', 'US', 'Germany', 'France'],\n  y: [8, 3, 10, 3],\n  type: 'bar',\n};\n\nvar data = [trace1];\n\nvar layout = {\nxaxis: {\n  labelalias: {\n    UK: '\ud83c\uddec\ud83c\udde7 United Kingdom',\n    US: '\ud83c\uddfa\ud83c\uddf8 United States',\n    Germany: '\ud83c\udde9\ud83c\uddea Germany',\n    France: '\ud83c\uddeb\ud83c\uddf7 France'}\n  },\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/axes/#use-base64-encoded-typed-arrays","title":"use-base64-encoded-typed-arrays","text":"

Plotly.js 2.28.0 and later supports using base64-encoded typed arrays. To use a base64-encoded typed array, pass an object with the keys bdata (a base64-encoded string or the ArrayBuffer of an integer or float typed array) and dtype (the data type of the array, where the supported types are float64, float32, int32, uint32, int16, uint16, int8, uint8, and uint8c). You can also specify shape for multidimensional arrays. For example, '4,10' would be a 2D array with 4 rows and 10 columns.

var x = 'VVVVVVVV1b8AAAAAAAAAAFVVVVVVVdU/'\nvar y = 'q6qqPquqqr4='\nvar z = 'AABkAMgALAGQAfQB'\n\nvar trace1 = {\n  x: {\n    bdata: x,\n    dtype: 'f8'\n  },\n  y: {\n    bdata: y,\n    dtype: 'f4'\n  },\n  z: {\n    bdata: z,\n    dtype: 'u2',\n    shape: '2,3'\n  },\n  type: 'surface'\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/axes/#zero-line-layer","title":"zero-line-layer","text":"

New in 3.1

By default, zero lines are displayed below traces. Set zerolinelayer=\"above traces\" on an axis to display its zero line above traces.

var trace1 = {\n  x: ['A', 'B', 'C', 'D', 'A'],\n  y: [2, 0, 4, -3, 2],\n  fill: 'toself',\n  mode: 'none',\n  fillcolor: 'lightpink',\n  type: 'scatter'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  yaxis: {\n    zerolinelayer: \"above traces\"  // Change to \"below traces\" to see the difference\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/","title":"bar-charts","text":""},{"location":"examples/bar-charts/#basic-bar-chart","title":"basic-bar-chart","text":"
var data = [\n  {\n    x: ['giraffes', 'orangutans', 'monkeys'],\n    y: [20, 14, 23],\n    type: 'bar'\n  }\n];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/bar-charts/#grouped-bar-chart","title":"grouped-bar-chart","text":"
var trace1 = {\n  x: ['giraffes', 'orangutans', 'monkeys'],\n  y: [20, 14, 23],\n  name: 'SF Zoo',\n  type: 'bar'\n};\n\nvar trace2 = {\n  x: ['giraffes', 'orangutans', 'monkeys'],\n  y: [12, 18, 29],\n  name: 'LA Zoo',\n  type: 'bar'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {barmode: 'group'};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#stacked-bar-chart","title":"stacked-bar-chart","text":"
var trace1 = {\n  x: ['giraffes', 'orangutans', 'monkeys'],\n  y: [20, 14, 23],\n  name: 'SF Zoo',\n  type: 'bar'\n};\n\nvar trace2 = {\n  x: ['giraffes', 'orangutans', 'monkeys'],\n  y: [12, 18, 29],\n  name: 'LA Zoo',\n  type: 'bar'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {barmode: 'stack'};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#bar-chart-with-hover-text","title":"bar-chart-with-hover-text","text":"
var trace1 = {\n  x: ['Liam', 'Sophie', 'Jacob', 'Mia', 'William', 'Olivia'],\n  y: [8.0, 8.0, 12.0, 12.0, 13.0, 20.0],\n  type: 'bar',\n  text: ['4.17 below the mean', '4.17 below the mean', '0.17 below the mean', '0.17 below the mean', '0.83 above the mean', '7.83 above the mean'],\n  marker: {\n    color: 'rgb(142,124,195)'\n  }\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'Number of Graphs Made this Week'\n  },\n  font:{\n    family: 'Raleway, sans-serif'\n  },\n  showlegend: false,\n  xaxis: {\n    tickangle: -45\n  },\n  yaxis: {\n    zeroline: false,\n    gridwidth: 2\n  },\n  bargap :0.05\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#bar-chart-with-direct-labels","title":"bar-chart-with-direct-labels","text":"
var xValue = ['Product A', 'Product B', 'Product C'];\n\nvar yValue = [20, 14, 23];\n\nvar trace1 = {\n  x: xValue,\n  y: yValue,\n  type: 'bar',\n  text: yValue.map(String),\n  textposition: 'auto',\n  hoverinfo: 'none',\n  marker: {\n    color: 'rgb(158,202,225)',\n    opacity: 0.6,\n    line: {\n      color: 'rgb(8,48,107)',\n      width: 1.5\n    }\n  }\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'January 2013 Sales Report'\n  },\n  barmode: 'stack'\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#grouped-bar-chart-with-direct-labels","title":"grouped-bar-chart-with-direct-labels","text":"
var xValue = ['Product A', 'Product B', 'Product C'];\n\nvar yValue = [20, 14, 23];\nvar yValue2 = [24, 16, 20];\n\nvar trace1 = {\n  x: xValue,\n  y: yValue,\n  type: 'bar',\n  text: yValue.map(String),\n  textposition: 'auto',\n  hoverinfo: 'none',\n  opacity: 0.5,\n  marker: {\n    color: 'rgb(158,202,225)',\n    line: {\n      color: 'rgb(8,48,107)',\n      width: 1.5\n    }\n  }\n};\n\nvar trace2 = {\n  x: xValue,\n  y: yValue2,\n  type: 'bar',\n  text: yValue2.map(String),\n  textposition: 'auto',\n  hoverinfo: 'none',\n  marker: {\n    color: 'rgba(58,200,225,.5)',\n    line: {\n      color: 'rgb(8,48,107)',\n      width: 1.5\n    }\n  }\n};\n\nvar data = [trace1,trace2];\n\nvar layout = {\n  title: {\n    text: 'January 2013 Sales Report'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#bar-chart-with-rotated-labels","title":"bar-chart-with-rotated-labels","text":"
var trace1 = {\n  x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n  y: [20, 14, 25, 16, 18, 22, 19, 15, 12, 16, 14, 17],\n  type: 'bar',\n  name: 'Primary Product',\n  marker: {\n    color: 'rgb(49,130,189)',\n    opacity: 0.7,\n  }\n};\n\nvar trace2 = {\n  x: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n  y: [19, 14, 22, 14, 16, 19, 15, 14, 10, 12, 12, 16],\n  type: 'bar',\n  name: 'Secondary Product',\n  marker: {\n    color: 'rgb(204,204,204)',\n    opacity: 0.5\n  }\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: '2013 Sales Report'\n  },\n  xaxis: {\n    tickangle: -45\n  },\n  barmode: 'group'\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#customizing-individual-bar-colors","title":"customizing-individual-bar-colors","text":"
var trace1 = {\n  x: ['Feature A', 'Feature B', 'Feature C', 'Feature D', 'Feature E'],\n  y: [20, 14, 23, 25, 22],\n  marker:{\n    color: ['rgba(204,204,204,1)', 'rgba(222,45,38,0.8)', 'rgba(204,204,204,1)', 'rgba(204,204,204,1)', 'rgba(204,204,204,1)']\n  },\n  type: 'bar'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'Least Used Feature'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#customizing-individual-bar-widths","title":"customizing-individual-bar-widths","text":"
var trace0 = {\n  type: 'bar',\n  x: [1, 2, 3, 5.5, 10],\n  y: [10, 8, 6, 4, 2],\n  width: [0.8, 0.8, 0.8, 3.5, 4]\n}\n\nvar data = [trace0]\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/bar-charts/#customizing-individual-bar-base","title":"customizing-individual-bar-base","text":"
var data = [\n  {\n    type: 'bar',\n    x: ['2016','2017','2018'],\n    y: [500,600,700],\n    base: [-500,-600,-700],\n    hovertemplate: '%{base}',\n    marker: {\n      color: 'red'\n    },\n    name: 'expenses'\n  },\n  {\n    type: 'bar',\n    x: ['2016','2017','2018'],\n    y: [300,400,700],\n    base: 0,\n    marker: {\n      color: 'blue'\n    },\n    name: 'revenue'\n  }]\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/bar-charts/#colored-and-styled-bar-chart","title":"colored-and-styled-bar-chart","text":"
var trace1 = {\n  x: [1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012],\n  y: [219, 146, 112, 127, 124, 180, 236, 207, 236, 263, 350, 430, 474, 526, 488, 537, 500, 439],\n  name: 'Rest of world',\n  marker: {color: 'rgb(55, 83, 109)'},\n  type: 'bar'\n};\n\nvar trace2 = {\n  x: [1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012],\n  y: [16, 13, 10, 11, 28, 37, 43, 55, 56, 88, 105, 156, 270, 299, 340, 403, 549, 499],\n  name: 'China',\n  marker: {color: 'rgb(26, 118, 255)'},\n  type: 'bar'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: 'US Export of Plastic Scrap'\n  },\n  xaxis: {tickfont: {\n      size: 14,\n      color: 'rgb(107, 107, 107)'\n    }},\n  yaxis: {\n    title: {\n        text: 'USD (millions)',\n        font: {\n            size: 16,\n            color: 'rgb(107, 107, 107)'\n        }\n    },\n    tickfont: {\n      size: 14,\n      color: 'rgb(107, 107, 107)'\n    }\n  },\n  legend: {\n    x: 0,\n    y: 1.0,\n    bgcolor: 'rgba(255, 255, 255, 0)',\n    bordercolor: 'rgba(255, 255, 255, 0)'\n  },\n  barmode: 'group',\n  bargap: 0.15,\n  bargroupgap: 0.1\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#rounded-corners-on-bars","title":"rounded-corners-on-bars","text":"

To create rounded corners on bars, set barcornerradius on the layout to a number of pixels, or a string with a percentage of the bar width, for example, 25%. You can also configure traces individually with marker.cornerradius on the trace.

var trace1 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [24, 10, 9],\n  name: 'Gold',\n  type: 'bar',\n};\n\nvar trace2 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [13, 15, 12],\n  name: 'Silver',\n  type: 'bar',\n};\n\nvar trace3 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [11, 8, 12],\n  name: 'Bronze',\n  type: 'bar',\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  scattermode: 'group',\n  title: {\n    text: 'Grouped by Country'\n  },\n  xaxis: {\n    title: {\n      text: 'Country'\n    }\n  },\n  yaxis: {\n    title: {\n      text: 'Medals'\n    }\n  },\n  barcornerradius: 15,\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#waterfall-bar-chart","title":"waterfall-bar-chart","text":"
// Base\n\nvar xData = ['Product<br>Revenue', 'Services<br>Revenue',\n  'Total<br>Revenue', 'Fixed<br>Costs',\n  'Variable<br>Costs', 'Total<br>Costs', 'Total'\n];\n\nvar yData = [400, 660, 660, 590, 400, 400, 340];\n\nvar textList = ['$430K', '$260K', '$690K', '$-120K', '$-200K', '$-320K', '$370K'];\n\n//Base\n\nvar trace1 = {\n  x: xData,\n  y: [0, 430, 0, 570, 370, 370, 0],\n  marker: {\n    color: 'rgba(1,1,1,0.0)'\n  },\n  type: 'bar'\n};\n\n//Revenue\n\nvar trace2 = {\n  x: xData,\n  y: [430, 260, 690, 0, 0, 0, 0],\n  type: 'bar',\n  marker: {\n    color: 'rgba(55,128,191,0.7)',\n    line: {\n      color: 'rgba(55,128,191,1.0)',\n      width: 2\n    }\n  }\n};\n\n//Cost\n\nvar trace3 = {\n  x: xData,\n  y: [0, 0, 0, 120, 200, 320, 0],\n  type: 'bar',\n  marker: {\n    color: 'rgba(219, 64, 82, 0.7)',\n    line: {\n      color: 'rgba(219, 64, 82, 1.0)',\n      width: 2\n    }\n  }\n};\n\n//Profit\n\nvar trace4 = {\n  x: xData,\n  y: [0, 0, 0, 0, 0, 0, 370],\n  type: 'bar',\n  marker: {\n    color: 'rgba(50,171, 96, 0.7)',\n    line: {\n      color: 'rgba(50,171,96,1.0)',\n      width: 2\n    }\n  }\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {\n    text: 'Annual Profit 2015'\n  },\n  barmode: 'stack',\n  paper_bgcolor: 'rgba(245,246,249,1)',\n  plot_bgcolor: 'rgba(245,246,249,1)',\n  width: 600,\n  height: 600,\n  showlegend: false,\n  annotations: []\n};\n\nfor ( var i = 0 ; i < 7 ; i++ ) {\n  var result = {\n    x: xData[i],\n    y: yData[i],\n    text: textList[i],\n    font: {\n      family: 'Arial',\n      size: 14,\n      color: 'rgba(245,246,249,1)'\n    },\n    showarrow: false\n  };\n  layout.annotations.push(result);\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bar-charts/#bar-chart-with-relative-barmode","title":"bar-chart-with-relative-barmode","text":"
var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [1, 4, 9, 16],\n  name: 'Trace1',\n  type: 'bar'\n};\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [6, -8, -4.5, 8],\n  name: 'Trace2',\n  type: 'bar'\n};\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [-15, -3, 4.5, -8],\n  name: 'Trace3',\n  type: 'bar'\n }\n\n var trace4 = {\n  x: [1, 2, 3, 4],\n  y: [-1, 3, -3, -4],\n  name: 'Trace4',\n  type: 'bar'\n }\n\nvar data = [trace1, trace2, trace3, trace4];\nvar layout = {\n  xaxis: {\n    title: {\n      text: 'X axis'\n    }\n  },\n  yaxis: {\n    title: {\n      text: 'Y axis'\n    }\n  },\n  barmode: 'relative',\n  title: {\n    text: 'Relative Barmode'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/","title":"box-plots","text":""},{"location":"examples/box-plots/#basic-box-plot","title":"basic-box-plot","text":"
var y0 = [];\nvar y1 = [];\nfor (var i = 0; i < 50; i ++) {\n    y0[i] = Math.random();\n    y1[i] = Math.random() + 1;\n}\n\nvar trace1 = {\n  y: y0,\n  type: 'box'\n};\n\nvar trace2 = {\n  y: y1,\n  type: 'box'\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/box-plots/#box-plot-that-displays-the-underlying-data","title":"box-plot-that-displays-the-underlying-data","text":"
var data = [\n  {\n    y: [0, 1, 1, 2, 3, 5, 8, 13, 21],\n    boxpoints: 'all',\n    jitter: 0.3,\n    pointpos: -1.8,\n    type: 'box'\n  }\n];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/box-plots/#horizontal-box-plot","title":"horizontal-box-plot","text":"
var trace1 = {\n  x: [1, 2, 3, 4, 4, 4, 8, 9, 10],\n  type: 'box',\n  name: 'Set 1'\n};\n\nvar trace2 = {\n  x: [2, 3, 3, 3, 3, 5, 6, 6, 7],\n  type: 'box',\n  name: 'Set 2'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: 'Horizontal Box Plot'\n  },\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/#grouped-box-plot","title":"grouped-box-plot","text":"
var x = ['day 1', 'day 1', 'day 1', 'day 1', 'day 1', 'day 1',\n         'day 2', 'day 2', 'day 2', 'day 2', 'day 2', 'day 2']\n\nvar trace1 = {\n  y: [0.2, 0.2, 0.6, 1.0, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3],\n  x: x,\n  name: 'kale',\n  marker: {color: '#3D9970'},\n  type: 'box'\n};\n\nvar trace2 = {\n  y: [0.6, 0.7, 0.3, 0.6, 0.0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2],\n  x: x,\n  name: 'radishes',\n  marker: {color: '#FF4136'},\n  type: 'box'\n};\n\nvar trace3 = {\n  y: [0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1.0, 0.3, 0.6, 0.8, 0.5],\n  x: x,\n  name: 'carrots',\n  marker: {color: '#FF851B'},\n  type: 'box'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  yaxis: {\n    title: {\n      text: 'normalized moisture'\n    },\n    zeroline: false\n  },\n  boxmode: 'group'\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/#box-plot-styling-outliers","title":"box-plot-styling-outliers","text":"
var trace1 = {\n  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],\n  type: 'box',\n  name: 'All Points',\n  jitter: 0.3,\n  pointpos: -1.8,\n  marker: {\n    color: 'rgb(7,40,89)'\n  },\n  boxpoints: 'all'\n};\n\nvar trace2 = {\n  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],\n  type: 'box',\n  name: 'Only Wiskers',\n  marker: {\n    color: 'rgb(9,56,125)'\n  },\n  boxpoints: false\n};\n\nvar trace3 = {\n  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],\n  type: 'box',\n  name: 'Suspected Outlier',\n  marker: {\n    color: 'rgb(8,81,156)',\n    outliercolor: 'rgba(219, 64, 82, 0.6)',\n    line: {\n      outliercolor: 'rgba(219, 64, 82, 1.0)',\n      outlierwidth: 2\n    }\n  },\n  boxpoints: 'suspectedoutliers'\n};\n\nvar trace4 = {\n  y: [0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25],\n  type: 'box',\n  name: 'Wiskers and Outliers',\n  marker: {\n    color: 'rgb(107,174,214)'\n  },\n  boxpoints: 'Outliers'\n};\n\n\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {\n    text: 'Box Plot Styling Outliers'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/#box-plot-styling-mean-and-standard-deviation","title":"box-plot-styling-mean-and-standard-deviation","text":"
var trace1 = {\n  y: [2.37, 2.16, 4.82, 1.73, 1.04, 0.23, 1.32, 2.91, 0.11, 4.51, 0.51, 3.75, 1.35, 2.98, 4.50, 0.18, 4.66, 1.30, 2.06, 1.19],\n  type: 'box',\n  name: 'Only Mean',\n  marker: {\n    color: 'rgb(8,81,156)'\n  },\n  boxmean: true\n};\n\nvar trace2 = {\n  y: [2.37, 2.16, 4.82, 1.73, 1.04, 0.23, 1.32, 2.91, 0.11, 4.51, 0.51, 3.75, 1.35, 2.98, 4.50, 0.18, 4.66, 1.30, 2.06, 1.19],\n  type: 'box',\n  name: 'Mean and Standard Deviation',\n  marker: {\n    color: 'rgb(10,140,208)'\n  },\n  boxmean: 'sd'\n};\n\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: 'Box Plot Styling Mean and Standard Deviation'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/#grouped-horizontal-box-plot","title":"grouped-horizontal-box-plot","text":"
var y = ['day 1', 'day 1', 'day 1', 'day 1', 'day 1', 'day 1',\n         'day 2', 'day 2', 'day 2', 'day 2', 'day 2', 'day 2']\n\nvar trace1 = {\n  x: [0.2, 0.2, 0.6, 1.0, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3],\n  y: y,\n  name: 'kale',\n  marker: {color: '#3D9970'},\n  type: 'box',\n  boxmean: false,\n  orientation: 'h'\n};\n\nvar trace2 = {\n  x: [0.6, 0.7, 0.3, 0.6, 0.0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2],\n  y: y,\n  name: 'radishes',\n  marker: {color: '#FF4136'},\n  type: 'box',\n  boxmean: false,\n  orientation: 'h'\n};\n\nvar trace3 = {\n  x: [0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1.0, 0.3, 0.6, 0.8, 0.5],\n  y: y,\n  name: 'carrots',\n  marker: {color: '#FF851B'},\n  type: 'box',\n  boxmean: false,\n  orientation: 'h'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  title: {\n    text: 'Grouped Horizontal Box Plot'\n  },\n  xaxis: {\n    title: {\n      text: 'normalized moisture'\n    },\n    zeroline: false\n  },\n  boxmode: 'group'\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/#colored-box-plot","title":"colored-box-plot","text":"
var trace1 = {\n  y: [1, 2, 3, 4, 4, 4, 8, 9, 10],\n  type: 'box',\n  name: 'Sample A',\n  marker:{\n    color: 'rgb(214,12,140)'\n  }\n};\n\nvar trace2 = {\n  y: [2, 3, 3, 3, 3, 5, 6, 6, 7],\n  type: 'box',\n  name: 'Sample B',\n  marker:{\n    color: 'rgb(0,128,128)'\n  }\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: 'Colored Box Plot'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/#fully-styled-box-plot","title":"fully-styled-box-plot","text":"
var xData = ['Carmelo<br>Anthony', 'Dwyane<br>Wade',\n      'Deron<br>Williams', 'Brook<br>Lopez',\n      'Damian<br>Lillard', 'David<br>West',\n      'Blake<br>Griffin', 'David<br>Lee',\n      'Demar<br>Derozan'];\n\nfunction getrandom(num , mul) {\n    var value = [ ];\n    for ( i = 0; i <= num; i++ ) {\n        var rand = Math.random() * mul;\n        value.push(rand);\n    }\n    return value;\n}\n\nvar yData = [\n        getrandom(30 ,10),\n        getrandom(30, 20),\n        getrandom(30, 25),\n        getrandom(30, 40),\n        getrandom(30, 45),\n        getrandom(30, 30),\n        getrandom(30, 20),\n        getrandom(30, 15),\n        getrandom(30, 43),\n    ];\nvar colors = ['rgba(93, 164, 214, 0.5)', 'rgba(255, 144, 14, 0.5)', 'rgba(44, 160, 101, 0.5)', 'rgba(255, 65, 54, 0.5)', 'rgba(207, 114, 255, 0.5)', 'rgba(127, 96, 0, 0.5)', 'rgba(255, 140, 184, 0.5)', 'rgba(79, 90, 117, 0.5)', 'rgba(222, 223, 0, 0.5)'];\n\nvar data = [];\n\nfor ( var i = 0; i < xData.length; i ++ ) {\n    var result = {\n        type: 'box',\n        y: yData[i],\n        name: xData[i],\n        boxpoints: 'all',\n        jitter: 0.5,\n        whiskerwidth: 0.2,\n        fillcolor: 'cls',\n        marker: {\n            size: 2\n        },\n        line: {\n            width: 1\n        }\n    };\n    data.push(result);\n};\n\nlayout = {\n    title: {\n        text: 'Points Scored by the Top 9 Scoring NBA Players in 2012'\n    },\n    yaxis: {\n        autorange: true,\n        showgrid: true,\n        zeroline: true,\n        dtick: 5,\n        gridcolor: 'rgb(255, 255, 255)',\n        gridwidth: 1,\n        zerolinecolor: 'rgb(255, 255, 255)',\n        zerolinewidth: 2\n    },\n    margin: {\n        l: 40,\n        r: 30,\n        b: 80,\n        t: 100\n    },\n    paper_bgcolor: 'rgb(243, 243, 243)',\n    plot_bgcolor: 'rgb(243, 243, 243)',\n    showlegend: false\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/box-plots/#rainbow-box-plot","title":"rainbow-box-plot","text":"
function linspace(a,b,n) {\n  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});\n}\nvar boxNumber = 30;\nvar boxColor = [];\nvar allColors = linspace(0, 360, boxNumber);\nvar data = [];\nvar yValues = [];\n\n//Colors\n\nfor( var i = 0; i < boxNumber;  i++ ){\n  var result = 'hsl('+ allColors[i] +',50%'+',50%)';\n  boxColor.push(result);\n}\n\nfunction getRandomArbitrary(min, max) {\n  return Math.random() * (max - min) + min;\n};\n\n//Create Y Values\n\nfor( var i = 0; i < boxNumber;  i++ ){\n  var ySingleArray = [];\n    for( var j = 0; j < 10;  j++ ){\n      var randomNum = getRandomArbitrary(0, 1);\n      var yIndValue = 3.5*Math.sin(Math.PI * i/boxNumber) + i/boxNumber+(1.5+0.5*Math.cos(Math.PI*i/boxNumber))*randomNum;\n      ySingleArray.push(yIndValue);\n    }\n  yValues.push(ySingleArray);\n}\n\n//Create Traces\n\nfor( var i = 0; i < boxNumber;  i++ ){\n  var result = {\n    y: yValues[i],\n    type:'box',\n    marker:{\n      color: boxColor[i]\n    }\n  };\n  data.push(result);\n};\n\n//Format the layout\n\nvar layout = {\n  xaxis: {\n    showgrid: false,\n    zeroline: false,\n    tickangle: 60,\n    showticklabels: false\n  },\n  yaxis: {\n    zeroline: false,\n    gridcolor: 'white'\n  },\n  paper_bgcolor: 'rgb(233,233,233)',\n  plot_bgcolor: 'rgb(233,233,233)',\n  showlegend:false\n};\n\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bubble-charts/","title":"bubble-charts","text":""},{"location":"examples/bubble-charts/#marker-size-on-bubble-charts","title":"marker-size-on-bubble-charts","text":"
var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 11, 12, 13],\n  mode: 'markers',\n  marker: {\n    size: [40, 60, 80, 100]\n  }\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'Marker Size'\n  },\n  showlegend: false,\n  height: 600,\n  width: 600\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bubble-charts/#hover-text-on-bubble-charts","title":"hover-text-on-bubble-charts","text":"
var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 11, 12, 13],\n  text: ['A<br>size: 40', 'B<br>size: 60', 'C<br>size: 80', 'D<br>size: 100'],\n  mode: 'markers',\n  marker: {\n    color: ['rgb(93, 164, 214)', 'rgb(255, 144, 14)',  'rgb(44, 160, 101)', 'rgb(255, 65, 54)'],\n    size: [40, 60, 80, 100]\n  }\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'Bubble Chart Hover Text'\n  },\n  showlegend: false,\n  height: 600,\n  width: 600\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bubble-charts/#marker-size-and-color-on-bubble-charts","title":"marker-size-and-color-on-bubble-charts","text":"
var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 11, 12, 13],\n  mode: 'markers',\n  marker: {\n    color: ['rgb(93, 164, 214)', 'rgb(255, 144, 14)',  'rgb(44, 160, 101)', 'rgb(255, 65, 54)'],\n    opacity: [1, 0.8, 0.6, 0.4],\n    size: [40, 60, 80, 100]\n  }\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'Marker Size and Color'\n  },\n  showlegend: false,\n  height: 600,\n  width: 600\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bubble-charts/#bubble-size-scaling-on-charts","title":"bubble-size-scaling-on-charts","text":"
// To scale the bubble size, use the attribute sizeref. We recommend using the following formula to calculate a sizeref value:\n// sizeref = 2.0 * Math.max(...size) / (desired_maximum_marker_size**2)\n// Note that setting 'sizeref' to a value greater than 1, decreases the rendered marker sizes, while setting 'sizeref' to less than 1, increases the rendered marker sizes. See https://plotly.com/python/reference/scatter/#scatter-marker-sizeref for more information. Additionally, we recommend setting the sizemode attribute: https://plotly.com/python/reference/scatter/#scatter-marker-sizemode to area.\n\nvar trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 11, 12, 13],\n  text: ['A<br>size: 40', 'B<br>size: 60', 'C<br>size: 80', 'D<br>size: 100'],\n  mode: 'markers',\n  marker: {\n    size: [400, 600, 800, 1000],\n    sizemode: 'area'\n  }\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [14, 15, 16, 17],\n  text: ['A</br>size: 40</br>sixeref: 0.2', 'B</br>size: 60</br>sixeref: 0.2', 'C</br>size: 80</br>sixeref: 0.2', 'D</br>size: 100</br>sixeref: 0.2'],\n  mode: 'markers',\n  marker: {\n    size: [400, 600, 800, 1000],\n    //setting 'sizeref' to lower than 1 decreases the rendered size\n    sizeref: 2,\n    sizemode: 'area'\n  }\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [20, 21, 22, 23],\n  text: ['A</br>size: 40</br>sixeref: 2', 'B</br>size: 60</br>sixeref: 2', 'C</br>size: 80</br>sixeref: 2', 'D</br>size: 100</br>sixeref: 2'],\n  mode: 'markers',\n  marker: {\n    size: [400, 600, 800, 1000],\n    //setting 'sizeref' to less than 1, increases the rendered marker sizes\n    sizeref: 0.2,\n    sizemode: 'area'\n  }\n};\n\n// sizeref using above formula\nvar desired_maximum_marker_size = 40;\nvar size = [400, 600, 800, 1000];\nvar trace4 = {\n  x: [1, 2, 3, 4],\n  y: [26, 27, 28, 29],\n  text: ['A</br>size: 40</br>sixeref: 1.25', 'B</br>size: 60</br>sixeref: 1.25', 'C</br>size: 80</br>sixeref: 1.25', 'D</br>size: 100</br>sixeref: 1.25'],\n  mode: 'markers',\n  marker: {\n    size: size,\n    //set 'sizeref' to an 'ideal' size given by the formula sizeref = 2. * max(array_of_size_values) / (desired_maximum_marker_size ** 2)\n    sizeref: 2.0 * Math.max(...size) / (desired_maximum_marker_size**2),\n    sizemode: 'area'\n  }\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {\n    text: 'Size Scaling in Bubble Charts'\n  },\n  showlegend: false,\n  height: 600,\n  width: 600\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bubble-charts/#marker-size-color-and-symbol-as-an-array","title":"marker-size-color-and-symbol-as-an-array","text":"
var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 11, 12, 13],\n  mode: 'markers',\n  marker: {\n    color: ['hsl(0,100,40)', 'hsl(33,100,40)', 'hsl(66,100,40)', 'hsl(99,100,40)'],\n    size: [12, 22, 32, 42],\n    opacity: [0.6, 0.7, 0.8, 0.9]\n  },\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [11, 12, 13, 14],\n  mode: 'markers',\n  marker: {\n    color: 'rgb(31, 119, 180)',\n    size: 18,\n    symbol: ['circle', 'square', 'diamond', 'cross']\n  },\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [12, 13, 14, 15],\n  mode: 'markers',\n  marker: {\n    size: 18,\n    line: {\n      color: ['rgb(120,120,120)', 'rgb(120,120,120)', 'red', 'rgb(120,120,120)'],\n      width: [2, 2, 6, 2]\n    }\n  },\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {showlegend: false};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bubble-maps/","title":"bubble-maps","text":""},{"location":"examples/bubble-maps/#europe-bubble-map","title":"europe-bubble-map","text":"
var data = [{\n    type: 'scattergeo',\n    mode: 'markers',\n    locations: ['FRA', 'DEU', 'RUS', 'ESP'],\n    marker: {\n        size: [20, 30, 15, 10],\n        color: [10, 20, 40, 50],\n        cmin: 0,\n        cmax: 50,\n        colorscale: 'Greens',\n        colorbar: {\n            title: {text: 'Some rate'},\n            ticksuffix: '%',\n            showticksuffix: 'last'\n        },\n        line: {\n            color: 'black'\n        }\n    },\n    name: 'europe data'\n}];\n\nvar layout = {\n    'geo': {\n        'scope': 'europe',\n        'resolution': 50\n    }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bubble-maps/#usa-bubble-map","title":"usa-bubble-map","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_us_cities.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });\n    }\n\n    var cityName = unpack(rows, 'name'),\n        cityPop = unpack(rows, 'pop'),\n        cityLat = unpack(rows, 'lat'),\n        cityLon = unpack(rows, 'lon'),\n        color = [,\"rgb(255,65,54)\",\"rgb(133,20,75)\",\"rgb(255,133,27)\",\"lightgrey\"],\n        citySize = [],\n        hoverText = [],\n        scale = 50000;\n\n    for ( var i = 0 ; i < cityPop.length; i++) {\n        var currentSize = cityPop[i] / scale;\n        var currentText = cityName[i] + \" pop: \" + cityPop[i];\n        citySize.push(currentSize);\n        hoverText.push(currentText);\n    }\n\n    var data = [{\n        type: 'scattergeo',\n        locationmode: 'USA-states',\n        lat: cityLat,\n        lon: cityLon,\n        hoverinfo: 'text',\n        text: hoverText,\n        marker: {\n            size: citySize,\n            line: {\n                color: 'black',\n                width: 2\n            },\n        }\n    }];\n\n    var layout = {\n        title: {text: '2014 US City Populations'},\n        showlegend: false,\n        geo: {\n            scope: 'usa',\n            projection: {\n                type: 'albers usa'\n            },\n            showland: true,\n            landcolor: 'rgb(217, 217, 217)',\n            subunitwidth: 1,\n            countrywidth: 1,\n            subunitcolor: 'rgb(255,255,255)',\n            countrycolor: 'rgb(255,255,255)'\n        },\n    };\n\n    Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n\n});
"},{"location":"examples/bullet-charts/","title":"bullet-charts","text":""},{"location":"examples/bullet-charts/#basic-bullet-charts","title":"basic-bullet-charts","text":"

Stephen Few's Bullet Chart was invented to replace dashboard gauges and meters, combining both types of charts into simple bar charts with qualitative bars (steps), quantitative bar (bar) and performance line (threshold); all into one simple layout. Steps typically are broken into several values, which are defined with an array. The bar represent the actual value that a particular variable reached, and the threshold usually indicate a goal point relative to the value achieved by the bar. See indicator page for more detail.

var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+gauge+delta\",\n    gauge: { shape: \"bullet\" },\n    delta: { reference: 300 },\n    value: 220,\n    domain: { x: [0, 1], y: [0, 1] },\n    title: { text: \"Profit\" }\n  }\n];\n\nvar layout = { width: 600, height: 250 };\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/bullet-charts/#add-steps-and-threshold","title":"add-steps-and-threshold","text":"

Below is the same example using \"steps\" attribute, which is shown as shading, and \"threshold\" to determine boundaries that visually alert you if the value cross a defined threshold.

var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+gauge+delta\",\n    value: 220,\n    domain: { x: [0, 1], y: [0, 1] },\n    title: {\n      text: \"<b>Profit</b>\"\n    },\n    delta: { reference: 200 },\n    gauge: {\n      shape: \"bullet\",\n      axis: { range: [null, 300] },\n      threshold: {\n        line: { color: \"red\", width: 2 },\n        thickness: 0.75,\n        value: 280\n      },\n      steps: [\n        { range: [0, 150], color: \"lightgray\" },\n        { range: [150, 250], color: \"gray\" }\n      ]\n    }\n  }\n];\n\nvar layout = { width: 600, height: 250 };\nvar config = { responsive: true };\n\nPlotly.newPlot('myDiv', data, layout, config);
"},{"location":"examples/bullet-charts/#custom-bullet-chart","title":"custom-bullet-chart","text":"

The following example shows how to customize your charts. For more information about all possible options check our reference page.

var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+gauge+delta\",\n    value: 220,\n    domain: { x: [0, 1], y: [0, 1] },\n    delta: { reference: 280, position: \"top\" },\n    title: {\n      text:\n        \"<b>Profit</b><br><span style='color: gray; font-size:0.8em'>U.S. $</span>\",\n      font: { size: 14 }\n    },\n    gauge: {\n      shape: \"bullet\",\n      axis: { range: [null, 300] },\n      threshold: {\n        line: { color: \"red\", width: 2, gradient: { yanchor: \"vertical\" } },\n        thickness: 0.75,\n        value: 270\n      },\n      bgcolor: \"white\",\n      steps: [{ range: [0, 150], color: \"cyan\" }],\n      bar: { color: \"darkblue\" }\n    }\n  }\n];\n\nvar layout = { width: 400, height: 230 };\nvar config = { responsive: true };\n\nPlotly.newPlot('myDiv', data, layout, config);
"},{"location":"examples/bullet-charts/#multi-bullet","title":"multi-bullet","text":"

Bullet charts can be stacked for comparing several values at once as illustrated below:

var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+gauge+delta\",\n    value: 180,\n    delta: { reference: 200 },\n    domain: { x: [0.25, 1], y: [0.08, 0.25] },\n    title: { text: \"Revenue\" },\n    gauge: {\n      shape: \"bullet\",\n      axis: { range: [null, 300] },\n      threshold: {\n        line: { color: \"black\", width: 2 },\n        thickness: 0.75,\n        value: 170\n      },\n      steps: [\n        { range: [0, 150], color: \"gray\" },\n        {\n          range: [150, 250],\n          color: \"lightgray\"\n        }\n      ],\n      bar: { color: \"black\" }\n    }\n  },\n  {\n    type: \"indicator\",\n    mode: \"number+gauge+delta\",\n    value: 35,\n    delta: { reference: 200 },\n    domain: { x: [0.25, 1], y: [0.4, 0.6] },\n    title: { text: \"Profit\" },\n    gauge: {\n      shape: \"bullet\",\n      axis: { range: [null, 100] },\n      threshold: {\n        line: { color: \"black\", width: 2 },\n        thickness: 0.75,\n        value: 50\n      },\n      steps: [\n        { range: [0, 25], color: \"gray\" },\n        { range: [25, 75], color: \"lightgray\" }\n      ],\n      bar: { color: \"black\" }\n    }\n  },\n  {\n    type: \"indicator\",\n    mode: \"number+gauge+delta\",\n    value: 220,\n    delta: { reference: 200 },\n    domain: { x: [0.25, 1], y: [0.7, 0.9] },\n    title: { text: \"Satisfaction\" },\n    gauge: {\n      shape: \"bullet\",\n      axis: { range: [null, 300] },\n      threshold: {\n        line: { color: \"black\", width: 2 },\n        thickness: 0.75,\n        value: 210\n      },\n      steps: [\n        { range: [0, 150], color: \"gray\" },\n        { range: [150, 250], color: \"lightgray\" }\n      ],\n      bar: { color: \"black\" }\n    }\n  }\n];\n\nvar layout = {\n  width: 600, height: 250,\n  margin: { t: 10, r: 25, l: 25, b: 10 }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/candlestick-charts/","title":"candlestick-charts","text":""},{"location":"examples/candlestick-charts/#simple-candlestick-chart","title":"simple-candlestick-chart","text":"
var trace1 = {\n\n  x: ['2017-01-04', '2017-01-05', '2017-01-06', '2017-01-09', '2017-01-10', '2017-01-11', '2017-01-12', '2017-01-13', '2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10', '2017-02-13', '2017-02-14', '2017-02-15'],\n\n  close: [116.019997, 116.610001, 117.910004, 118.989998, 119.110001, 119.75, 119.25, 119.040001, 120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995, 133.289993, 135.020004, 135.509995],\n\n  decreasing: {line: {color: '#7F7F7F'}},\n\n  high: [116.510002, 116.860001, 118.160004, 119.43, 119.379997, 119.93, 119.300003, 119.620003, 120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002, 133.820007, 135.089996, 136.270004],\n\n  increasing: {line: {color: '#17BECF'}},\n\n  line: {color: 'rgba(31,119,180,1)'},\n\n  low: [115.75, 115.809998, 116.470001, 117.940002, 118.300003, 118.599998, 118.209999, 118.809998, 118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003, 132.75, 133.25, 134.619995],\n\n  open: [115.849998, 115.919998, 116.779999, 117.949997, 118.769997, 118.739998, 118.900002, 119.110001, 118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007, 133.080002, 133.470001, 135.520004],\n\n  type: 'candlestick',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  dragmode: 'zoom',\n  margin: {\n    r: 10,\n    t: 25,\n    b: 40,\n    l: 60\n  },\n  showlegend: false,\n  xaxis: {\n    autorange: true,\n    domain: [0, 1],\n    range: ['2017-01-03 12:00', '2017-02-15 12:00'],\n    rangeslider: {range: ['2017-01-03 12:00', '2017-02-15 12:00']},\n    title: {\n      text: 'Date'\n    },\n    type: 'date'\n  },\n  yaxis: {\n    autorange: true,\n    domain: [0, 1],\n    range: [114.609999778, 137.410004222],\n    type: 'linear'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/candlestick-charts/#candlestick-chart-without-rangeslider","title":"candlestick-chart-without-rangeslider","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar trace = {\n  x: unpack(rows, 'Date'),\n  close: unpack(rows, 'AAPL.Close'),\n  high: unpack(rows, 'AAPL.High'),\n  low: unpack(rows, 'AAPL.Low'),\n  open: unpack(rows, 'AAPL.Open'),\n\n  // cutomise colors\n  increasing: {line: {color: 'black'}},\n  decreasing: {line: {color: 'red'}},\n\n  type: 'candlestick',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace];\n\nvar layout = {\n  dragmode: 'zoom',\n  showlegend: false,\n  xaxis: {\n    rangeslider: {\n         visible: false\n     }\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/candlestick-charts/#customise-candlestick-chart-with-shapes-and-annotations","title":"customise-candlestick-chart-with-shapes-and-annotations","text":"
var trace1 = {\n\n  x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'],\n\n  close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995],\n\n  decreasing: {line: {color: '#7F7F7F'}},\n\n  high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002],\n\n  increasing: {line: {color: '#17BECF'}},\n\n  line: {color: 'rgba(31,119,180,1)'},\n\n  low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003],\n\n  open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007],\n\n  type: 'candlestick',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  dragmode: 'zoom',\n  margin: {\n    r: 10,\n    t: 25,\n    b: 40,\n    l: 60\n  },\n  showlegend: false,\n  xaxis: {\n    autorange: true,\n    rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']},\n    title: {\n      text: 'Date'\n    },\n    type: 'date'\n  },\n  yaxis: {\n    autorange: true,\n    type: 'linear'\n  },\n\n  annotations: [\n    {\n      x: '2017-01-31',\n      y: 0.9,\n      xref: 'x',\n      yref: 'paper',\n      text: 'largest movement',\n      font: {color: 'magenta'},\n      showarrow: true,\n      xanchor: 'right',\n      ax: -20,\n      ay: 0\n    }\n  ],\n\n  shapes: [\n      {\n          type: 'rect',\n          xref: 'x',\n          yref: 'paper',\n          x0: '2017-01-31',\n          y0: 0,\n          x1: '2017-02-01',\n          y1: 1,\n          fillcolor: '#d3d3d3',\n          opacity: 0.2,\n          line: {\n              width: 0\n          }\n      }\n    ]\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/candlestick-charts/#customizing-candlestick-chart-colors","title":"customizing-candlestick-chart-colors","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar trace = {\n  x: unpack(rows, 'Date'),\n  close: unpack(rows, 'AAPL.Close'),\n  high: unpack(rows, 'AAPL.High'),\n  low: unpack(rows, 'AAPL.Low'),\n  open: unpack(rows, 'AAPL.Open'),\n\n  // cutomise colors\n  increasing: {line: {color: 'black'}},\n  decreasing: {line: {color: 'red'}},\n\n  type: 'candlestick',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace];\n\nvar layout = {\n  dragmode: 'zoom',\n  showlegend: false,\n  xaxis: {\n    title: {\n      text: 'Date'\n    },\n    range: ['2016-06-01 12:00', '2017-01-01 12:00']\n  },\n  yaxis: {\n    autorange: true,\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/candlestick-charts/#add-rangeselector","title":"add-rangeselector","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar trace = {\n  x: unpack(rows, 'Date'),\n  close: unpack(rows, 'AAPL.Close'),\n  high: unpack(rows, 'AAPL.High'),\n  low: unpack(rows, 'AAPL.Low'),\n  open: unpack(rows, 'AAPL.Open'),\n\n  // cutomise colors\n  increasing: {line: {color: 'black'}},\n  decreasing: {line: {color: 'red'}},\n\n  type: 'candlestick',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace];\n\nvar layout = {\n  dragmode: 'zoom',\n  showlegend: false,\n  xaxis: {\n    autorange: true,\n    title: {\n      text: 'Date'\n    },\n      rangeselector: {\n        x: 0,\n        y: 1.2,\n        xanchor: 'left',\n        font: {size:8},\n        buttons: [{\n            step: 'month',\n            stepmode: 'backward',\n            count: 1,\n            label: '1 month'\n        }, {\n            step: 'month',\n            stepmode: 'backward',\n            count: 6,\n            label: '6 months'\n        }, {\n            step: 'all',\n            label: 'All dates'\n        }]\n      }\n  },\n  yaxis: {\n    autorange: true,\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n});
"},{"location":"examples/carpet-contour/","title":"carpet-contour","text":""},{"location":"examples/carpet-contour/#basic-carpet-plot","title":"basic-carpet-plot","text":"
var trace1  = {\n    type: 'carpet',\n    a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3],\n    b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6],\n    x: [2, 3, 4, 5, 2.2, 3.1, 4.1, 5.1, 1.5, 2.5, 3.5, 4.5],\n    y: [1, 1.4, 1.6, 1.75, 2, 2.5, 2.7, 2.75, 3, 3.5, 3.7, 3.75],\n    aaxis: {\n      tickprefix: \"a = \",\n      smoothing: 0,\n      minorgridcount: 9,\n      type: 'linear'\n},\n    baxis: {\n      tickprefix: \"b = \",\n      smoothing: 0,\n      minorgridcount: 9,\n      type: 'linear'\n    }\n}\n\nvar layout = {\n    title: {\n      text: \"Cheater plot with 1d input\"\n    },\n    margin: {\n      t: 40, r: 30, b: 30, l: 30\n    },\n    yaxis: {\n      range: [0.388,4.361]\n    },\n    xaxis: {\n      range: [0.667,5.932]\n    }\n}\n\nvar data = [trace1]\n\nPlotly.newPlot('myDiv', data, layout)
"},{"location":"examples/carpet-contour/#add-contours","title":"add-contours","text":"
var trace1 = {\n    type: 'contourcarpet',\n    a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3],\n    b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6],\n    z: [1, 1.96, 2.56, 3.0625, 4, 5.0625, 1, 7.5625, 9, 12.25, 15.21, 14.0625],\n    autocontour: false,\n    contours: {\n      start: 1,\n      end: 14,\n      size: 1\n    },\n    line: {\n      width: 2,\n      smoothing: 0\n    },\n    colorbar: {\n      len: 0.4,\n      y: 0.25\n    }\n}\n\nvar trace2  = {\n    type: 'carpet',\n    a: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3],\n    b: [4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6],\n    x: [2, 3, 4, 5, 2.2, 3.1, 4.1, 5.1, 1.5, 2.5, 3.5, 4.5],\n    y: [1, 1.4, 1.6, 1.75, 2, 2.5, 2.7, 2.75, 3, 3.5, 3.7, 3.75],\n    aaxis: {\n      tickprefix: \"a = \",\n      smoothing: 0,\n      minorgridcount: 9,\n      type: 'linear'\n},\n    baxis: {\n      tickprefix: \"b = \",\n      smoothing: 0,\n      minorgridcount: 9,\n      type: 'linear'\n    }\n}\n\nvar layout = {\n    title: {\n      text: \"Cheater plot with 1d input\"\n    },\n    margin: {\n      t: 40, r: 30, b: 30, l: 30\n    },\n    yaxis: {\n      range: [0.388,4.361]\n    },\n    xaxis: {\n      range: [0.667,5.932]\n    }\n}\n\nvar data = [trace1,trace2]\n\nPlotly.newPlot('myDiv', data, layout)
"},{"location":"examples/carpet-contour/#add-multiple-traces","title":"add-multiple-traces","text":"
function Get(url){\n    var Httpreq = new XMLHttpRequest();\n    Httpreq.open(\"GET\",url,false);\n    Httpreq.send(null);\n    return Httpreq.responseText;\n}\n\nvar json_obj = JSON.parse(Get(\"https://raw.githubusercontent.com/bcdunbar/datasets/master/airfoil_data.json\"));\n\nvar trace1 = {\n      a: json_obj[0].a,\n      b: json_obj[0].b,\n      baxis: {\n        startline: false,\n        endline: false,\n        showticklabels: \"none\",\n        smoothing: 0,\n        showgrid: false\n      },\n      x: json_obj[0].x,\n      y: json_obj[0].y,\n      type: \"carpet\",\n      aaxis:{\n        startlinewidth: 2,\n        startline: true,\n        showticklabels: \"none\",\n        endline: true,\n        showgrid: false,\n        endlinewidth: 2,\n        smoothing: 0\n      }\n    }\n\n var trace2 = {\n      autocolorscale: false,\n      zmax: 1,\n      name: \"Pressure\",\n      colorscale: \"Viridis\",\n      zmin: -8,\n      colorbar: {\n        y: 0,\n        yanchor: \"bottom\",\n        title: {side:\n          'right'\n        },\n        len: 0.75,\n        title: {\n          text: \"Pressure coefficient, c<sub>p</sub>\"\n        },\n      },\n      contours: {\n        start: -1,\n        size: 0.025,\n        end: 1.000,\n        showlines: false\n      },\n      line: {\n        smoothing: 0\n      },\n      z: json_obj[1].z,\n      type: \"contourcarpet\",\n      autocontour: false,\n      zauto: false\n    }\n\n var trace3 = {\n      opacity: 0.300,\n      showlegend: true,\n      name: \"Streamlines\",\n      autocontour: true,\n      ncontours: 50,\n      contours: {\n        coloring: \"none\"\n      },\n      line: {\n        color: \"white\",\n        width: 1\n      },\n      z: json_obj[2].z,\n      type: \"contourcarpet\"\n    }\n\n var trace4 = {\n      showlegend: true,\n      name: \"Pressure<br>contours\",\n      autocontour: false,\n      z: json_obj[3].z,\n      type: \"contourcarpet\",\n      line: {\n        color: \"rgba(0, 0, 0, 0.5)\",\n        smoothing: 1\n      },\n      contours: {\n        size: 0.250,\n        start: -4,\n        coloring: \"none\",\n        end: 1.000,\n        showlines: true\n      }\n    }\n\n var trace5 = {\n      legendgroup: \"g1\",\n      name: \"Surface<br>pressure\",\n      mode: \"lines\",\n      hoverinfo: \"skip\",\n      x: json_obj[4].x,\n      y: json_obj[4].y,\n      line: {\n        color: \"rgba(255, 0, 0, 0.5)\",\n        width: 1,\n        shape: \"spline\",\n        smoothing: 1\n      },\n      fill: \"toself\",\n      type: \"scatter\",\n      fillcolor: \"rgba(255, 0, 0, 0.2)\"\n    }\n\n var trace6 = {\n      showlegend: false,\n      legendgroup: \"g1\",\n      mode: \"lines\",\n      hoverinfo: \"skip\",\n      x: json_obj[5].x,\n      y: json_obj[5].y,\n      line: {\n        color: \"rgba(255, 0, 0, 0.3)\",\n        width: 1\n      },\n      type: \"scatter\"\n    }\n\n var trace7 = {\n      showlegend: false,\n      legendgroup: \"g1\",\n      name: \"cp\",\n      text: json_obj[6].text,\n      mode: \"lines\",\n      hoverinfo: \"text\",\n      x: json_obj[6].x,\n      y: json_obj[6].y,\n      line: {\n        color: \"rgba(255, 0, 0, 0.2)\",\n        width: 0\n      },\n      type: \"scatter\"\n    }\n\ndata = [trace1,trace2,trace3,trace4,trace5,trace6,trace7]\n\nvar layout = {\n    yaxis: {\n      zeroline: false,\n      range: [-1.800,1.800],\n      showgrid: false\n    },\n    dragmode: \"pan\",\n    height: 700,\n    xaxis: {\n      zeroline: false,\n      scaleratio: 1,\n      scaleanchor: \"y\",\n      range: [-3.800,3.800],\n      showgrid: false\n    },\n    title: {\n      text: \"Flow over a Karman-Trefftz airfoil\"\n    },\n    hovermode: \"closest\",\n    margin: {\n      r: 60,\n      b: 40,\n      l: 40,\n      t: 80\n    },\n    width: 900\n  }\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/carpet-plot/","title":"carpet-plot","text":""},{"location":"examples/carpet-plot/#set-x-and-y-coordinates","title":"set-x-and-y-coordinates","text":"
var data = {\n    type: 'carpet',\n    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10]\n}\n\nvar data = [data]\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/carpet-plot/#add-parameter-values","title":"add-parameter-values","text":"
var data = {\n    type: 'carpet',\n    a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6],\n    b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],\n    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10]\n}\n\nvar data = [data]\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/carpet-plot/#add-a-and-b-axis","title":"add-a-and-b-axis","text":"
var data = {\n    type: 'carpet',\n    a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6],\n    b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],\n    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],\n    aaxis: {\n      tickprefix: 'a = ',\n      ticksuffix: 'm',\n      smoothing: 1,\n      minorgridcount: 9\n    },\n    baxis: {\n      tickprefix: 'b = ',\n      ticksuffix: 'Pa',\n      smoothing: 1,\n      minorgridcount: 9\n    }\n}\n\nvar data = [data]\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/carpet-plot/#style-a-and-b-axis","title":"style-a-and-b-axis","text":"
var trace1 = {\n    type: \"carpet\",\n    a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6],\n    b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],\n    y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],\n    aaxis: {\n        tickprefix: 'a = ',\n        ticksuffix: 'm',\n        smoothing: 1,\n        minorgridcount: 9,\n        minorgridcolor: 'white',\n        gridcolor: 'white',\n        color: 'white'\n    },\n    baxis: {\n        tickprefix: 'b = ',\n        ticksuffix: 'pa',\n        smoothing: 1,\n        minorgridcount: 9,\n        minorgridcolor: 'white',\n        gridcolor: 'white',\n        color: 'white'\n    }\n}\n\nvar layout = {\n  plot_bgcolor: 'black',\n  paper_bgcolor: 'black'\n}\n\nPlotly.newPlot('myDiv', [trace1], layout)
"},{"location":"examples/carpet-plot/#add-points-and-contours","title":"add-points-and-contours","text":"To add points and lines see Carpet Scatter Plots or to add contours see Carpet Contour Plots"},{"location":"examples/carpet-scatter/","title":"carpet-scatter","text":""},{"location":"examples/carpet-scatter/#basic-carpet-plot","title":"basic-carpet-plot","text":"
var trace1 = {\n  type: 'carpet',\n  a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6),\n  b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6),\n  y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],\n  aaxis: {\n    tickprefix: 'a = ',\n    ticksuffix: 'm',\n    smoothing: 1,\n    minorgridcount: 9,\n  },\n  baxis: {\n    tickprefix: 'b = ',\n    ticksuffix: 'Pa',\n    smoothing: 1,\n    minorgridcount: 9,\n  }\n}\n\nvar data = [trace1]\n\nPlotly.newPlot('myDiv', data)
"},{"location":"examples/carpet-scatter/#add-carpet-scatter-trace","title":"add-carpet-scatter-trace","text":"
var trace1 = {\n  type: 'carpet',\n  a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6),\n  b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6),\n  y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],\n  aaxis: {\n    tickprefix: 'a = ',\n    ticksuffix: 'm',\n    smoothing: 1,\n    minorgridcount: 9,\n  },\n  baxis: {\n    tickprefix: 'b = ',\n    ticksuffix: 'Pa',\n    smoothing: 1,\n    minorgridcount: 9,\n  }\n}\n\nvar trace2 = {\n  type: 'scattercarpet',\n  a: [4, 4.5, 5, 6].map(a => a * 1e-6),\n  b: [1.5, 2.5, 1.5, 2.5].map(b => b * 1e6),\n  line: {shape: 'spline', smoothing: 1}\n}\n\nvar data = [trace1,trace2]\n\nPlotly.newPlot('myDiv', data)
"},{"location":"examples/carpet-scatter/#add-multiple-carpet-scatter-traces","title":"add-multiple-carpet-scatter-traces","text":"
var trace1 = {\n      type: \"carpet\",\n      a: [0.1, 0.2, 0.3],\n      b: [1, 2, 3],\n      y: [\n        [1, 2.2, 3],\n        [1.5, 2.7, 3.5],\n        [1.7, 2.9, 3.7]\n      ],\n      cheaterslope: 1,\n      aaxis: {\n        title: {\n          text: \"a\"\n        },\n        tickmode: \"linear\",\n        dtick: 0.05,\n        minorgridcount: 9\n      },\n      baxis: {\n        title: {\n          text: \"b\"\n        },\n        tickmode: \"linear\",\n        dtick: 0.5,\n        minorgridcount: 9\n      }\n}\n\nvar trace2 = {\n  type: \"scattercarpet\",\n  name: \"b = 1.5\",\n  a: [0.05, 0.15, 0.25, 0.35],\n  b: [1.5, 1.5, 1.5, 1.5]\n}\n\nvar trace3 = {\n  type: \"scattercarpet\",\n  name: \"b = 2\",\n  a: [0.05, 0.15, 0.25, 0.35],\n  b: [2, 2, 2, 2]\n}\n\nvar trace4 = {\n  type: \"scattercarpet\",\n  name: \"b = 2.5\",\n  a: [0.05, 0.15, 0.25, 0.35],\n  b: [2.5, 2.5, 2.5, 2.5]\n}\n\nvar trace5 = {\n  type: \"scattercarpet\",\n  name: \"a = 0.15\",\n  a: [0.15, 0.15, 0.15, 0.15],\n  b: [0.5, 1.5, 2.5, 3.5],\n  line: {\n        smoothing: 1,\n        shape: \"spline\"\n  }\n}\n\nvar trace6 = {\n  type: \"scattercarpet\",\n  name: \"a = 0.2\",\n  a: [0.2, 0.2, 0.2, 0.2],\n  b: [0.5, 1.5, 2.5, 3.5],\n  line: {\n        smoothing: 1,\n        shape: \"spline\"\n  },\n  marker: {\n        size: [10, 20, 30, 40],\n        color: [\"#000\", \"#f00\", \"#ff0\", \"#fff\"]\n  }\n}\n\nvar trace7 = {\n  type: \"scattercarpet\",\n  name: \"a = 0.25\",\n  a: [0.25, 0.25, 0.25, 0.25],\n  b: [0.5, 1.5, 2.5, 3.5],\n  line: {\n        smoothing: 1,\n        shape: \"spline\"\n  }\n}\n\nvar data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7]\n\nvar layout = {\n  title: {\n    text: \"scattercarpet extrapolation, clipping, and smoothing\"\n  },\n  hovermode: \"closest\"\n}\n\nPlotly.newPlot('myDiv', data, layout)
"},{"location":"examples/choropleth-maps/","title":"choropleth-maps","text":""},{"location":"examples/choropleth-maps/#world-choropleth-map-(robinson-projection)","title":"world-choropleth-map-(robinson-projection)","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2010_alcohol_consumption_by_country.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\n    var data = [{\n        type: 'choropleth',\n        locationmode: 'country names',\n        locations: unpack(rows, 'location'),\n        z: unpack(rows, 'alcohol'),\n        text: unpack(rows, 'location'),\n        autocolorscale: true\n    }];\n\n    var layout = {\n      title: {text: 'Pure alcohol consumption<br>among adults (age 15+) in 2010'},\n      geo: {\n          projection: {\n              type: 'robinson'\n          }\n      }\n    };\n\n    Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n\n});
"},{"location":"examples/choropleth-maps/#usa-choropleth-map","title":"usa-choropleth-map","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_us_ag_exports.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\n      var data = [{\n          type: 'choropleth',\n          locationmode: 'USA-states',\n          locations: unpack(rows, 'code'),\n          z: unpack(rows, 'total exports'),\n          text: unpack(rows, 'state'),\n          zmin: 0,\n          zmax: 17000,\n          colorscale: [\n              [0, 'rgb(242,240,247)'], [0.2, 'rgb(218,218,235)'],\n              [0.4, 'rgb(188,189,220)'], [0.6, 'rgb(158,154,200)'],\n              [0.8, 'rgb(117,107,177)'], [1, 'rgb(84,39,143)']\n          ],\n          colorbar: {\n              title: {text: 'Millions USD'},\n              thickness: 0.2\n          },\n          marker: {\n              line:{\n                  color: 'rgb(255,255,255)',\n                  width: 2\n              }\n          }\n      }];\n\n\n      var layout = {\n          title: {text: '2011 US Agriculture Exports by State'},\n          geo:{\n              scope: 'usa',\n              showlakes: true,\n              lakecolor: 'rgb(255,255,255)'\n          }\n      };\n\n      Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n});
"},{"location":"examples/choropleth-maps/#country-gdp-choropleth-map","title":"country-gdp-choropleth-map","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_world_gdp_with_codes.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\n       var data = [{\n            type: 'choropleth',\n            locations: unpack(rows, 'CODE'),\n            z: unpack(rows, 'GDP (BILLIONS)'),\n            text: unpack(rows, 'COUNTRY'),\n            colorscale: [\n                [0,'rgb(5, 10, 172)'],[0.35,'rgb(40, 60, 190)'],\n                [0.5,'rgb(70, 100, 245)'], [0.6,'rgb(90, 120, 245)'],\n                [0.7,'rgb(106, 137, 247)'],[1,'rgb(220, 220, 220)']],\n            autocolorscale: false,\n            reversescale: true,\n            marker: {\n                line: {\n                    color: 'rgb(180,180,180)',\n                    width: 0.5\n                }\n            },\n            tick0: 0,\n            zmin: 0,\n            dtick: 1000,\n            colorbar: {\n                autotic: false,\n                tickprefix: '$',\n                title: {text: 'GDP<br>Billions US$'}\n            }\n      }];\n\n      var layout = {\n          title: {text: '2014 Global GDP<br>Source: <a href=\"https://www.cia.gov/library/publications/the-world-factbook/fields/2195.html\"> CIA World Factbook</a>'},\n          geo:{\n              showframe: false,\n              showcoastlines: false,\n              projection:{\n                  type: 'mercator'\n              }\n          }\n      };\n      Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n});
"},{"location":"examples/choropleth-maps/#choropleth-map-of-2014-us-population-by-state","title":"choropleth-map-of-2014-us-population-by-state","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv', function(err, rows){\n                function unpack(rows, key) {\nreturn rows.map(function(row) { return row[key]; });\n}\nvar data = [{\n    type: 'choropleth',\n    locationmode: 'USA-states',\n    locations: unpack(rows, 'Postal'),\n    z: unpack(rows, 'Population'),\n    text: unpack(rows, 'State'),\n    autocolorscale: true\n}];\n\nvar layout = {\ntitle: {text: '2014 US Popultaion by State'},\n    geo:{\n        scope: 'usa',\n        countrycolor: 'rgb(255, 255, 255)',\n        showland: true,\n        landcolor: 'rgb(217, 217, 217)',\n        showlakes: true,\n        lakecolor: 'rgb(255, 255, 255)',\n        subunitcolor: 'rgb(255, 255, 255)',\n        lonaxis: {},\n        lataxis: {}\n    }\n};\nPlotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n});
"},{"location":"examples/choropleth-maps/#choropleth-map-of-florida-counties-colored-by-political-party","title":"choropleth-map-of-florida-counties-colored-by-political-party","text":"
d3.json('https://raw.githubusercontent.com/plotly/datasets/master/florida-red-data.json', function(redjson) {\n\n  d3.json('https://raw.githubusercontent.com/plotly/datasets/master/florida-blue-data.json', function(bluejson) {\n\n    Plotly.newPlot('myDiv', [{\n      type: 'scattermap',\n      lat: [46],\n      lon: [-74]\n    }], {\n      title: {text: \"Florida Counties\"},\n      height: 600,\n      width: 600,\n      map: {\n        center: {\n          lat: 28,\n          lon: -84\n        },\n        style: 'light',\n        zoom: 4.8,\n        layers: [\n          {\n            sourcetype: 'geojson',\n            source: redjson,\n            type: 'fill',\n            color: 'rgba(163,22,19,0.8)'\n          },\n          {\n            sourcetype: 'geojson',\n            source: bluejson,\n            type: 'fill',\n            color: 'rgba(40,0,113,0.8)'\n          },\n        ]\n      }\n    });\n\n\n});\n\n});
"},{"location":"examples/click-events/","title":"click-events","text":""},{"location":"examples/click-events/#click-event-data","title":"click-event-data","text":"
{\n  points: [{\n    curveNumber: 2,  // index in data of the trace associated with the selected point\n    pointNumber: 2,  // index of the selected point\n    x: 5,        // x value\n    y: 600,      // y value\n    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point\n    fullData: {/* */},   // ref to the trace including all the defaults\n   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point\n   yaxis: {/* */}    // ref to y-axis object \" \"\n  }, {\n    /* similarly for other selected points */\n  }]\n}
"},{"location":"examples/click-events/#binding-to-click-events","title":"binding-to-click-events","text":"
var myPlot = document.getElementById('myDiv'),\n    N = 16,\n    x = d3.range(N),\n    y = d3.range(N).map( d3.random.normal() ),\n    data = [ { x:x, y:y, type:'scatter',\n            mode:'markers', marker:{size:16} } ],\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Click on Points'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_click', function(data){\n    var pts = '';\n    for(var i=0; i < data.points.length; i++){\n        pts = 'x = '+data.points[i].x +'\\ny = '+\n            data.points[i].y.toPrecision(4) + '\\n\\n';\n    }\n    alert('Closest point clicked:\\n\\n'+pts);\n});
"},{"location":"examples/click-events/#create-annotation-on-click-event","title":"create-annotation-on-click-event","text":"
var myPlot = document.getElementById('myDiv'),\n    N = 100,\n    x = d3.range(N),\n    y1 = d3.range(N).map( d3.random.normal() ),\n    y2 = d3.range(N).map( d3.random.normal(-2) ),\n    y3 = d3.range(N).map( d3.random.normal(2) ),\n    trace1 = { x:x, y:y1, type:'scatter', mode:'lines', name:'Jeff' },\n    trace2 = { x:x, y:y2, type:'scatter', mode:'lines', name:'Terren' },\n    trace3 = { x:x, y:y3, type:'scatter', mode:'lines', name:'Arthur' },\n    data = [ trace1, trace2, trace3 ],\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Click on Points to add an Annotation on it'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_click', function(data){\n    var pts = '';\n    for(var i=0; i < data.points.length; i++){\n        annotate_text = 'x = '+data.points[i].x +\n                      'y = '+data.points[i].y.toPrecision(4);\n\n        annotation = {\n          text: annotate_text,\n          x: data.points[i].x,\n          y: parseFloat(data.points[i].y.toPrecision(4))\n        }\n\n        annotations = self.layout.annotations || [];\n        annotations.push(annotation);\n        Plotly.relayout('myDiv',{annotations: annotations})\n    }\n});
"},{"location":"examples/colorway/","title":"colorway","text":""},{"location":"examples/colorway/#set-default-trace-colors-with-colorway","title":"set-default-trace-colors-with-colorway","text":"
function linspace(a,b,n) {\n  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});\n}\n\nconst parabolaGen = (a, b) =>\n  x => x*x*a + b;\n\nvar as = linspace(1, 3, 7);\nvar bs = linspace(2, 14, 7);\nvar x = linspace(-1, 3, 50);\nvar data = [];\n\nfor (i=0; i< as.length; i++ ){\n  data.push({\n    type: \"scatter\",\n    mode: \"lines\",\n    x: x,\n    y: x.map(parabolaGen(as[i],bs[i]))\n  })\n}\n\nvar layout = {\n  colorway : ['#f3cec9', '#e7a4b6', '#cd7eaf', '#a262a9', '#6f4d96', '#3d3b72', '#182844']\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/cone-plot/","title":"cone-plot","text":""},{"location":"examples/cone-plot/#basic-3d-cone","title":"basic-3d-cone","text":"
var data = [{\n  type: \"cone\",\n  x: [1], y: [1], z: [1],\n  u: [1], v: [1], w: [0]\n}]\n\nvar layout = {\n  \"scene\": {\n    \"camera\": {\n      \"eye\": {x: -0.76, y: 1.8, z: 0.92}\n    }\n  }\n}\n\nPlotly.newPlot('myDiv',data,layout)
"},{"location":"examples/cone-plot/#multiple-3d-cone","title":"multiple-3d-cone","text":"
var data = [{\n      type: \"cone\",\n      x: [1, 2, 3],\n      y: [1, 2, 3],\n      z: [1, 2, 3],\n      u: [1, 0, 0],\n      v: [0, 3, 0],\n      w: [0, 0, 2],\n      sizemode: \"absolute\",\n      sizeref: 2,\n      anchor: \"tip\",\n      colorbar: {\n        x: 0,\n        xanchor: \"right\",\n        side: \"left\"\n      }\n}]\n\nvar layout = {\n    scene: {\n      domain: {x: [0, 1]},\n      camera: {\n        eye: {x: -1.57, y: 1.36, z: 0.58}\n      }\n    },\n    width: 800\n}\n\nPlotly.newPlot('myDiv', data, layout)
"},{"location":"examples/cone-plot/#3d-cone-lighting","title":"3d-cone-lighting","text":"
var data = [{\n    type: \"cone\",\n    name: \"base\",\n    x: [1, 1, 1],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false\n  },\n  {\n    type: \"cone\",\n    name: \"opacity:0.3\",\n    x: [2, 2, 2],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false,\n    opacity: 0.3\n  },\n  {\n    type: \"cone\",\n    name: \"lighting.ambient:0.3\",\n    x: [3, 3, 3],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false,\n    lighting: {ambient: 0.3}\n  },\n  {\n    type: \"cone\",\n    name: \"lighting.diffuse:0.3\",\n    x: [4, 4, 4],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false,\n    lighting: {diffuse: 0.3}\n  },\n  {\n    type: \"cone\",\n    name: \"lighting.specular:2\",\n    x: [5, 5, 5],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false,\n    lighting: {specular: 2}\n  },\n  {\n    type: \"cone\",\n    name: \"lighting.roughness:1\",\n    x: [6, 6, 6],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false,\n    lighting: {roughness: 1}\n  },\n  {\n    type: \"cone\",\n    name: \"lighting.fresnel:2\",\n    x: [7, 7, 7],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false,\n    lighting: {fresnel: 2}\n  },\n  {\n    type: \"cone\",\n    name: \"lighting.position x:0,y:0,z:1e5\",\n    x: [8, 8, 8],\n    y: [1, 2, 3],\n    z: [1, 1, 1],\n    u: [1, 2, 3],\n    v: [1, 1, 2],\n    w: [4, 4, 1],\n    hoverinfo: \"u+v+w+name\",\n    showscale: false,\n    lightposition: {x: 0, y: 0, z: 1e5}\n}]\n\nvar layout = {\n  scene: {\n    aspectmode: \"data\",\n    camera: {\n      eye: {x: 0.05, y: -2.6, z: 2}\n    }\n  },\n  width: 500,\n  height: 500,\n  margin: {t: 0, b: 0, l: 0, r: 0}\n}\n\nPlotly.newPlot('myDiv',data,layout)
"},{"location":"examples/configuration-options/","title":"configuration-options","text":""},{"location":"examples/configuration-options/#scroll-and-zoom","title":"scroll-and-zoom","text":"
// mousewheel or two-finger scroll zooms the plot\n\nvar trace1 = {\n    x:['2020-10-04', '2021-11-04', '2023-12-04'],\n    y: [90, 40, 60],\n    type: 'scatter'\n};\n\nvar data = [trace1];\n\nvar layout = {\n    title: {\n        text: 'Scroll and Zoom'\n    },\n    showlegend: false\n};\n\nPlotly.newPlot('myDiv', data, layout, {scrollZoom: true});
"},{"location":"examples/configuration-options/#editable-mode","title":"editable-mode","text":"

In editable mode, users can edit the chart title, axis labels and trace names in the legend.

var trace1 = {\n  x: [0, 1, 2, 3, 4],\n  y: [1, 5, 3, 7, 5],\n  mode: 'lines+markers',\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4, 5],\n  y: [4, 0, 4, 6, 8],\n  mode: 'lines+markers',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\nvar layout = {\n  title: {\n      text: 'Click Here<br>to Edit Chart Title'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout, {editable: true});
"},{"location":"examples/configuration-options/#making-a-static-chart","title":"making-a-static-chart","text":"
var trace1 = {\n    x: [0, 1, 2, 3, 4, 5, 6],\n    y: [1, 9, 4, 7, 5, 2, 4],\n    mode: 'markers',\n    marker: {\n        size: [20, 40, 25, 10, 60, 90, 30],\n    }\n};\n\nvar data = [trace1];\n\nvar layout = {\n    title: {\n        text: 'Create a Static Chart'\n    },\n    showlegend: false\n};\n\nPlotly.newPlot('myDiv', data, layout, {staticPlot: true});
"},{"location":"examples/configuration-options/#customize-download-plot-options","title":"customize-download-plot-options","text":"
var trace1 = {\n    x: [0, 1, 2, 3, 4, 5, 6],\n    y: [1, 9, 4, 7, 5, 2, 4],\n    mode: 'markers',\n    marker: {\n        size: [20, 40, 25, 10, 60, 90, 30],\n    }\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n      text: 'Download Chart as SVG instead of PNG'\n  },\n  showlegend: false\n};\n\nvar config = {\n  toImageButtonOptions: {\n    format: 'svg', // one of png, svg, jpeg, webp\n    filename: 'custom_image',\n    height: 500,\n    width: 700,\n    scale: 1 // Multiply title/legend/axis/canvas sizes by this factor\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout, config);
"},{"location":"examples/configuration-options/#force-the-modebar-to-always-be-visible","title":"force-the-modebar-to-always-be-visible","text":"

When users hover over a figure generated with plotly.js, a modebar appears in the top-right of the figure. This presents users with several options for interacting with the figure.

By default, the modebar is only visible while the user is hovering over the chart. If you would like the modebar to always be visible regardless of whether or not the user is currently hovering over the figure, set the displayModeBar attribute in the config of your figure to true.

var data = [{\n    y:['Marc', 'Henrietta', 'Jean', 'Claude', 'Jeffrey', 'Jonathan', 'Jennifer', 'Zacharias'],\n      x: [90, 40, 60, 80, 75, 92, 87, 73],\n      type: 'bar',\n      orientation: 'h'}]\n\nvar layout = {\n    title: {\n        text: 'Always Display the Modebar'\n    },\n    showlegend: false\n}\n\nPlotly.newPlot('myDiv', data, layout, {displayModeBar: true})
"},{"location":"examples/configuration-options/#never-display-the-modebar","title":"never-display-the-modebar","text":"

When users hover over a figure generated with plotly.js, a modebar appears in the top-right of the figure. This presents users with several options for interacting with the figure.

By default, the modebar is only visible while the user is hovering over the chart. If you would like the modebar to never be visible, then set the displayModeBar attribute in the config of your figure to false.

var trace1 = {\n    x:['Zebras', 'Lions', 'Pelicans'],\n    y: [90, 40, 60],\n    type: 'bar',\n    name: 'New York Zoo'\n};\n\nvar trace2 = {\n    x:['Zebras', 'Lions', 'Pelicans'],\n    y: [10, 80, 45],\n    type: 'bar',\n    name: 'San Francisco Zoo'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n    title: {\n        text: 'Hide the Modebar'\n    },\n    showlegend: true\n};\n\nPlotly.newPlot('myDiv', data, layout, {displayModeBar: false});
"},{"location":"examples/configuration-options/#remove-modebar-buttons","title":"remove-modebar-buttons","text":"

To delete buttons from the modebar, pass an array of strings containing the names of the buttons you want to remove to the modeBarButtonsToRemove attribute in the figure's configuration object. Note that different chart types have different default modebars. The following is a list of all the modebar buttons and the chart types they are associated with:

  • -'2D', `zoom2d`, `pan2d`, `select2d`, `lasso2d`, `zoomIn2d`, `zoomOut2d`, `autoScale2d`, `resetScale2d`
  • -'3D', `zoom3d`, `pan3d`, `orbitRotation`, `tableRotation`, `handleDrag3d`, `resetCameraDefault3d`, `resetCameraLastSave3d`, `hoverClosest3d`
  • -'Cartesian', `hoverClosestCartesian`, `hoverCompareCartesian`
  • -'Geo', `zoomInGeo`, `zoomOutGeo`, `resetGeo`, `hoverClosestGeo`
  • -'Other', `hoverClosestGl2d`, `hoverClosestPie`, `toggleHover`, `resetViews`, `toImage`, `sendDataToCloud`, `toggleSpikelines`, `resetViewMapbox`

var data = [{\n    x:['trees', 'flowers', 'hedges'],\n    y: [90, 130, 40],\n    type: 'bar'}]\n\nvar layout = {\n    title: {\n        text: 'Remove Modebar Buttons'\n    },\n    showlegend: false\n}\n\nPlotly.newPlot('myDiv', data, layout, {modeBarButtonsToRemove: ['toImage']})
"},{"location":"examples/configuration-options/#add-buttons-to-modebar","title":"add-buttons-to-modebar","text":"

The following example shows how to add a button to your modebar, either by using one of the Plotly icons or an arbitrary icon with a custom behaviour.

var icon1 = {\n  'width': 500,\n  'height': 600,\n  'path': 'M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z'\n}\n\nvar colors = ['green', 'red', 'blue']\nvar data = [{\n  mode: 'lines',\n  y: [2, 1, 2],\n  line: {color: colors[0], width: 3, shape: 'spline'}\n}]\n\nvar layout = {\n  title: {\n    text: 'add mode bar button with custom icon'\n  }\n}\n\nvar config = {\n  displayModeBar: true,\n  modeBarButtonsToAdd: [\n    {\n      name: 'color toggler',\n      icon: icon1,\n      click: function(gd) {\n        var newColor = colors[Math.floor(3 * Math.random())]\n        Plotly.restyle(gd, 'line.color', newColor)\n      }},\n    {\n      name: 'button1',\n      icon: Plotly.Icons.pencil,\n      direction: 'up',\n      click: function(gd) {alert('button1')\n    }}],\n  modeBarButtonsToRemove: ['pan2d','select2d','lasso2d','resetScale2d','zoomOut2d']}\n\nPlotly.newPlot('myDiv', data, layout, config)
"},{"location":"examples/configuration-options/#disabling-buttons-for-specific-axes","title":"disabling-buttons-for-specific-axes","text":"

New in 3.1

Disabling the zoom in, zoom out, and autoscale buttons for specific axes is supported on cartesian axes using the modebardisable attribute. In the following example, the zoom in and zoom out buttons are disabled on the xaxis, meaning these buttons only zoom in and out on the yaxis. Disable the autoscale button using modebardisable='autoscale'. You can also disable both autoscaling and zoom buttons using modebardisable='zoominout+autoscale'.

var data = [{\n  type: \"scatter\",\n  mode: \"lines+markers\",\n  x: [\"2023-01-01\", \"2023-02-01\", \"2023-03-01\", \"2023-04-01\", \"2023-05-01\", \"2023-06-01\"],\n  y: [150, 160, 155, 170, 165, 180],\n  name: \"Google Stock Price\"\n}];\n\nvar layout = {\n  title: \"Google Stock Price Over Time with Mode Bar Disabled\",\n  xaxis: {\n    title: \"Date\",\n    type: \"date\",\n    // Try zooming in or out using the modebar buttons. These only apply to the yaxis in this example.\n    modebardisable: \"zoominout\"\n  },\n  yaxis: {\n    title: \"Stock Price (USD)\"\n  }\n};\n\nPlotly.newPlot(\"myDiv\", data, layout);
"},{"location":"examples/configuration-options/#display-the-`edit-chart`-link","title":"display-the-`edit-chart`-link","text":"

Note: showLink now defaults to false.

var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6],\n  y: [1, 9, 4, 7, 5, 2, 4],\n  mode: 'lines+markers',\n  type: 'scatter'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n      text: 'Display the Edit Chart Link'\n  }\n};\n\nvar config = {\n  showLink: true,\n  plotlyServerURL: \"https://chart-studio.plotly.com\"\n};\n\nPlotly.newPlot('myDiv', data, layout, config);
"},{"location":"examples/configuration-options/#customize-the-`edit-chart`-link-text","title":"customize-the-`edit-chart`-link-text","text":"
var data = [{\n  z: [[0, 1, 2, 3, 4, 5, 6],\n      [1, 9, 4, 7, 5, 2, 4],\n      [2, 4, 2, 1, 6, 9, 3]],\n  type: 'heatmap'}]\n\nvar layout = {\n  title: {\n      text: 'Customize The Edit Chart Link Text'\n  }\n};\n\nvar config = {\n  showLink: true,\n  plotlyServerURL: \"https://chart-studio.plotly.com\",\n  linkText: 'This text is custom!'\n};\n\nPlotly.newPlot('myDiv', data, layout, config)
"},{"location":"examples/configuration-options/#display-edit-in-chart-studio-modebar-button","title":"display-edit-in-chart-studio-modebar-button","text":"
var data = [{\n  values: [19, 26, 55],\n  labels: ['Residential', 'Non-Residential', 'Utility'],\n  type: 'pie'\n}];\n\nvar layout = {\n  title: {\n      text: 'Show Edit in Chart Studio Modebar Button'\n  }\n};\n\nvar config = {\n  showEditInChartStudio: true,\n  plotlyServerURL: \"https://chart-studio.plotly.com\"\n};\n\nPlotly.newPlot('myDiv', data, layout, config);
"},{"location":"examples/configuration-options/#change-the-default-locale","title":"change-the-default-locale","text":"

Load and register a non-default locale by adding <script src=\"https://cdn.plot.ly/plotly-locale-YOUR-LOCALE-latest.js\"></script> to your HTML after the plotly.js tag and then reference the locale in the config. For Example, the codepen example below has <script src=\"https://cdn.plot.ly/plotly-locale-fr-latest.js\"></script> in its HTML. For more information and a list of available locales, see https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization

var trace1 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  x: ['2018-01-01', '2018-08-31'],\n  y: [10, 5],\n  line: {color: '#17BECF'}\n};\n\nvar trace2 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  x: ['2018-01-01', '2018-08-31'],\n  y: [3,7],\n  line: {color: '#7F7F7F'}\n};\n\nvar data = [trace1,trace2];\n\nvar layout = {\n  title: {\n    text: 'Custom Locale'\n  }\n};\n\nvar config = {locale: 'fr'};\n\nPlotly.newPlot('myDiv', data, layout, config);
"},{"location":"examples/configuration-options/#hide-the-plotly-logo-on-the-modebar","title":"hide-the-plotly-logo-on-the-modebar","text":"
var trace1 = {\n    x:['trees', 'flowers', 'hedges'],\n    y: [90, 130, 40],\n    type: 'bar'\n};\n\nvar data = [trace1];\n\nvar layout = {\n    title: {\n        text: 'Hide the Plotly Logo on the Modebar'\n    },\n    showlegend: false\n};\n\nPlotly.newPlot('myDiv', data, layout, {displaylogo: false});
"},{"location":"examples/configuration-options/#making-a-responsive-chart","title":"making-a-responsive-chart","text":"
var trace1 = {\n    type: 'bar',\n    x: [1, 2, 3, 4],\n    y: [5, 10, 2, 8],\n    marker: {\n        color: '#C8A2C8',\n        line: {\n            width: 2.5\n        }\n    }\n};\n\nvar data = [ trace1 ];\n\nvar layout = {\n    title: {\n      text: 'Responsive to window size!'\n    },\n    font: {size: 18}\n};\n\nPlotly.newPlot('myDiv', data, layout, {responsive: true});
"},{"location":"examples/configuration-options/#double-click-delay","title":"double-click-delay","text":"

Sets the maximum delay between two consecutive clicks to be interpreted as a double-click in ms. This is the time interval between first mousedown, and' second mouseup. The default timing is 300 ms (less than half a second). This setting propagates to all on-subplot double clicks, (except for geo, map, and mapbox).

var data = [{\n  type: \"bar\",\n  y: [3, 5, 3, 2],\n  x: [\"2019-09-02\", \"2019-10-10\", \"2019-11-12\", \"2019-12-22\"]\n}];\n\nvar layout = {xaxis: {type: 'date'}};\n\nvar config = {doubleClickDelay: 1000}\n\nPlotly.newPlot(\"myDiv\", data, layout, config)
"},{"location":"examples/continuous-error-bars/","title":"continuous-error-bars","text":""},{"location":"examples/continuous-error-bars/#filled-lines","title":"filled-lines","text":"
var trace1 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], \n  y: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], \n  fill: \"tozerox\", \n  fillcolor: \"rgba(0,100,80,0.2)\", \n  line: {color: \"transparent\"}, \n  name: \"Fair\", \n  showlegend: false, \n  type: \"scatter\"\n};\nvar trace2 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], \n  y: [5.5, 3, 5.5, 8, 6, 3, 8, 5, 6, 5.5, 4.75, 5, 4, 7, 2, 4, 7, 4.4, 2, 4.5], \n  fill: \"tozerox\", \n  fillcolor: \"rgba(0,176,246,0.2)\", \n  line: {color: \"transparent\"}, \n  name: \"Premium\", \n  showlegend: false, \n  type: \"scatter\"\n};\nvar trace3 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], \n  y: [11, 9, 7, 5, 3, 1, 3, 5, 3, 1, -1, 1, 3, 1, -0.5, 1, 3, 5, 7, 9], \n  fill: \"tozerox\", \n  fillcolor: \"rgba(231,107,243,0.2)\", \n  line: {color: \"transparent\"}, \n  name: \"Ideal\", \n  showlegend: false, \n  type: \"scatter\"\n};\nvar trace4 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], \n  y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], \n  line: {color: \"rgb(0,100,80)\"}, \n  mode: \"lines\", \n  name: \"Fair\", \n  type: \"scatter\"\n};\nvar trace5 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], \n  y: [5, 2.5, 5, 7.5, 5, 2.5, 7.5, 4.5, 5.5, 5], \n  line: {color: \"rgb(0,176,246)\"}, \n  mode: \"lines\", \n  name: \"Premium\", \n  type: \"scatter\"\n};\nvar trace6 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], \n  y: [10, 8, 6, 4, 2, 0, 2, 4, 2, 0], \n  line: {color: \"rgb(231,107,243)\"}, \n  mode: \"lines\", \n  name: \"Ideal\", \n  type: \"scatter\"\n};\nvar data = [trace1, trace2, trace3, trace4, trace5, trace6];\nvar layout = {\n  paper_bgcolor: \"rgb(255,255,255)\", \n  plot_bgcolor: \"rgb(229,229,229)\", \n  xaxis: {\n    gridcolor: \"rgb(255,255,255)\", \n    range: [1, 10], \n    showgrid: true, \n    showline: false, \n    showticklabels: true, \n    tickcolor: \"rgb(127,127,127)\", \n    ticks: \"outside\", \n    zeroline: false\n  }, \n  yaxis: {\n    gridcolor: \"rgb(255,255,255)\", \n    showgrid: true, \n    showline: false, \n    showticklabels: true, \n    tickcolor: \"rgb(127,127,127)\", \n    ticks: \"outside\", \n    zeroline: false\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/continuous-error-bars/#asymmetric-error-bars-with-a-constant-offset","title":"asymmetric-error-bars-with-a-constant-offset","text":"
function random_date(start, end, mul)\n  {\n    return new Date(start.getTime() + mul * (end.getTime() - start.getTime()));\n  }\n\nfunction date_list(y1,m1,d1,y2,m2,d2,count)\n  {\n    var a =[];\n    for(i=0;i<count;i++)\n    {\n      a.push(random_date(new Date(y1, m1, d1), new Date(y2,m2,d2),i));\n    }\n      return a;\n  }\n\nfunction random_number(num , mul)\n  {\n     var value = [ ];\n     for(i=0;i<=num;i++)\n      {\n        var rand = Math.random() * mul;\n        value.push(rand);\n      }\n     return value;\n  }\n\nvar trace1 = {\n  x: date_list(2001,01,01,2001,02,01,50),\n  y: random_number(50,20),\n  line: {width: 0},\n  marker: {color: \"444\"},\n  mode: \"lines\",\n  name: \"Lower Bound\",\n  type: \"scatter\"\n};\n\nvar trace2 = {\n  x: date_list(2001,01,01,2001,02,01,50),\n  y: random_number(50,21),\n  fill: \"tonexty\",\n  fillcolor: \"rgba(68, 68, 68, 0.3)\",\n  line: {color: \"rgb(31, 119, 180)\"},\n  mode: \"lines\",\n  name: \"Measurement\",\n  type: \"scatter\"\n};\n\nvar trace3 = {\n  x: date_list(2001,01,01,2001,02,01,50),\n  y: random_number(50,22),\n  fill: \"tonexty\",\n  fillcolor: \"rgba(68, 68, 68, 0.3)\",\n  line: {width: 0},\n  marker: {color: \"444\"},\n  mode: \"lines\",\n  name: \"Upper Bound\",\n  type: \"scatter\"\n}\n\nvar data = [trace1, trace2, trace3];\nvar layout = {\n  showlegend: false,\n  title: {\n    text: \"Continuous, variable value error bars<br>Notice the hover text!\"\n  },\n  yaxis: {\n    title: {\n      text: \"Wind speed (m/s)\"\n    }\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/","title":"contour-plots","text":""},{"location":"examples/contour-plots/#simple-contour-plot","title":"simple-contour-plot","text":"
var size = 100, x = new Array(size), y = new Array(size), z = new Array(size), i, j;\n\nfor(var i = 0; i < size; i++) {\n    x[i] = y[i] = -2 * Math.PI + 4 * Math.PI * i / size;\n    z[i] = new Array(size);\n}\n\nfor(var i = 0; i < size; i++) {\n    for(j = 0; j < size; j++) {\n        var r2 = x[i]*x[i] + y[j]*y[j];\n        z[i][j] = Math.sin(x[i]) * Math.cos(y[j]) * Math.sin(r2) / Math.log(r2+1);\n    }\n}\n\nvar data = [ {\n        z: z,\n        x: x,\n        y: y,\n        type: 'contour'\n    }\n];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/contour-plots/#basic-contour-plot","title":"basic-contour-plot","text":"
var data = [ {\n        z: [[10, 10.625, 12.5, 15.625, 20],\n    [5.625, 6.25, 8.125, 11.25, 15.625],\n    [2.5, 3.125, 5.0, 8.125, 12.5],\n    [0.625, 1.25, 3.125, 6.25, 10.625],\n    [0, 0.625, 2.5, 5.625, 10]],\n        type: 'contour'\n    }\n];\n\nvar layout = {\n  title: {\n    text: 'Basic Contour Plot'\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#setting-x-and-y-coordinates-in-a-contour-plot","title":"setting-x-and-y-coordinates-in-a-contour-plot","text":"
var data = [{\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  x: [-9, -6, -5 , -3, -1],\n  y: [0, 1, 4, 5, 7],\n  type: 'contour'\n}];\n\nvar layout = {\n  title: {\n    text: 'Setting the X and Y Coordinates in a Contour Plot'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#colorscale-for-contour-plot","title":"colorscale-for-contour-plot","text":"
var data = [{\n  z: [[10, 10.625, 12.5, 15.625, 20],\n     [5.625, 6.25, 8.125, 11.25, 15.625],\n     [2.5, 3.125, 5., 8.125, 12.5],\n     [0.625, 1.25, 3.125, 6.25, 10.625],\n     [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorscale: 'Jet',\n}];\n\nvar layout = {\n  title: {\n    text: 'Colorscale for Contour Plot'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#customizing-size-and-range-of-a-contour-plot's-contours","title":"customizing-size-and-range-of-a-contour-plot's-contours","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorscale: 'Jet',\n  autocontour: false,\n  contours: {\n    start: 0,\n    end: 8,\n    size: 2\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Customizing Size and Range of Contours'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#customizing-spacing-between-x-and-y-ticks","title":"customizing-spacing-between-x-and-y-ticks","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorscale: 'Jet',\n  dx: 10,\n  x0: 5,\n  dy: 10,\n  y0: 10\n}];\n\nvar layout = {\n  title: {\n    text: 'Customizing Spacing Between X and Y Axis Ticks'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#connect-the-gaps-between-null-values-in-the-z-matrix","title":"connect-the-gaps-between-null-values-in-the-z-matrix","text":"
var trace1 = {\n  z: [[null, null, null, 12, 13, 14, 15, 16],\n      [null, 1, null, 11, null, null, null, 17],\n      [null, 2, 6, 7, null, null, null, 18],\n      [null, 3, null, 8, null, null, null, 19],\n      [5, 4, 10, 9, null, null, null, 20],\n      [null, null, null, 27, null, null, null, 21],\n      [null, null, null, 26, 25, 24, 23, 22]],\n  type: 'contour',\n  showscale: false,\n  xaxis: 'x1',\n  yaxis: 'y1'\n};\n\nvar trace2 = {\n  z: [[null, null, null, 12, 13, 14, 15, 16],\n      [null, 1, null, 11, null, null, null, 17],\n      [null, 2, 6, 7, null, null, null, 18],\n      [null, 3, null, 8, null, null, null, 19],\n      [5, 4, 10, 9, null, null, null, 20],\n      [null, null, null, 27, null, null, null, 21],\n      [null, null, null, 26, 25, 24, 23, 22]],\n  connectgaps: true,\n  type: 'contour',\n  showscale: false,\n  xaxis: 'x2',\n  yaxis: 'y2'\n};\n\nvar trace3 = {\n  z: [[null, null, null, 12, 13, 14, 15, 16],\n      [null, 1, null, 11, null, null, null, 17],\n      [null, 2, 6, 7, null, null, null, 18],\n      [null, 3, null, 8, null, null, null, 19],\n      [5, 4, 10, 9, null, null, null, 20],\n      [null, null, null, 27, null, null, null, 21],\n      [null, null, null, 26, 25, 24, 23, 22]],\n  zsmooth: 'best',\n  type: 'heatmap',\n  showscale: false,\n  xaxis: 'x3',\n  yaxis: 'y3'\n};\n\nvar trace4 = {\n  z: [[null, null, null, 12, 13, 14, 15, 16],\n      [null, 1, null, 11, null, null, null, 17],\n      [null, 2, 6, 7, null, null, null, 18],\n      [null, 3, null, 8, null, null, null, 19],\n      [5, 4, 10, 9, null, null, null, 20],\n      [null, null, null, 27, null, null, null, 21],\n      [null, null, null, 26, 25, 24, 23, 22]],\n  zsmooth: 'best',\n  type: 'heatmap',\n  showscale: false,\n  connectgaps: true,\n  xaxis: 'x4',\n  yaxis: 'y4'\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {\n    text: 'Connect the Gaps Between Null Values in the Z Matrix'\n  },\n  xaxis: {domain: [0, 0.45],\n    anchor: 'y1'},\n  yaxis: {domain: [0.55, 1],\n    anchor: 'x1'},\n  xaxis2: {domain: [0.55, 1],\n    anchor: 'y2'},\n  yaxis2: {domain: [0.55, 1],\n    anchor: 'x2'},\n  xaxis3: {domain: [0, 0.45],\n    anchor: 'y3'},\n  yaxis3: {domain: [0, 0.45],\n    anchor: 'x3'},\n  xaxis4: {domain: [0.55, 1],\n    anchor: 'y4'},\n  yaxis4: {domain: [0, 0.45],\n    anchor: 'x4'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#smoothing-contour-lines","title":"smoothing-contour-lines","text":"
var data = [ {\n  z: [[2, 4, 7, 12, 13, 14, 15, 16],\n   [3, 1, 6, 11, 12, 13, 16, 17],\n   [4, 2, 7, 7, 11, 14, 17, 18],\n   [5, 3, 8, 8, 13, 15, 18, 19],\n   [7, 4, 10, 9, 16, 18, 20, 19],\n   [9, 10, 5, 27, 23, 21, 21, 21],\n   [11, 14, 17, 26, 25, 24, 23, 22]],\n  type: 'contour',\n  line:{\n    smoothing: 0\n  },\n  xaxis: 'x1',\n  yaxis: 'y1'\n},\n{\n  z: [[2, 4, 7, 12, 13, 14, 15, 16],\n   [3, 1, 6, 11, 12, 13, 16, 17],\n   [4, 2, 7, 7, 11, 14, 17, 18],\n   [5, 3, 8, 8, 13, 15, 18, 19],\n   [7, 4, 10, 9, 16, 18, 20, 19],\n   [9, 10, 5, 27, 23, 21, 21, 21],\n   [11, 14, 17, 26, 25, 24, 23, 22]],\n  type: 'contour',\n  line:{\n    smoothing: 0.85\n  },\n  xaxis: 'x2',\n  yaxis: 'y2'\n}];\n\nvar layout = {\n  title: {\n    text: 'Smoothing Contour Lines'\n  },\n  xaxis: {domain: [0, 0.45],\n     anchor: 'y1'},\n  yaxis: {domain: [0, 1],\n         anchor: 'x1'},\n  xaxis2: {domain: [0.55, 1],\n         anchor: 'y2'},\n  yaxis2: {domain: [0, 1],\n         anchor: 'x2'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#contour-lines","title":"contour-lines","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorscale: 'Jet',\n  contours:{\n    coloring: 'lines'\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Contour Lines'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#smooth-contour-coloring","title":"smooth-contour-coloring","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  contours: {\n    coloring: 'heatmap'\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Smooth Contour Coloring'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#contour-line-labels","title":"contour-line-labels","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n      [5.625, 6.25, 8.125, 11.25, 15.625],\n      [2.5, 3.125, 5.0, 8.125, 12.5],\n      [0.625, 1.25, 3.125, 6.25, 10.625],\n      [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  contours: {\n    coloring: 'heatmap',\n    showlabels: true,\n    labelfont: {\n      family: 'Raleway',\n      size: 12,\n      color: 'white',\n    }\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Contour with Labels'\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#custom-colorscale-for-contour-plot","title":"custom-colorscale-for-contour-plot","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorscale: [[0, 'rgb(166,206,227)'], [0.25, 'rgb(31,120,180)'], [0.45, 'rgb(178,223,138)'], [0.65, 'rgb(51,160,44)'], [0.85, 'rgb(251,154,153)'], [1, 'rgb(227,26,28)']]\n}\n];\n\nvar layout = {\n  title: {\n    text: 'Custom Contour Plot Colorscale'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#color-bar-title","title":"color-bar-title","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorbar:{\n    title: {\n      text: 'Color Bar Title',\n      side: 'right',\n      font: {\n        size: 14,\n        family: 'Arial, sans-serif'\n      }\n    }\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Colorbar with a Title'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#color-bar-size","title":"color-bar-size","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorbar:{\n    thickness: 75,\n    thicknessmode: 'pixels',\n    len: 0.9,\n    lenmode: 'fraction',\n    outlinewidth: 0\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Colorbar Size for Contour Plots'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/contour-plots/#styling-color-bar-ticks-for-contour-plots","title":"styling-color-bar-ticks-for-contour-plots","text":"
var data = [ {\n  z: [[10, 10.625, 12.5, 15.625, 20],\n       [5.625, 6.25, 8.125, 11.25, 15.625],\n       [2.5, 3.125, 5., 8.125, 12.5],\n       [0.625, 1.25, 3.125, 6.25, 10.625],\n       [0, 0.625, 2.5, 5.625, 10]],\n  type: 'contour',\n  colorbar:{\n    ticks: 'outside',\n    dtick: 1,\n    tickwidth: 2,\n    ticklen: 10,\n    tickcolor: 'grey',\n    showticklabels: true,\n    tickfont: {\n      size: 15\n    },\n    xpad: 50\n  }\n}];\n\nvar layout = {\n  title: {\n    text: 'Styling Color Bar Ticks for Contour Plots'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/custom-buttons/","title":"custom-buttons","text":""},{"location":"examples/custom-buttons/#restyle-button-single-attribute","title":"restyle-button-single-attribute","text":"

The restyle method should be used when modifying the data and data attributes of the graph This example demonstrates how to update a single data attribute: chart type with the restyle method.

d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\nvar z_data=[ ]\nfor(i=0;i<24;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n        z: z_data,\n        type:'surface',\n        colorscale:'Viridis'\n}]\n\nvar updatemenus=[\n    {\n        buttons: [\n            {\n                args: ['type', 'surface'],\n                label: '3D Surface',\n                method: 'restyle'\n            },\n            {\n                args: ['type', 'heatmap'],\n                label:'Heatmap',\n                method:'restyle'\n            }\n        ],\n        direction: 'left',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'buttons',\n        x: 0.1,\n        xanchor: 'left',\n        y: 1.1,\n        yanchor: 'top'\n    }\n]\n\nvar annotations = [\n    {\n      text: 'Trace type:',\n      x: 0,\n      y: 1.085,\n      yref: 'paper',\n      align: 'left',\n      showarrow: false\n    }\n]\n\nvar layout = {\n    width: 800,\n    height: 900,\n    autosize: false,\n    margin: {t: 0, b: 0, l: 0, r: 0},\n    updatemenus: updatemenus,\n    annotations: annotations,\n    scene: {\n        xaxis:{\n            gridcolor: 'rgb(255, 255, 255)',\n            zerolinecolor: 'rgb(255, 255, 255)',\n            showbackground: true,\n            backgroundcolor:'rgb(230, 230,230)'\n        },\n        yaxis: {\n            gridcolor: 'rgb(255, 255, 255)',\n            zerolinecolor: 'rgb(255, 255, 255)',\n            showbackground: true,\n            backgroundcolor: 'rgb(230, 230, 230)'\n        },\n        zaxis: {\n            gridcolor: 'rgb(255, 255, 255)',\n            zerolinecolor: 'rgb(255, 255, 255)',\n            showbackground: true,\n            backgroundcolor: 'rgb(230, 230,230)'\n        },\n        aspectratio: {x: 1, y: 1, z: 0.7},\n        aspectmode: 'manual'\n  }\n}\n\n\nPlotly.newPlot(\"myDiv\", data, layout);\n\n});
"},{"location":"examples/custom-buttons/#restyle-button-multiple-attributes","title":"restyle-button-multiple-attributes","text":"

This example demonstrates how to use a restyle button to update single attributes by passing a two element array to a button's args attribute or update multiple attributes at the same time by passing an array containing an object.

d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar button_layer_1_height = 1.12\nvar button_layer_2_height = 1.0\nvar annotation_offset = 0.04\n\nvar z_data=[ ]\nfor(i=0;i<24;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n        z: z_data,\n        type:'surface',\n        colorscale:'Viridis'\n}]\n\nvar updatemenus=[\n    {\n        buttons: [\n            {\n                args: ['type', 'surface'],\n                label: '3D Surface',\n                method: 'restyle'\n            },\n            {\n                args: ['type', 'heatmap'],\n                label:'Heatmap',\n                method:'restyle'\n            },\n            {\n                args: ['type', 'contour'],\n                label:'Contour',\n                method:'restyle'\n            }\n        ],\n        direction: 'left',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'buttons',\n        x: 0.15,\n        xanchor: 'left',\n        y: button_layer_2_height,\n        yanchor: 'top'\n    },\n    {\n        buttons: [\n            {\n                args: ['reversescale', true],\n                label: 'Reverse',\n                method: 'restyle'\n            },\n            {\n                args: ['reversescale', false],\n                label:'Undo Reverse',\n                method:'restyle'\n            }\n        ],\n        direction: 'down',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'dropdown',\n        x: 0.56,\n        xanchor: 'left',\n        y: button_layer_2_height,\n        yanchor: 'top'\n    },\n    {\n        buttons: [\n            {\n                args: [{'contours.showlines':false, 'type':'contour'}],\n                label: 'Hide lines',\n                method: 'restyle'\n            },\n            {\n                args: [{'contours.showlines':true, 'type':'contour'}],\n                label:'Show lines',\n                method:'restyle'\n            }\n        ],\n        direction: 'down',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'dropdown',\n        x: 0.78,\n        xanchor: 'left',\n        y: button_layer_2_height,\n        yanchor: 'top'\n    },\n    {\n        buttons: [\n            {\n                args: ['colorscale', 'Viridis'],\n                label: 'Viridis',\n                method: 'restyle'\n            },\n            {\n                args: ['colorscale', 'Electric'],\n                label:'Electric',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Earth'],\n                label:'Earth',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Hot'],\n                label:'Hot',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Jet'],\n                label:'Jet',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Portland'],\n                label:'Portland',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Rainbow'],\n                label:'Rainbow',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Blackbody'],\n                label:'Blackbody',\n                method:'restyle'\n            },\n\n            {\n                args: ['colorscale', 'Cividis'],\n                label:'Cividis',\n                method:'restyle'\n            }\n        ],\n        direction: 'left',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'buttons',\n        x: 0.15,\n        xanchor: 'left',\n        y: button_layer_1_height,\n        yanchor: 'top'\n    },\n]\n\nvar annotations = [\n    {\n      text: 'Trace type:',\n      x: 0,\n      y: button_layer_2_height - annotation_offset,\n      yref: 'paper',\n      align: 'left',\n      showarrow: false\n    },\n    {\n      text: 'Colorscale:',\n      x: 0,\n      y: button_layer_1_height - annotation_offset,\n      yref: 'paper',\n      align: 'left',\n      showarrow: false\n    },\n]\n\nvar layout = {\n    margin: {t: 0, b: 0, l: 0, r: 0},\n    updatemenus: updatemenus,\n    annotations: annotations,\n    scene: {\n        xaxis:{\n            gridcolor: 'rgb(255, 255, 255)',\n            zerolinecolor: 'rgb(255, 255, 255)',\n            showbackground: true,\n            backgroundcolor:'rgb(230, 230,230)'\n        },\n        yaxis: {\n            gridcolor: 'rgb(255, 255, 255)',\n            zerolinecolor: 'rgb(255, 255, 255)',\n            showbackground: true,\n            backgroundcolor: 'rgb(230, 230, 230)'\n        },\n        zaxis: {\n            gridcolor: 'rgb(255, 255, 255)',\n            zerolinecolor: 'rgb(255, 255, 255)',\n            showbackground: true,\n            backgroundcolor: 'rgb(230, 230,230)'\n        },\n        aspectratio: {x: 1, y: 1, z: 0.7},\n        aspectmode: 'manual'\n  }\n}\n\n\nPlotly.newPlot(\"myDiv\", data, layout);\n\n});
"},{"location":"examples/custom-buttons/#relayout-button","title":"relayout-button","text":"

The relayout method should be used when modifying the layout attributes of the graph. Update One Layout Attribute This example demonstrates how to update a layout attribute: chart type with the relayout method.

d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/normal-clusters.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return parseFloat(row[key]); });\n}\n\nvar button_layer_height = 1.2\nvar x0 = unpack(rows,'x0')\nvar x1 = unpack(rows,'x1')\nvar x2 = unpack(rows,'x2')\nvar y0 = unpack(rows,'y0')\nvar y1 = unpack(rows,'y1')\nvar y2 = unpack(rows,'y2')\n\nvar data = [{\n    x: x0,\n    y: y0,\n    mode: 'markers',\n    marker: {color: '#835AF1'}\n  },\n  {\n    x: x1,\n    y: y1,\n    mode: 'markers',\n    marker: {color: '#7FA6EE'}\n  },\n  {\n    x: x2,\n    y: y2,\n    mode: 'markers',\n    marker: {color: '#B8F7D4'}\n  },\n\n]\n\nvar cluster0 = {type: 'circle',\n                 xref: 'x', yref: 'y',\n                 x0: Math.min(...x0), y0: Math.min(...y0),\n                 x1: Math.max(...x0), y1: Math.max(...y0),\n                 opacity: 0.25,\n                 line: {color: '#835AF1'},\n                 fillcolor: '#835AF1'}\n\nvar cluster1 = {type: 'circle',\n                 xref: 'x', yref: 'y',\n                 x0: Math.min(...x1), y0: Math.min(...y1),\n                 x1: Math.max(...x1), y1: Math.max(...y1),\n                 opacity: 0.25,\n                 line: {color: '#7FA6EE'},\n                 fillcolor: '#7FA6EE'}\n\nvar cluster2 = {type: 'circle',\n                 xref: 'x', yref: 'y',\n                 x0: Math.min(...x2), y0: Math.min(...y2),\n                 x1: Math.max(...x2), y1: Math.max(...y2),\n                 opacity: 0.25,\n                 line: {color: '#B8F7D4'},\n                 fillcolor: '#B8F7D4'}\n\nvar updatemenus=[\n    {\n        buttons: [\n            {\n                args: ['shapes', []],\n                label: 'None',\n                method: 'relayout'\n            },\n            {\n                args: ['shapes', [cluster0]],\n                label: 'Cluster 0',\n                method: 'relayout'\n            },\n            {\n                args: ['shapes', [cluster1]],\n                label: 'Cluster 1',\n                method: 'relayout'\n            },\n            {\n                args: ['shapes', [cluster2]],\n                label: 'Cluster 2',\n                method: 'relayout'\n            },\n            {\n                args: ['shapes', [cluster0, cluster1, cluster2]],\n                label: 'All',\n                method: 'relayout'\n            },\n        ],\n        direction: 'left',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'buttons',\n        x: 0.1,\n        xanchor: 'left',\n        y: button_layer_height,\n        yanchor: 'top'\n    },\n\n]\n\nvar layout = {\n    updatemenus: updatemenus,\n    showlegend: false\n}\n\n\nPlotly.newPlot(\"myDiv\", data, layout);\n\n});
"},{"location":"examples/custom-buttons/#update-button","title":"update-button","text":"

The update method should be used when modifying the data and layout sections of the graph. This example demonstrates how to update which traces are displayed while simulaneously updating layout attributes such as the chart title and annotations.

d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nconst arrAvg = arr => arr.reduce((a,b) => a + b, 0) / arr.length\n\nvar button_layer_2_height = 1.2\nvar high = unpack(rows, 'AAPL.High').map(x => parseFloat(x))\nvar low = unpack(rows, 'AAPL.Low').map(x => parseFloat(x))\nvar date = unpack(rows, 'Date')\n\n\nvar high_ave = arrAvg(high)\nvar high_max = Math.max(...high)\nvar low_ave = arrAvg(low)\nvar low_min = Math.min(...low)\n\nvar data = [{\n    x: date,\n    y: high,\n    mode: 'lines',\n    name: 'High',\n    marker: {color: '#33CFA5'}\n  },\n  {\n    x: date,\n    y: date.map(a => high_ave),\n    mode: 'lines',\n    name: 'Low Average',\n    line: {color: '#33CFA5', dash: 'dash'},\n    visible: false\n  },\n  {\n    x: date,\n    y: low,\n    name: 'Low',\n    mode: 'lines',\n    marker: {color: '#F06A6A'}\n  },\n  {\n    x: date,\n    y: date.map(a => low_ave),\n    mode: 'lines',\n    name: 'High Average',\n    visible: false,\n    line: {color: '#F06A6A', dash: 'dash'}\n  },\n\n]\n\nvar high_annotations = [\n    {\n      text: 'High Average:<br>' + high_ave.toFixed(2),\n      x: '2016-03-01',\n      y: high_ave,\n      yref: 'y', xref: 'x',\n      ay: -40, ax: 0\n    },\n    {\n      text: 'High Max:<br>' + high_max.toFixed(2),\n      x: date[high.indexOf(high_max)],\n      y: high_max,\n      yref: 'y', xref: 'x',\n      ay: -40, ax: 0\n    },\n]\n\nvar low_annotations = [{\n      text: 'Low Average:<br>' + low_ave.toFixed(2),\n      x: '2015-05-01',\n      y: low_ave,\n      yref: 'y', xref: 'x',\n      ay: 40, ax: 0\n    },\n    {\n      text: 'Low Min:<br>' + low_min.toFixed(2),\n      x: date[low.indexOf(low_min)],\n      y: low_min,\n      yref: 'y', xref: 'x',\n      ay: 40, ax: 0\n    }\n ]\n\nvar updatemenus=[\n    {\n        buttons: [\n            {\n                args: [{'visible': [true, true, false, false]},\n                       {'title': 'Yahoo High',\n                        'annotations': high_annotations}],\n                label: 'High',\n                method: 'update'\n            },\n            {\n                args: [{'visible': [false, false, true, true,]},\n                       {'title': 'Yahoo Low',\n                        'annotations': low_annotations}],\n                label: 'Low',\n                method: 'update'\n            },\n            {\n                args: [{'visible': [true, true, true, true,]},\n                       {'title': 'Yahoo',\n                        'annotations': [...low_annotations, ...high_annotations]}],\n                label: 'Both',\n                method: 'update'\n            },\n            {\n                args: [{'visible': [true, false, true, false,]},\n                       {'title': 'Yahoo',\n                        'annotations': []}],\n                label: 'Reset',\n                method: 'update'\n            },\n\n        ],\n        direction: 'left',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'buttons',\n        x: 0.1,\n        xanchor: 'left',\n        y: button_layer_2_height,\n        yanchor: 'top'\n    },\n\n]\n\nvar layout = {\n  title: {\n      text: 'Yahoo'\n  },\n  updatemenus: updatemenus,\n  showlegend: false\n}\n\n\nPlotly.newPlot(\"myDiv\", data, layout);\n\n});
"},{"location":"examples/custom-buttons/#animate-button","title":"animate-button","text":"

Refer to our animation docs: https://plotly.com/javascript/#animations for examples on how to use the animate method with Plotly buttons.

"},{"location":"examples/custom-buttons/#style-the-buttons","title":"style-the-buttons","text":"

When adding buttons to Plotly charts, users have the option of styling the color, font, padding, and position of the buttons. The example below demonstrates how to apply different styling options. See all updatemenus styling attributes here: https://plotly.com/javascript/reference/layout/#layout-updatemenus.

d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv', function(err, rows){\nfunction unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar button_layer_1_height = 1.12\nvar button_layer_2_height = 1.0\nvar annotation_offset = 0.04\n\nvar z_data=[ ]\nfor(i=0;i<24;i++)\n{\n  z_data.push(unpack(rows,i));\n}\n\nvar data = [{\n        z: z_data,\n        type:'surface',\n        colorscale:'Viridis'\n}]\n\nvar updatemenus=[\n    {\n        buttons: [\n            {\n                args: ['type', 'surface'],\n                label: '3D Surface',\n                method: 'restyle'\n            },\n            {\n                args: ['type', 'heatmap'],\n                label:'Heatmap',\n                method:'restyle'\n            },\n            {\n                args: ['type', 'contour'],\n                label:'Contour',\n                method:'restyle'\n            }\n        ],\n        direction: 'left',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'buttons',\n        x: 0.15,\n        xanchor: 'left',\n        y: button_layer_2_height,\n        yanchor: 'top',\n        font: {color: '#5072a8'}\n    },\n    {\n        buttons: [\n            {\n                args: ['reversescale', true],\n                label: 'Reverse',\n                method: 'restyle'\n            },\n            {\n                args: ['reversescale', false],\n                label:'Undo Reverse',\n                method:'restyle'\n            }\n        ],\n        direction: 'down',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'dropdown',\n        x: 0.56,\n        xanchor: 'left',\n        y: button_layer_2_height,\n        yanchor: 'top',\n        active: 1,\n        font: {color: '#5072a8'}\n    },\n    {\n        buttons: [\n            {\n                args: [{'contours.showlines':false, 'type':'contour'}],\n                label: 'Hide lines',\n                method: 'restyle'\n            },\n            {\n                args: [{'contours.showlines':true, 'type':'contour'}],\n                label:'Show lines',\n                method:'restyle'\n            }\n        ],\n        direction: 'down',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'dropdown',\n        x: 0.78,\n        xanchor: 'left',\n        y: button_layer_2_height,\n        yanchor: 'top',\n        font: {color: '#5072a8'}\n    },\n    {\n        buttons: [\n            {\n                args: ['colorscale', 'Viridis'],\n                label: 'Viridis',\n                method: 'restyle'\n            },\n            {\n                args: ['colorscale', 'Electric'],\n                label:'Electric',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Earth'],\n                label:'Earth',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Hot'],\n                label:'Hot',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Jet'],\n                label:'Jet',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Portland'],\n                label:'Portland',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Rainbow'],\n                label:'Rainbow',\n                method:'restyle'\n            },\n            {\n                args: ['colorscale', 'Blackbody'],\n                label:'Blackbody',\n                method:'restyle'\n            },\n\n            {\n                args: ['colorscale', 'Cividis'],\n                label:'Cividis',\n                method:'restyle'\n            }\n        ],\n        direction: 'left',\n        pad: {'r': 10, 't': 10},\n        showactive: true,\n        type: 'buttons',\n        x: 0.15,\n        xanchor: 'left',\n        y: button_layer_1_height,\n        yanchor: 'top',\n        active: 1,\n        bgcolor: '#aaaaaa',\n        bordercolor: '#FFFFFF'\n    },\n]\n\nvar annotations = [\n    {\n      text: 'Trace type:',\n      x: 0,\n      y: button_layer_2_height - annotation_offset,\n      yref: 'paper',\n      align: 'left',\n      showarrow: false\n    },\n    {\n      text: 'Colorscale:',\n      x: 0,\n      y: button_layer_1_height - annotation_offset,\n      yref: 'paper',\n      align: 'left',\n      showarrow: false\n    },\n]\n\nvar layout = {\n    paper_bgcolor: 'black',\n    margin: {t: 0, b: 0, l: 0, r: 0},\n    updatemenus: updatemenus,\n    annotations: annotations,\n    scene: {\n        bgcolor: 'black',\n        aspectratio: {x: 1, y: 1, z: 0.7},\n        aspectmode: 'manual'\n  }\n}\n\n\nPlotly.newPlot(\"myDiv\", data, layout);\n\n});
"},{"location":"examples/disable-zoom/","title":"disable-zoom","text":""},{"location":"examples/disable-zoom/#disabling-zoom-events-for-x-axis","title":"disabling-zoom-events-for-x-axis","text":"
function makeplot() {\n    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv\", function(data){ processData(data) } );\n\n};\n\nfunction processData(allRows) {\n\n    console.log(allRows);\n    var x = [], y = [], standard_deviation = [];\n\n    for (var i=0; i < allRows.length; i++) {\n        row = allRows[i];\n        x.push( row['AAPL_x'] );\n        y.push( row['AAPL_y'] );\n    }\n    console.log( 'X',x, 'Y',y, 'SD',standard_deviation );\n    makePlotly( x, y, standard_deviation );\n}\n\nfunction makePlotly( x, y, standard_deviation ){\n    var plotDiv = document.getElementById(\"myDiv\");\n    var traces = [{\n        x: x,\n        y: y\n    }];\n\n    var layout = {\n        title: {\n            text: 'Plotting CSV data from AJAX call'\n        },\n        xaxis: {\n            fixedrange: true\n        }\n    };\n\n    Plotly.newPlot('myDiv', traces, layout);\n};\n  makeplot();
"},{"location":"examples/disable-zoom/#disabling-zoom-events-for-x-and-y-axis","title":"disabling-zoom-events-for-x-and-y-axis","text":"
function makeplot() {\n    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv\", function(data){ processData(data) } );\n\n};\n\nfunction processData(allRows) {\n\n    var x = [], y = [], standard_deviation = [];\n\n    for (var i=0; i < allRows.length; i++) {\n        row = allRows[i];\n        x.push( row['AAPL_x'] );\n        y.push( row['AAPL_y'] );\n    }\n    makePlotly( x, y, standard_deviation );\n}\n\nfunction makePlotly( x, y, standard_deviation ){\n    var plotDiv = document.getElementById(\"myDiv\");\n    var traces = [{\n        x: x,\n        y: y\n    }];\n\n    var layout = {\n        title: {\n            text: 'Plotting CSV data from AJAX call'\n        },\n        yaxis: {fixedrange: true},\n        xaxis: {fixedrange: true}\n    };\n\n    Plotly.newPlot('myDiv', traces, layout);\n};\n  makeplot();
"},{"location":"examples/dot-plots/","title":"dot-plots","text":""},{"location":"examples/dot-plots/#categorical-dot-plot","title":"categorical-dot-plot","text":"
var country = ['Switzerland (2011)', 'Chile (2013)', 'Japan (2014)', 'United States (2012)', 'Slovenia (2014)', 'Canada (2011)', 'Poland (2010)', 'Estonia (2015)', 'Luxembourg (2013)', 'Portugal (2011)'];\n\nvar votingPop = [40, 45.7, 52, 53.6, 54.1, 54.2, 54.5, 54.7, 55.1, 56.6];\n\nvar regVoters = [49.1, 42, 52.7, 84.3, 51.7, 61.1, 55.3, 64.2, 91.1, 58.9];\n\nvar trace1 = {\n  type: 'scatter',\n  x: votingPop,\n  y: country,\n  mode: 'markers',\n  name: 'Percent of estimated voting age population',\n  marker: {\n    color: 'rgba(156, 165, 196, 0.95)',\n    line: {\n      color: 'rgba(156, 165, 196, 1.0)',\n      width: 1,\n    },\n    symbol: 'circle',\n    size: 16\n  }\n};\n\nvar trace2 = {\n  x: regVoters,\n  y: country,\n  mode: 'markers',\n  name: 'Percent of estimated registered voters',\n  marker: {\n    color: 'rgba(204, 204, 204, 0.95)',\n    line: {\n      color: 'rgba(217, 217, 217, 1.0)',\n      width: 1,\n    },\n    symbol: 'circle',\n    size: 16\n  }\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n      text: 'Votes cast for ten lowest voting age population in OECD countries',\n      font: {\n          color: 'rgb(204, 204, 204)'\n      }\n  },\n  xaxis: {\n    showgrid: false,\n    showline: true,\n    linecolor: 'rgb(102, 102, 102)',\n    tickfont: {\n      font: {\n        color: 'rgb(102, 102, 102)'\n      }\n    },\n    tickmode: 'linear',\n    dtick: 10,\n    ticks: 'outside',\n    tickcolor: 'rgb(102, 102, 102)'\n  },\n  margin: {\n    l: 140,\n    r: 40,\n    b: 50,\n    t: 80\n  },\n  legend: {\n    font: {\n      size: 10,\n    },\n    yanchor: 'middle',\n    xanchor: 'right'\n  },\n  width: 600,\n  height: 600,\n  paper_bgcolor: 'rgb(254, 247, 234)',\n  plot_bgcolor: 'rgb(254, 247, 234)',\n  hovermode: 'closest'\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/dropdowns/","title":"dropdowns","text":""},{"location":"examples/dropdowns/#add-two-dropdown-menus-to-a-chart-with-plotly.js","title":"add-two-dropdown-menus-to-a-chart-with-plotly.js","text":"
function makeTrace(i) {\n    return {\n        y: Array.apply(null, Array(10)).map(() => Math.random()),\n        line: {\n            shape: 'spline' ,\n            color: 'red'\n        },\n        visible: i === 0,\n        name: 'Data set ' + i,\n    };\n}\n\nPlotly.newPlot('myDiv', [0, 1, 2, 3].map(makeTrace), {\n    updatemenus: [{\n        y: 0.8,\n        yanchor: 'top',\n        buttons: [{\n            method: 'restyle',\n            args: ['line.color', 'red'],\n            label: 'red'\n        }, {\n            method: 'restyle',\n            args: ['line.color', 'blue'],\n            label: 'blue'\n        }, {\n            method: 'restyle',\n            args: ['line.color', 'green'],\n            label: 'green'\n        }]\n    }, {\n        y: 1,\n        yanchor: 'top',\n        buttons: [{\n            method: 'restyle',\n            args: ['visible', [true, false, false, false]],\n            label: 'Data set 0'\n        }, {\n            method: 'restyle',\n            args: ['visible', [false, true, false, false]],\n            label: 'Data set 1'\n        }, {\n            method: 'restyle',\n            args: ['visible', [false, false, true, false]],\n            label: 'Data set 2'\n        }, {\n            method: 'restyle',\n            args: ['visible', [false, false, false, true]],\n            label: 'Data set 3'\n        }]\n    }],\n});
"},{"location":"examples/dropdowns/#bind-dropdown-events-to-plotly.js-charts","title":"bind-dropdown-events-to-plotly.js-charts","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });\n    }\n\n    var allCountryNames = unpack(rows, 'country'),\n        allYear = unpack(rows, 'year'),\n        allGdp = unpack(rows, 'gdpPercap'),\n        listofCountries = [],\n        currentCountry,\n        currentGdp = [],\n        currentYear = [];\n\n    for (var i = 0; i < allCountryNames.length; i++ ){\n        if (listofCountries.indexOf(allCountryNames[i]) === -1 ){\n            listofCountries.push(allCountryNames[i]);\n        }\n    }\n\n    function getCountryData(chosenCountry) {\n        currentGdp = [];\n        currentYear = [];\n        for (var i = 0 ; i < allCountryNames.length ; i++){\n            if ( allCountryNames[i] === chosenCountry ) {\n                currentGdp.push(allGdp[i]);\n                currentYear.push(allYear[i]);\n            }\n        }\n    };\n\n    // Default Country Data\n    setBubblePlot('Afghanistan');\n\n    function setBubblePlot(chosenCountry) {\n        getCountryData(chosenCountry);\n\n        var trace1 = {\n            x: currentYear,\n            y: currentGdp,\n            mode: 'lines+markers',\n            marker: {\n                size: 12,\n                opacity: 0.5\n            }\n        };\n\n        var data = [trace1];\n\n        var layout = {\n            title: {text: 'Line and Scatter Plot'},\n            height: 400,\n            width: 480\n        };\n\n        Plotly.newPlot('myDiv', data, layout);\n    };\n\n    var innerContainer = document.querySelector('[data-num=\"0\"'),\n        plotEl = innerContainer.querySelector('.plot'),\n        countrySelector = innerContainer.querySelector('.countrydata');\n\n    function assignOptions(textArray, selector) {\n        for (var i = 0; i < textArray.length;  i++) {\n            var currentOption = document.createElement('option');\n            currentOption.text = textArray[i];\n            selector.appendChild(currentOption);\n        }\n    }\n\n    assignOptions(listofCountries, countrySelector);\n\n    function updateCountry(){\n        setBubblePlot(countrySelector.value);\n    }\n\n    countrySelector.addEventListener('change', updateCountry, false);\n});
"},{"location":"examples/error-bars/","title":"error-bars","text":""},{"location":"examples/error-bars/#basic-symmetric-error-bars","title":"basic-symmetric-error-bars","text":"
var data = [\n  {\n    x: [0, 1, 2],\n    y: [6, 10, 2],\n    error_y: {\n      type: 'data',\n      array: [1, 2, 3],\n      visible: true\n    },\n    type: 'scatter'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/error-bars/#bar-chart-with-error-bars","title":"bar-chart-with-error-bars","text":"
var trace1 = {\n  x: ['Trial 1', 'Trial 2', 'Trial 3'],\n  y: [3, 6, 4],\n  name: 'Control',\n  error_y: {\n    type: 'data',\n    array: [1, 0.5, 1.5],\n    visible: true\n  },\n  type: 'bar'\n};\nvar trace2 = {\n  x: ['Trial 1', 'Trial 2', 'Trial 3'],\n  y: [4, 7, 3],\n  name: 'Experimental',\n  error_y: {\n    type: 'data',\n    array: [0.5, 1, 2],\n    visible: true\n  },\n  type: 'bar'\n};\nvar data = [trace1, trace2];\nvar layout = {barmode: 'group'};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/error-bars/#horizontal-error-bars","title":"horizontal-error-bars","text":"
var data = [\n  {\n    x: [1, 2, 3, 4],\n    y: [2, 1, 3, 4],\n    error_x: {\n      type: 'percent',\n      value: 10\n    },\n    type: 'scatter'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/error-bars/#asymmetric-error-bars","title":"asymmetric-error-bars","text":"
var data = [\n  {\n    x: [1, 2, 3, 4],\n    y: [2, 1, 3, 4],\n    error_y: {\n      type: 'data',\n      symmetric: false,\n      array: [0.1, 0.2, 0.1, 0.1],\n      arrayminus: [0.2, 0.4, 1, 0.2]\n    },\n    type: 'scatter'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/error-bars/#colored-and-styled-error-bars","title":"colored-and-styled-error-bars","text":"
function linspace(a,b,n) {\n  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});\n}\nx_theo = linspace(-4, 4, 100)\nsincx = Math.sin(x_theo) / x_theo\nvar x = [-3.8, -3.03, -1.91, -1.46, -0.89, -0.24, -0.0, 0.41, 0.89, 1.01, 1.91, 2.28, 2.79, 3.56]\nvar y = [-0.02, 0.04, -0.01, -0.27, 0.36, 0.75, 1.03, 0.65, 0.28, 0.02, -0.11, 0.16, 0.04, -0.15]\n\nvar trace1 = {\n  x: x_theo,\n  y: sincx,\n  name: 'sinc(x)',\n  type: 'scatter'\n};\nvar trace2 = {\n  x: x,\n  y: y,\n  mode: 'markers',\n  name: 'measured',\n  error_y: {\n    type: 'constant',\n    value: 0.1,\n    color: '#85144B',\n    thickness: 1.5,\n    width: 3,\n  },\n  error_x: {\n    type: 'constant',\n    value: 0.2,\n    color: '#85144B',\n    thickness: 1.5,\n    width: 3,\n  },\n  marker: {\n    color: '#85144B',\n    size: 8\n  },\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nPlotly.newPlot('myDiv', data, {}, {showSendToCloud: true});
"},{"location":"examples/error-bars/#error-bars-as-a-percentage-of-the-y-value","title":"error-bars-as-a-percentage-of-the-y-value","text":"
var data = [\n  {\n    x: [0, 1, 2],\n    y: [6, 10, 2],\n    error_y: {\n      type: 'percent',\n      value: 50,\n      visible: true\n    },\n    type: 'scatter'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/error-bars/#asymmetric-error-bars-with-a-constant-offset","title":"asymmetric-error-bars-with-a-constant-offset","text":"
var data = [\n  {\n    x: [1, 2, 3, 4],\n    y: [2, 1, 3, 4],\n    error_y: {\n      type: 'percent',\n      symmetric: false,\n      value: 15,\n      valueminus: 25\n    },\n    type: 'scatter'\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/figure-labels/","title":"figure-labels","text":""},{"location":"examples/figure-labels/#styling-names","title":"styling-names","text":"
var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  name: 'Name of Trace 1',\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [1, 0, 3, 2, 5, 4, 7, 6, 8],\n  name: 'Name of Trace 2',\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  title: {\n    text:'Plot Title',\n    font: {\n      family: 'Courier New, monospace',\n      size: 24\n    },\n    xref: 'paper',\n    x: 0.05,\n  },\n  xaxis: {\n    title: {\n      text: 'x Axis',\n      font: {\n        family: 'Courier New, monospace',\n        size: 18,\n        color: '#7f7f7f'\n      }\n    },\n  },\n  yaxis: {\n    title: {\n      text: 'y Axis',\n      font: {\n        family: 'Courier New, monospace',\n        size: 18,\n        color: '#7f7f7f'\n      }\n    }\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/figure-labels/#setting-title-automargin","title":"setting-title-automargin","text":"

Set automargin to true to allow the title to push the figure margins. With yref set to paper, automargin expands the margins to make the title visible, but doesn't push outside the container. With yref set to container, automargin expands the margins, but doesn't overlap with the plot area, tick labels, and axis titles.

var trace1 = {\n  x: [1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, 2002, 2007],\n  y: [69.39,\n      70.26,\n      71.24,\n      71.52,\n      71.89,\n      72.22,\n      73.84,\n      74.32,\n      76.33,\n      77.55,\n      79.11,\n      80.204\n  ],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, 2002, 2007],\n  y: [69.12,\n      70.33,\n      70.93,\n      71.1,\n      71.93,\n      73.49,\n      74.74,\n      76.32,\n      77.56,\n      78.83,\n      80.37,\n      81.235\n  ],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  title: {\n      text: 'Population',\n      font: {\n          family: 'Courier New, monospace',\n          size: 70\n      },\n      yref: 'paper',\n      automargin: true,\n  },\n  showlegend: false\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/filled-area-animation/","title":"filled-area-animation","text":""},{"location":"examples/filled-area-animation/#filled-area-animation","title":"filled-area-animation","text":"
d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\n  var frames = []\n  var x = unpack(rows, 'AAPL_x')\n  var y = unpack(rows, 'AAPL_y')\n\n  var n = 100;\n  for (var i = 0; i < n; i++) {\n    frames[i] = {data: [{x: [], y: []}]}\n    frames[i].data[0].x = x.slice(0, i+1);\n    frames[i].data[0].y = y.slice(0, i+1);\n  }\n\n  Plotly.newPlot('myDiv', [{\n    x: frames[1].data[0].x,\n    y: frames[1].data[0].y,\n    fill: 'tozeroy',\n    type: 'scatter',\n    mode: 'lines',\n    line: {color: 'green'}\n  }], {\n    title: {\n      text: \"Filled-Area Animation\"\n    },\n    xaxis: {\n      type: 'date',\n      range: [\n        frames[99].data[0].x[0],\n        frames[99].data[0].x[99]\n      ]\n    },\n    yaxis: {\n      range: [\n        0,\n        90\n      ]\n    },\n    updatemenus: [{\n      x: 0.1,\n      y: 0,\n      yanchor: \"top\",\n      xanchor: \"right\",\n      showactive: false,\n      direction: \"left\",\n      type: \"buttons\",\n      pad: {\"t\": 87, \"r\": 10},\n      buttons: [{\n        method: \"animate\",\n        args: [null, {\n          fromcurrent: true,\n          transition: {\n            duration: 0,\n          },\n          frame: {\n            duration: 40,\n            redraw: false\n          }\n        }],\n        label: \"Play\"\n      }, {\n        method: \"animate\",\n        args: [\n          [null],\n          {\n            mode: \"immediate\",\n            transition: {\n              duration: 0\n            },\n            frame: {\n              duration: 0,\n              redraw: false\n            }\n          }\n        ],\n        label: \"Pause\"\n      }]\n    }]\n  }).then(function() {\n    Plotly.addFrames('myDiv', frames);\n  });\n\n})
"},{"location":"examples/filled-area-animation/#multiple-trace-filled-area","title":"multiple-trace-filled-area","text":"
d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\n  var frames = []\n  var x = unpack(rows, 'Date')\n  var y = unpack(rows, 'AAPL.High')\n  var x2 = unpack(rows, 'Date')\n  var y2 = unpack(rows, 'AAPL.Low')\n\n  var n = 100;\n  for (var i = 0; i < n; i++) {\n    frames[i] = {data: [{x: [], y: []}, {x: [], y: []}]}\n    frames[i].data[1].x = x.slice(0, i+1);\n    frames[i].data[1].y = y.slice(0, i+1);\n    frames[i].data[0].x = x2.slice(0, i+1);\n    frames[i].data[0].y = y2.slice(0, i+1);\n  }\n\n  var trace2 = {\n    type: \"scatter\",\n    mode: \"lines\",\n    name: 'AAPL High',\n    fill: 'tonexty',\n    x: frames[5].data[1].x,\n    y: frames[5].data[1].y,\n    line: {color: 'grey'}\n  }\n\n  var trace1 = {\n    type: \"scatter\",\n    mode: \"lines\",\n    name: 'AAPL Low',\n    x: frames[5].data[0].x,\n    y: frames[5].data[0].y,\n    line: {color: 'lightgrey'}\n  }\n\n  var data = [trace1,trace2];\n\n  var layout = {\n    title: {\n      text: 'Multiple Trace Filled-Area Animation'\n    },\n    xaxis: {\n      range: [frames[99].data[0].x[0], frames[99].data[0].x[99]],\n      showgrid: false\n    },\n    yaxis: {\n      range: [120, 140],\n      showgrid: false\n    },\n    legend: {\n      orientation: 'h',\n      x: 0.5,\n      y: 1.2,\n      xanchor: 'center'\n    },\n    updatemenus: [{\n      x: 0.5,\n      y: 0,\n      yanchor: \"top\",\n      xanchor: \"center\",\n      showactive: false,\n      direction: \"left\",\n      type: \"buttons\",\n      pad: {\"t\": 87, \"r\": 10},\n      buttons: [{\n        method: \"animate\",\n        args: [null, {\n          fromcurrent: true,\n          transition: {\n            duration: 0,\n          },\n          frame: {\n            duration: 40,\n            redraw: false\n          }\n        }],\n        label: \"Play\"\n      }, {\n        method: \"animate\",\n        args: [\n          [null],\n          {\n            mode: \"immediate\",\n            transition: {\n              duration: 0\n            },\n            frame: {\n              duration: 0,\n              redraw: false\n            }\n          }\n        ],\n        label: \"Pause\"\n      }]\n    }]\n  };\n\n  Plotly.newPlot('myDiv', data, layout).then(function() {\n    Plotly.addFrames('myDiv', frames);\n  });\n})
"},{"location":"examples/filled-area-on-map/","title":"filled-area-on-map","text":""},{"location":"examples/filled-area-on-map/#overview","title":"overview","text":"

There are three different ways to show a filled area in a tile-based map.

  1. Use a [scattermap](https://plotly.com/javascript/reference/scattermap/) trace and set `fill` attribute to 'toself'
  2. Use a map layout (i.e. by minimally using an empty Scattermap trace) and add a GeoJSON layer
  3. Use the [Choroplethmap](https://plotly.com/javascript/map-county-choropleth/) trace type
Filled `Scattermap` Trace

The following example uses Scattermap and sets fill = 'toself'.

var data = [\n    {\n        type: \"scattermap\",\n        fill: \"toself\",\n        lon: [-74, -70, -70, -74],\n        lat: [47, 47, 45, 45],\n        marker: { size: 10, color: \"orange\" }\n    }\n];\n\nvar layout = {\n    map: {\n        style: \"stamen-terrain\",\n        center: { lon: -73, lat: 46 },\n        zoom: 5\n    },\n    showlegend: false,\n    height: 450,\n    width: 600\n};\n\nPlotly.newPlot(\"myDiv\", data, layout);
"},{"location":"examples/filled-area-on-map/#multiple-filled-areas-with-a-scattermap-trace","title":"multiple-filled-areas-with-a-scattermap-trace","text":"

The following example shows how to use null in your data to draw multiple filled areas. Such gaps in trace data are unconnected by default, but this can be controlled via the connectgaps attribute.

var data = [{\n        type: \"scattermap\",\n        mode: \"lines\",\n        fill: \"toself\",\n        lon: [-10, -10, 8, 8, -10, null, 30, 30, 50, 50, 30, null, 100, 100, 80, 80, 100],\n        lat: [30, 6, 6, 30, 30,    null, 20, 30, 30, 20, 20, null, 40, 50, 50, 40, 40]\n        }]\n\nvar layout = {\n    map: {style: \"stamen-terrain\", center: {lon: 40, lat: 20}, 'zoom': 1.5},\n    showlegend: false,\n    width:700, height: 700}\n\nPlotly.newPlot(\"myDiv\", data, layout)
"},{"location":"examples/filled-area-on-map/#geojson-layers","title":"geojson-layers","text":"

This example shows an area below water layer, and sets geojson object of type feature and geometries of type MultiPolygon.

var data = [{\n    type: \"scattermap\", mode: \"markers\",\n    lon: [-73.605], lat: [45.51],\n    marker: { size: 20, color: [\"cyan\"] }\n  }];\n\nvar layout = {\n  map: {\n    style: \"dark\",\n    center: { lon: -73.6, lat: 45.515},\n    zoom: 12, layers: [{\n        source: {\n          type: \"FeatureCollection\",\n          features: [{\n              type: \"Feature\",\n              geometry: {\n                type: \"MultiPolygon\",\n                coordinates: [[[\n                      [-73.606352888, 45.507489991], [-73.606133883, 45.50687600],\n                      [-73.605905904, 45.506773980], [-73.603533905, 45.505698946],\n                      [-73.602475870, 45.506856969], [-73.600031904, 45.505696003],\n                      [-73.599379992, 45.505389066], [-73.599119902, 45.505632008],\n                      [-73.598896977, 45.505514039], [-73.598783894, 45.505617001],\n                      [-73.591308727, 45.516246185], [-73.591380782, 45.516280145],\n                      [-73.596778656, 45.518690062], [-73.602796770, 45.521348046],\n                      [-73.612239983, 45.525564037], [-73.612422919, 45.525642061],\n                      [-73.617229085, 45.527751983], [-73.617279234, 45.527774160],\n                      [-73.617304713, 45.527741334], [-73.617492052, 45.527498362],\n                      [-73.617533258, 45.527512253], [-73.618074188, 45.526759105],\n                      [-73.618271651, 45.526500673], [-73.618446320, 45.526287943],\n                      [-73.618968507, 45.525698560], [-73.619388002, 45.525216750],\n                      [-73.619532966, 45.525064183], [-73.619686662, 45.524889290],\n                      [-73.619787038, 45.524770086], [-73.619925742, 45.524584939],\n                      [-73.619954486, 45.524557690], [-73.620122362, 45.524377961],\n                      [-73.620201713, 45.524298907], [-73.620775593, 45.523650879]\n                    ]]]\n              }\n            }]\n        },\n        type: \"fill\", below: \"water\", color: \"teal\"\n      }]\n  },\n  height: 450, width: 700\n};\n\nPlotly.newPlot(\"myDiv\", data, layout);
"},{"location":"examples/filled-area-plots/","title":"filled-area-plots","text":""},{"location":"examples/filled-area-plots/#basic-overlaid-area-chart","title":"basic-overlaid-area-chart","text":"
var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [0, 2, 3, 5],\n  fill: 'tozeroy',\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [3, 5, 1, 7],\n  fill: 'tonexty',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/filled-area-plots/#stacked-area-chart","title":"stacked-area-chart","text":"
var plotDiv = document.getElementById('plot');\nvar traces = [\n    {x: [1,2,3], y: [2,1,4], stackgroup: 'one'},\n    {x: [1,2,3], y: [1,1,2], stackgroup: 'one'},\n    {x: [1,2,3], y: [3,0,2], stackgroup: 'one'}\n];\n\nPlotly.newPlot('myDiv', traces, {title: {text: 'stacked and filled line chart'}});
"},{"location":"examples/filled-area-plots/#overlaid-area-chart-without-boundary-lines","title":"overlaid-area-chart-without-boundary-lines","text":"
var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [0, 2, 3, 5],\n  fill: 'tozeroy',\n  type: 'scatter',\n  mode: 'none'\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [3, 5, 1, 7],\n  fill: 'tonexty',\n  type: 'scatter',\n  mode: 'none'\n};\n\nvar layout = {\n  title: {\n    text: 'Overlaid Chart Without Boundary Lines'\n  }\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/filled-area-plots/#normalized-stacked-area-chart","title":"normalized-stacked-area-chart","text":"
var plotDiv = document.getElementById('plot');\nvar traces = [\n    {x: [1,2,3], y: [2,1,4], stackgroup: 'one', groupnorm:'percent'},\n    {x: [1,2,3], y: [1,1,2], stackgroup: 'one'},\n    {x: [1,2,3], y: [3,0,2], stackgroup: 'one'}\n];\n\nPlotly.newPlot('myDiv', traces, {title: {text: 'Normalized stacked and filled line chart'}});
"},{"location":"examples/filled-area-plots/#select-hover-points","title":"select-hover-points","text":"
var data = [\n  {\n    x: [0,0.5,1,1.5,2],\n    y: [0,1,2,1,0],\n    fill: 'toself',\n    fillcolor: '#ab63fa',\n    hoveron: 'points+fills',\n    line: {\n      color: '#ab63fa'\n    },\n    text: \"Points + Fills\",\n    hoverinfo: 'text'\n  },\n  {\n    x: [3,3.5,4,4.5,5],\n    y: [0,1,2,1,0],\n    fill: 'toself',\n    fillcolor: '#e763fa',\n    hoveron: 'points',\n    line: {\n      color: '#e763fa'\n    },\n    text: \"Points only\",\n    hoverinfo: 'text'\n  }]\n\nvar layout = {\n  title: {\n    text: 'Hover on <i>points</i> or <i>fill</i>'\n  },\n  xaxis: {\n    range: [0,5]\n  },\n  yaxis: {\n    range: [0,3]\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout)
"},{"location":"examples/font/","title":"font","text":""},{"location":"examples/font/#global-font-properties","title":"global-font-properties","text":"
var data = [\n  {\n    x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n    y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n    type: 'scatter'\n  }\n];\nvar layout = {\n  title: {\n    text: 'Global Font'\n  },\n  font: {\n    family: 'Courier New, monospace',\n    size: 18,\n    color: '#7f7f7f'\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/funnel-charts/","title":"funnel-charts","text":""},{"location":"examples/funnel-charts/#basic-funnel-plot","title":"basic-funnel-plot","text":"
var gd = document.getElementById('myDiv');\nvar data = [{type: 'funnel', y: [\"Website visit\", \"Downloads\", \"Potential customers\", \"Invoice sent\", \"Closed delas\"], x: [13873, 10533, 5443, 2703, 908], hoverinfo: 'x+percent previous+percent initial'}];\n\nvar layout = {margin: {l: 150}, width:600, height: 500}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/funnel-charts/#setting-marker-size-and-color","title":"setting-marker-size-and-color","text":"
var gd = document.getElementById('myDiv');\n\nvar data = [{type: 'funnel',\n             y: [\"Sales person A\", \"Sales person B\", \"Sales person C\", \"Sales person D\", \"Sales person E\"],\n             x: [1200, 909.4, 600.6, 300, 80], textposition: \"inside\", textinfo: \"value+percent initial\",\n             hoverinfo: 'percent total+x', opacity: 0.65, marker: {color: [\"59D4E8\", \"DDB6C6\", \"A696C8\", \"67EACA\", \"94D2E6\"],\n             line: {\"width\": [4, 2, 2, 3, 1, 1], color: [\"3E4E88\", \"606470\", \"3E4E88\", \"606470\", \"3E4E88\"]}},\n             connector: {line: {color: \"royalblue\", dash: \"dot\", width: 3}}}];\n\nvar layout = {margin: {l: 100}, width: 600, height: 500}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/funnel-charts/#stacked-funnel","title":"stacked-funnel","text":"
var gd = document.getElementById('myDiv');\nvar data = [{type: 'funnel', name: 'Montreal',\n  y: [\"Website visit\", \"Downloads\", \"Potential customers\", \"Requested price\"],\n  x: [120, 60, 30, 20],\n  textinfo: \"value+percent initial\"},\n  {\n     type: 'funnel',name: 'Toronto',\n    y: [\"Website visit\", \"Downloads\", \"Potential customers\", \"Requested price\", \"invoice sent\"],\n    x: [100, 60, 40, 30, 20], textposition: \"inside\", textinfo: \"value+percent previous\"},\n  {\n    type: 'funnel',name: 'Vancouver',\n    y: [\"Website visit\", \"Downloads\", \"Potential customers\", \"Requested price\", \"invoice sent\", \"closed deals\"],\n    x: [90, 70, 50, 30, 10, 5], textposition: \"outside\", textinfo: \"value+percent total\"}];\n\nvar layout = {margin: {l: 130, r: 0}, width: 600, funnelmode: \"stack\", showlegend: 'true'}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/funnel-charts/#funnelarea-plot","title":"funnelarea-plot","text":"
var gd = document.getElementById('myDiv');\nvar data = [{type: 'funnelarea', values: [5, 4, 3, 2, 1], text: [\"The 1st\", \"The 2nd\", \"The 3rd\", \"The 4th\", \"The 5th\"],\n      marker: {colors: [\"59D4E8\", \"DDB6C6\", \"A696C8\", \"67EACA\", \"94D2E6\"],\n                line: {color: [\"3E4E88\", \"606470\", \"3E4E88\", \"606470\", \"3E4E88\"], width: [2, 1, 5, 0, 3]}},\n      textfont: {family: \"Old Standard TT\", size: 13, color: \"black\"}, opacity: 0.65}];\n\nvar layout = {margin: {l: 200 , r: 200}, funnelmode: \"stack\", showlegend: 'True'}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/funnel-charts/#multi-funnelarea","title":"multi-funnelarea","text":"
var gd = document.getElementById('myDiv');\nvar data = [{type: 'funnelarea', scalegroup: \"first\", values: [500, 450, 340, 230, 220, 110],\n    textinfo: \"value\", title: {position: \"top center\", text: \"Sales for Sale Person A in U.S.\"},\n    domain: {x: [0, 0.5], y: [0, 0.5]}},\n{\n    type: 'funnelarea', scalegroup: \"first\", values: [600, 500, 400, 300, 200, 100], textinfo: \"value\",\n    title: {position: \"top center\", text: \"Sales of Sale Person B in Canada\"},\n    domain: {x: [0, 0.5], y: [0.55, 1]}},\n{\n    type:'funnelarea', scalegroup: \"second\", values: [510, 480, 440, 330, 220, 100], textinfo: \"value\",\n    title: {position: \"top left\", text: \"Sales of Sale Person A in Canada\"},\n    domain: {x: [0.55, 1], y: [0, 0.5]}},\n{\n  type: 'funnelarea', scalegroup: \"second\", values: [360, 250, 240, 130, 120, 60],\n  textinfo: \"value\", title: {position: \"top left\", text: \"Sales of Sale Person B in U.S.\"},\n  domain: {x: [0.55, 1], y: [0.55, 1]}}];\n\nvar layout = {width: 600,shapes: [\n            {x0: 0, x1: 0.5, y0: 0, y1: 0.5},\n            {x0: 0, x1: 0.5, y0: 0.55, y1: 1},\n            {x0: 0.55, x1: 1, y0: 0, y1: 0.5},\n            {x0: 0.55, x1: 1, y0: 0.55, y1: 1}]}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/gapminder-example/","title":"gapminder-example","text":""},{"location":"examples/gapminder-example/#animating-with-a-slider","title":"animating-with-a-slider","text":"
d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv', function (err, data) {\n  // Create a lookup table to sort and regroup the columns of data,\n  // first by year, then by continent:\n  var lookup = {};\n  function getData(year, continent) {\n    var byYear, trace;\n    if (!(byYear = lookup[year])) {;\n      byYear = lookup[year] = {};\n    }\n     // If a container for this year + continent doesn't exist yet,\n     // then create one:\n    if (!(trace = byYear[continent])) {\n      trace = byYear[continent] = {\n        x: [],\n        y: [],\n        id: [],\n        text: [],\n        marker: {size: []}\n      };\n    }\n    return trace;\n  }\n\n  // Go through each row, get the right trace, and append the data:\n  for (var i = 0; i < data.length; i++) {\n    var datum = data[i];\n    var trace = getData(datum.year, datum.continent);\n    trace.text.push(datum.country);\n    trace.id.push(datum.country);\n    trace.x.push(datum.lifeExp);\n    trace.y.push(datum.gdpPercap);\n    trace.marker.size.push(datum.pop);\n  }\n\n  // Get the group names:\n  var years = Object.keys(lookup);\n  // In this case, every year includes every continent, so we\n  // can just infer the continents from the *first* year:\n  var firstYear = lookup[years[0]];\n  var continents = Object.keys(firstYear);\n\n  // Create the main traces, one for each continent:\n  var traces = [];\n  for (i = 0; i < continents.length; i++) {\n    var data = firstYear[continents[i]];\n     // One small note. We're creating a single trace here, to which\n     // the frames will pass data for the different years. It's\n     // subtle, but to avoid data reference problems, we'll slice\n     // the arrays to ensure we never write any new data into our\n     // lookup table:\n    traces.push({\n      name: continents[i],\n      x: data.x.slice(),\n      y: data.y.slice(),\n      id: data.id.slice(),\n      text: data.text.slice(),\n      mode: 'markers',\n      marker: {\n        size: data.marker.size.slice(),\n        sizemode: 'area',\n        sizeref: 200000\n      }\n    });\n  }\n\n  // Create a frame for each year. Frames are effectively just\n  // traces, except they don't need to contain the *full* trace\n  // definition (for example, appearance). The frames just need\n  // the parts the traces that change (here, the data).\n  var frames = [];\n  for (i = 0; i < years.length; i++) {\n    frames.push({\n      name: years[i],\n      data: continents.map(function (continent) {\n        return getData(years[i], continent);\n      })\n    })\n  }\n\n  // Now create slider steps, one for each frame. The slider\n  // executes a plotly.js API command (here, Plotly.animate).\n  // In this example, we'll animate to one of the named frames\n  // created in the above loop.\n  var sliderSteps = [];\n  for (i = 0; i < years.length; i++) {\n    sliderSteps.push({\n      method: 'animate',\n      label: years[i],\n      args: [[years[i]], {\n        mode: 'immediate',\n        transition: {duration: 300},\n        frame: {duration: 300, redraw: false},\n      }]\n    });\n  }\n\n  var layout = {\n    xaxis: {\n      title: {text: 'Life Expectancy'},\n      range: [30, 85]\n    },\n    yaxis: {\n      title: {text: 'GDP per Capita'},\n      type: 'log'\n    },\n    hovermode: 'closest',\n     // We'll use updatemenus (whose functionality includes menus as\n     // well as buttons) to create a play button and a pause button.\n     // The play button works by passing `null`, which indicates that\n     // Plotly should animate all frames. The pause button works by\n     // passing `[null]`, which indicates we'd like to interrupt any\n     // currently running animations with a new list of frames. Here\n     // The new list of frames is empty, so it halts the animation.\n    updatemenus: [{\n      x: 0,\n      y: 0,\n      yanchor: 'top',\n      xanchor: 'left',\n      showactive: false,\n      direction: 'left',\n      type: 'buttons',\n      pad: {t: 87, r: 10},\n      buttons: [{\n        method: 'animate',\n        args: [null, {\n          mode: 'immediate',\n          fromcurrent: true,\n          transition: {duration: 300},\n          frame: {duration: 500, redraw: false}\n        }],\n        label: 'Play'\n      }, {\n        method: 'animate',\n        args: [[null], {\n          mode: 'immediate',\n          transition: {duration: 0},\n          frame: {duration: 0, redraw: false}\n        }],\n        label: 'Pause'\n      }]\n    }],\n     // Finally, add the slider and use `pad` to position it\n     // nicely next to the buttons.\n    sliders: [{\n      pad: {l: 130, t: 55},\n      currentvalue: {\n        visible: true,\n        prefix: 'Year:',\n        xanchor: 'right',\n        font: {size: 20, color: '#666'}\n      },\n      steps: sliderSteps\n    }]\n  };\n\n  // Create the plot:\n  Plotly.newPlot('myDiv', {\n    data: traces,\n    layout: layout,\n    frames: frames,\n  });\n});
"},{"location":"examples/gauge-charts/","title":"gauge-charts","text":""},{"location":"examples/gauge-charts/#basic-gauge","title":"basic-gauge","text":"

A radial gauge chart has a circular arc, which displays a single value to estimate progress toward a goal. The bar shows the target value, and the shading represents the progress toward that goal. Gauge charts, known as speedometer charts as well. This chart type is usually used to illustrate key business indicators.

The example below displays a basic gauge chart with default attributes. For more information about different added attributes check indicator tutorial.

var data = [\n    {\n        domain: { x: [0, 1], y: [0, 1] },\n        value: 270,\n        title: { text: \"Speed\" },\n        type: \"indicator\",\n        mode: \"gauge+number\"\n    }\n];\n\nvar layout = { width: 600, height: 500, margin: { t: 0, b: 0 } };\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/gauge-charts/#add-steps-threshold-and-delta","title":"add-steps-threshold-and-delta","text":"

The following examples include \"steps\" attribute shown as shading inside the radial arc, \"delta\" which is the difference of the value and goal (reference - value), and \"threshold\" to determine boundaries that visually alert you if the value cross a defined threshold.

var data = [\n  {\n    domain: { x: [0, 1], y: [0, 1] },\n    value: 450,\n    title: { text: \"Speed\" },\n    type: \"indicator\",\n    mode: \"gauge+number+delta\",\n    delta: { reference: 380 },\n    gauge: {\n      axis: { range: [null, 500] },\n      steps: [\n        { range: [0, 250], color: \"lightgray\" },\n        { range: [250, 400], color: \"gray\" }\n      ],\n      threshold: {\n        line: { color: \"red\", width: 4 },\n        thickness: 0.75,\n        value: 490\n      }\n    }\n  }\n];\n\nvar layout = { width: 600, height: 450, margin: { t: 0, b: 0 } };\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/gauge-charts/#custom-gauge-chart","title":"custom-gauge-chart","text":"

The following example shows how to style your gauge charts. For more information about all possible options check our reference page.

var data = [\n  {\n    type: \"indicator\",\n    mode: \"gauge+number+delta\",\n    value: 420,\n    title: { text: \"Speed\", font: { size: 24 } },\n    delta: { reference: 400, increasing: { color: \"RebeccaPurple\" } },\n    gauge: {\n      axis: { range: [null, 500], tickwidth: 1, tickcolor: \"darkblue\" },\n      bar: { color: \"darkblue\" },\n      bgcolor: \"white\",\n      borderwidth: 2,\n      bordercolor: \"gray\",\n      steps: [\n        { range: [0, 250], color: \"cyan\" },\n        { range: [250, 400], color: \"royalblue\" }\n      ],\n      threshold: {\n        line: { color: \"red\", width: 4 },\n        thickness: 0.75,\n        value: 490\n      }\n    }\n  }\n];\n\nvar layout = {\n  width: 500,\n  height: 400,\n  margin: { t: 25, r: 25, l: 25, b: 25 },\n  paper_bgcolor: \"lavender\",\n  font: { color: \"darkblue\", family: \"Arial\" }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/graphing-multiple-chart-types/","title":"graphing-multiple-chart-types","text":""},{"location":"examples/graphing-multiple-chart-types/#line-chart-and-a-bar-chart","title":"line-chart-and-a-bar-chart","text":"
var trace1 = {\n  x: [0, 1, 2, 3, 4, 5],\n  y: [1.5, 1, 1.3, 0.7, 0.8, 0.9],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5],\n  y: [1, 0.5, 0.7, -1.2, 0.3, 0.4],\n  type: 'bar'\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/graphing-multiple-chart-types/#a-contour-and-scatter-plot-of-the-method-of-steepest-descent","title":"a-contour-and-scatter-plot-of-the-method-of-steepest-descent","text":"
var trace1 = {\n  z: [[1.5, 1.23469387755, 1.01020408163, 0.826530612245, 0.683673469388, 0.581632653061, 0.520408163265, 0.5, 0.520408163265, 0.581632653061, 0.683673469388, 0.826530612245, 1.01020408163, 1.23469387755, 1.5], [1.36734693878, 1.10204081633, 0.877551020408, 0.69387755102, 0.551020408163, 0.448979591837, 0.387755102041, 0.367346938776, 0.387755102041, 0.448979591837, 0.551020408163, 0.69387755102, 0.877551020408, 1.10204081633, 1.36734693878], [1.25510204082, 0.989795918367, 0.765306122449, 0.581632653061, 0.438775510204, 0.336734693878, 0.275510204082, 0.255102040816, 0.275510204082, 0.336734693878, 0.438775510204, 0.581632653061, 0.765306122449, 0.989795918367, 1.25510204082], [1.16326530612, 0.897959183673, 0.673469387755, 0.489795918367, 0.34693877551, 0.244897959184, 0.183673469388, 0.163265306122, 0.183673469388, 0.244897959184, 0.34693877551, 0.489795918367, 0.673469387755, 0.897959183673, 1.16326530612], [1.09183673469, 0.826530612245, 0.602040816327, 0.418367346939, 0.275510204082, 0.173469387755, 0.112244897959, 0.0918367346939, 0.112244897959, 0.173469387755, 0.275510204082, 0.418367346939, 0.602040816327, 0.826530612245, 1.09183673469], [1.04081632653, 0.775510204082, 0.551020408163, 0.367346938776, 0.224489795918, 0.122448979592, 0.0612244897959, 0.0408163265306, 0.0612244897959, 0.122448979592, 0.224489795918, 0.367346938776, 0.551020408163, 0.775510204082, 1.04081632653], [1.01020408163, 0.744897959184, 0.520408163265, 0.336734693878, 0.19387755102, 0.0918367346939, 0.030612244898, 0.0102040816327, 0.030612244898, 0.0918367346939, 0.19387755102, 0.336734693878, 0.520408163265, 0.744897959184, 1.01020408163], [1.0, 0.734693877551, 0.510204081633, 0.326530612245, 0.183673469388, 0.0816326530612, 0.0204081632653, 0.0, 0.0204081632653, 0.0816326530612, 0.183673469388, 0.326530612245, 0.510204081633, 0.734693877551, 1.0], [1.01020408163, 0.744897959184, 0.520408163265, 0.336734693878, 0.19387755102, 0.0918367346939, 0.030612244898, 0.0102040816327, 0.030612244898, 0.0918367346939, 0.19387755102, 0.336734693878, 0.520408163265, 0.744897959184, 1.01020408163], [1.04081632653, 0.775510204082, 0.551020408163, 0.367346938776, 0.224489795918, 0.122448979592, 0.0612244897959, 0.0408163265306, 0.0612244897959, 0.122448979592, 0.224489795918, 0.367346938776, 0.551020408163, 0.775510204082, 1.04081632653], [1.09183673469, 0.826530612245, 0.602040816327, 0.418367346939, 0.275510204082, 0.173469387755, 0.112244897959, 0.0918367346939, 0.112244897959, 0.173469387755, 0.275510204082, 0.418367346939, 0.602040816327, 0.826530612245, 1.09183673469], [1.16326530612, 0.897959183673, 0.673469387755, 0.489795918367, 0.34693877551, 0.244897959184, 0.183673469388, 0.163265306122, 0.183673469388, 0.244897959184, 0.34693877551, 0.489795918367, 0.673469387755, 0.897959183673, 1.16326530612], [1.25510204082, 0.989795918367, 0.765306122449, 0.581632653061, 0.438775510204, 0.336734693878, 0.275510204082, 0.255102040816, 0.275510204082, 0.336734693878, 0.438775510204, 0.581632653061, 0.765306122449, 0.989795918367, 1.25510204082], [1.36734693878, 1.10204081633, 0.877551020408, 0.69387755102, 0.551020408163, 0.448979591837, 0.387755102041, 0.367346938776, 0.387755102041, 0.448979591837, 0.551020408163, 0.69387755102, 0.877551020408, 1.10204081633, 1.36734693878], [1.5, 1.23469387755, 1.01020408163, 0.826530612245, 0.683673469388, 0.581632653061, 0.520408163265, 0.5, 0.520408163265, 0.581632653061, 0.683673469388, 0.826530612245, 1.01020408163, 1.23469387755, 1.5]],\n  x: [-1.0, -0.857142857143, -0.714285714286, -0.571428571429, -0.428571428571, -0.285714285714, -0.142857142857, 0.0, 0.142857142857, 0.285714285714, 0.428571428571, 0.571428571429, 0.714285714286, 0.857142857143, 1.0],\n  y: [-1.0, -0.857142857143, -0.714285714286, -0.571428571429, -0.428571428571, -0.285714285714, -0.142857142857, 0.0, 0.142857142857, 0.285714285714, 0.428571428571, 0.571428571429, 0.714285714286, 0.857142857143, 1.0],\n  ncontours: 30,\n  showscale: false,\n  type: 'contour'\n};\n\nvar trace2 = {\n  x: [-0.8, -0.48, -0.288, -0.1728, -0.10368, -0.062208, -0.0373248, -0.02239488, -0.013436928, -0.0080621568, -0.00483729408, -0.002902376448, -0.0017414258688, -0.00104485552128, -0.000626913312768, -0.000376147987661],\n  y: [-0.9, -0.72, -0.576, -0.4608, -0.36864, -0.294912, -0.2359296, -0.18874368, -0.150994944, -0.1207959552, -0.09663676416, -0.077309411328, -0.0618475290624, -0.0494780232499, -0.0395824185999, -0.0316659348799],\n  mode: 'markers+lines',\n  name: 'steepest',\n  line: {color: 'black'},\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/heatmaps/","title":"heatmaps","text":""},{"location":"examples/heatmaps/#basic-heatmap","title":"basic-heatmap","text":"
var data = [\n  {\n    z: [[1, 20, 30], [20, 1, 60], [30, 60, 1]],\n    type: 'heatmap'\n  }\n];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/heatmaps/#heatmap-with-categorical-axis-labels","title":"heatmap-with-categorical-axis-labels","text":"

In this example we also show how to ignore hovertext when we have missing values in the data by setting the hoverongaps to False.

var data = [\n  {\n    z: [[1, null, 30, 50, 1], [20, 1, 60, 80, 30], [30, 60, 1, -10, 20]],\n    x: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],\n    y: ['Morning', 'Afternoon', 'Evening'],\n    type: 'heatmap',\n    hoverongaps: false\n  }\n];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/heatmaps/#annotated-heatmap","title":"annotated-heatmap","text":"
var xValues = ['A', 'B', 'C', 'D', 'E'];\n\nvar yValues = ['W', 'X', 'Y', 'Z'];\n\nvar zValues = [\n  [0.00, 0.00, 0.75, 0.75, 0.00],\n  [0.00, 0.00, 0.75, 0.75, 0.00],\n  [0.75, 0.75, 0.75, 0.75, 0.75],\n  [0.00, 0.00, 0.00, 0.75, 0.00]\n];\n\nvar colorscaleValue = [\n  [0, '#3D9970'],\n  [1, '#001f3f']\n];\n\nvar data = [{\n  x: xValues,\n  y: yValues,\n  z: zValues,\n  type: 'heatmap',\n  colorscale: colorscaleValue,\n  showscale: false\n}];\n\nvar layout = {\n  title: {\n    text: 'Annotated Heatmap'\n  },\n  annotations: [],\n  xaxis: {\n    ticks: '',\n    side: 'top'\n  },\n  yaxis: {\n    ticks: '',\n    ticksuffix: ' ',\n    width: 700,\n    height: 700,\n    autosize: false\n  }\n};\n\nfor ( var i = 0; i < yValues.length; i++ ) {\n  for ( var j = 0; j < xValues.length; j++ ) {\n    var currentValue = zValues[i][j];\n    if (currentValue != 0.0) {\n      var textColor = 'white';\n    }else{\n      var textColor = 'black';\n    }\n    var result = {\n      xref: 'x1',\n      yref: 'y1',\n      x: xValues[j],\n      y: yValues[i],\n      text: zValues[i][j],\n      font: {\n        family: 'Arial',\n        size: 12,\n        color: 'rgb(50, 171, 96)'\n      },\n      showarrow: false,\n      font: {\n        color: textColor\n      }\n    };\n    layout.annotations.push(result);\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/heatmaps/#heatmap-with-unequal-block-sizes","title":"heatmap-with-unequal-block-sizes","text":"
function linspace(a,b,n) {\n  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});\n}\n//number of spiral loops\n\nvar nspiral = 2;\n\n// angle\n\nvar th = linspace(((-Math.PI) / 13), (2 * Math.PI * nspiral), 1000);\n\n//Empty Value Containers\n\nvar xValues = [];\nvar yValues = [];\nvar yShift = [];\nvar finalX = [];\nvar finalY = [];\n\n//spiral\n\nfor(var i = 0; i < th.length; i++){\n  var a = 1.120529;\n  var b = 0.306349;\n  var r = a * Math.exp((-b) * th[i]);\n  var xResult = (r * Math.cos(th[i]));\n  var yResult = (r * Math.sin(th[i]));\n  xValues.push(xResult);\n  yValues.push(yResult);\n}\n\nfunction getMaxOfArray(numArray) {\n  return Math.max.apply(null, numArray);\n};\n\nfunction getMinOfArray(numArray) {\n  return Math.min.apply(null, numArray);\n};\n\n//Shift spiral north so that it is centered\n\nvar yShift = (1.6 - (getMaxOfArray(yValues) - getMinOfArray(yValues))) / 2;\n\nvar spiralTrace = {\n  x: xValues.map(function(xi) { return -(xi) + xValues[0]; }),\n  y: yValues.map(function(yi) { return yi - yValues[0] + yShift; }),\n  type: 'scatter',\n  line: {\n    color: 'white',\n    width: 3\n  }\n};\n\n//Build the rectangles as a heatmap and specify the edges of the heatmap squares\n\nvar phi = (1 + Math.sqrt(5)) / 2;\nvar xe = [0, 1, (1 + (1 / Math.pow(phi,4))), 1 + (1 / Math.pow(phi,3)), phi];\nvar ye = [0, (1 / Math.pow(phi,3)), (1 / Math.pow(phi,3)) + (1 / Math.pow(phi,4)), (1 / Math.pow(phi,2)), 1];\n\nvar zValues = [\n  [13, 3, 3, 5],\n  [13, 2, 1, 5],\n  [13, 10, 11, 12],\n  [13, 8, 8, 8]\n];\n\nvar hm = {\n  x: xe,\n  y: ye.map(function(yi) { return yi + yShift; }),\n  z: zValues,\n  type: 'heatmap',\n  colorscale: 'Viridis'\n};\n\nvar axisTemplate = {\n  range: [0, 1.6],\n  autorange: false,\n  showgrid: false,\n  zeroline: false,\n  linecolor: 'black',\n  showticklabels: false,\n  ticks: ''\n};\n\nvar data = [spiralTrace, hm];\n\nvar layout = {\n  title: {\n    text: 'Heatmap with Unequal Block Sizes'\n  },\n  margin: {\n    t: 200,\n    r: 200,\n    b: 200,\n    l: 200\n  },\n  xaxis: axisTemplate,\n  yaxis: axisTemplate,\n  showlegend: false,\n  width: 700,\n  height: 700,\n  autosize: false\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/histograms/","title":"histograms","text":""},{"location":"examples/histograms/#basic-histogram","title":"basic-histogram","text":"
var x = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n}\n\nvar trace = {\n    x: x,\n    type: 'histogram',\n  };\nvar data = [trace];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/histograms/#horizontal-histogram","title":"horizontal-histogram","text":"
var y = [];\nfor (var i = 0; i < 500; i ++) {\n    y[i] = Math.random();\n}\n\nvar data = [\n  {\n    y: y,\n    type: 'histogram',\n    marker: {\n    color: 'pink',\n    },\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/histograms/#overlaid-histogram","title":"overlaid-histogram","text":"
var x1 = [];\nvar x2 = [];\nfor (var i = 1; i < 500; i++)\n{\n    k = Math.random();\n    x1.push(Math.random() + 1);\n    x2.push(Math.random() + 1.1);\n}\nvar trace1 = {\n  x: x1,\n  type: \"histogram\",\n  opacity: 0.5,\n  marker: {\n     color: 'green',\n  },\n};\nvar trace2 = {\n  x: x2,\n  type: \"histogram\",\n  opacity: 0.6,\n  marker: {\n     color: 'red',\n  },\n};\n\nvar data = [trace1, trace2];\nvar layout = {barmode: \"overlay\"};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/histograms/#stacked-histograms","title":"stacked-histograms","text":"
var x1 = [];\nvar x2 = [];\nfor (var i = 0; i < 500; i ++) {\n    x1[i] = Math.random();\n    x2[i] = Math.random();\n}\n\nvar trace1 = {\n  x: x1,\n  type: \"histogram\",\n};\nvar trace2 = {\n  x: x2,\n  type: \"histogram\",\n};\nvar data = [trace1, trace2];\nvar layout = {barmode: \"stack\"};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/histograms/#colored-and-styled-histograms","title":"colored-and-styled-histograms","text":"
var x1 = [];\nvar x2 = [];\nvar y1 = [];\nvar y2 = [];\nfor (var i = 1; i < 500; i++)\n{\n  k = Math.random();\n  x1.push(k*5);\n  x2.push(k*10);\n  y1.push(k);\n  y2.push(k*2);\n}\nvar trace1 = {\n  x: x1,\n  y: y1,\n  name: 'control',\n  autobinx: false,\n  histnorm: \"count\",\n  marker: {\n    color: \"rgba(255, 100, 102, 0.7)\",\n     line: {\n      color:  \"rgba(255, 100, 102, 1)\",\n      width: 1\n    }\n  },\n  opacity: 0.5,\n  type: \"histogram\",\n  xbins: {\n    end: 2.8,\n    size: 0.06,\n    start: .5\n  }\n};\nvar trace2 = {\n  x: x2,\n  y: y2,\n  autobinx: false,\n  marker: {\n          color: \"rgba(100, 200, 102, 0.7)\",\n           line: {\n            color:  \"rgba(100, 200, 102, 1)\",\n            width: 1\n    }\n       },\n  name: \"experimental\",\n  opacity: 0.75,\n  type: \"histogram\",\n  xbins: {\n    end: 4,\n    size: 0.06,\n    start: -3.2\n\n  }\n};\nvar data = [trace1, trace2];\nvar layout = {\n  bargap: 0.05,\n  bargroupgap: 0.2,\n  barmode: \"overlay\",\n  title: {\n    text: \"Sampled Results\"\n  },\n  xaxis: {\n      title: {\n          text: \"Value\"\n      }\n  },\n  yaxis: {\n      title: {\n          text: \"Count\"\n      }\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/histograms/#normalized-histogram","title":"normalized-histogram","text":"
var x = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n}\n\nvar data = [\n  {\n    x: x,\n    type: 'histogram',\n    histnorm: 'probability',\n    marker: {\n        color: 'rgb(255,255,100)',\n     },\n  }\n];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/histograms/#cumulative-histogram","title":"cumulative-histogram","text":"
var x = [];\nfor (var i = 0; i < 500; i ++) {\n    x[i] = Math.random();\n}\n\nvar trace = {\n    x: x,\n    type: 'histogram',\n    cumulative: {enabled: true}\n  };\nvar data = [trace];\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/histograms/#specify-binning-function","title":"specify-binning-function","text":"
var x = [\"Apples\",\"Apples\",\"Apples\",\"Oranges\", \"Bananas\"]\nvar y = [\"5\",\"10\",\"3\",\"10\",\"5\"]\n\nvar data = [\n  {\n    histfunc: \"count\",\n    y: y,\n    x: x,\n    type: \"histogram\",\n    name: \"count\"\n  },\n  {\n    histfunc: \"sum\",\n    y: y,\n    x: x,\n    type: \"histogram\",\n    name: \"sum\"\n  }\n]\n\nPlotly.newPlot('myDiv', data)
"},{"location":"examples/horizontal-bar-charts/","title":"horizontal-bar-charts","text":""},{"location":"examples/horizontal-bar-charts/#basic-horizontal-bar-chart","title":"basic-horizontal-bar-chart","text":"
var data = [{\n  type: 'bar',\n  x: [20, 14, 23],\n  y: ['giraffes', 'orangutans', 'monkeys'],\n  orientation: 'h'\n}];\n\nPlotly.newPlot('myDiv', data);
"},{"location":"examples/horizontal-bar-charts/#colored-bar-chart","title":"colored-bar-chart","text":"
var trace1 = {\n  x: [20, 14, 23],\n  y: ['giraffes', 'orangutans', 'monkeys'],\n  name: 'SF Zoo',\n  orientation: 'h',\n  marker: {\n    color: 'rgba(55,128,191,0.6)',\n    width: 1\n  },\n  type: 'bar'\n};\n\nvar trace2 = {\n  x: [12, 18, 29],\n  y: ['giraffes', 'orangutans', 'monkeys'],\n  name: 'LA Zoo',\n  orientation: 'h',\n  type: 'bar',\n  marker: {\n    color: 'rgba(255,153,51,0.6)',\n    width: 1\n  }\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: 'Colored Bar Chart'\n  },\n  barmode: 'stack'\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/horizontal-bar-charts/#bar-chart-with-line-plot","title":"bar-chart-with-line-plot","text":"
var xSavings = [1.3586, 2.2623000000000002, 4.9821999999999997, 6.5096999999999996,\n  7.4812000000000003, 7.5133000000000001, 15.2148, 17.520499999999998\n];\n\nvar xNetworth = [93453.919999999998, 81666.570000000007, 69889.619999999995, 78381.529999999999, 141395.29999999999, 92969.020000000004, 66090.179999999993, 122379.3];\n\nvar ySavings = ['Japan', 'United Kingdom', 'Canada', 'Netherlands', 'United States', 'Belgium', 'Sweden', 'Switzerland'];\n\nvar yNetworth = ['Japan', 'United Kingdom', 'Canada', 'Netherlands', 'United States', 'Belgium', 'Sweden', 'Switzerland'];\n\nvar trace1 = {\n  x: xSavings,\n  y: ySavings,\n  xaxis: 'x1',\n  yaxis: 'y1',\n  type: 'bar',\n  marker: {\n    color: 'rgba(50,171,96,0.6)',\n    line: {\n      color: 'rgba(50,171,96,1.0)',\n      width: 1\n    }\n  },\n  name: 'Household savings, percentage of household disposable income',\n  orientation: 'h'\n};\n\nvar trace2 = {\n  x: xNetworth,\n  y: yNetworth,\n  xaxis: 'x2',\n  yaxis: 'y1',\n  mode: 'lines+markers',\n  line: {\n    color: 'rgb(128,0,128)'\n  },\n  name: 'Household net worth, Million USD/capita'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: 'Household Savings & Net Worth for Eight OECD Countries'\n  },\n  xaxis1: {\n    range: [0, 20],\n    domain: [0, 0.5],\n    zeroline: false,\n    showline: false,\n    showticklabels: true,\n    showgrid: true\n  },\n  xaxis2: {\n    range: [25000, 150000],\n    domain: [0.5, 1],\n    zeroline: false,\n    showline: false,\n    showticklabels: true,\n    showgrid: true,\n    side: 'top',\n    dtick: 25000\n  },\n  legend: {\n    x: 0.029,\n    y: 1.238,\n    font: {\n      size: 10\n    }\n  },\n  margin: {\n    l: 100,\n    r: 20,\n    t: 200,\n    b: 70\n  },\n  width: 600,\n  height: 600,\n  paper_bgcolor: 'rgb(248,248,255)',\n  plot_bgcolor: 'rgb(248,248,255)',\n  annotations: [\n    {\n      xref: 'paper',\n      yref: 'paper',\n      x: -0.2,\n      y: -0.109,\n      text: 'OECD ' + '(2015), Household savings (indicator), ' + 'Household net worth (indicator). doi: ' + '10.1787/cfc6f499-en (Accessed on 05 June 2015)',\n      showarrow: false,\n      font:{\n        family: 'Arial',\n        size: 10,\n        color: 'rgb(150,150,150)'\n      }\n    }\n  ]\n};\n\nfor ( var i = 0 ; i < xSavings.length ; i++ ) {\n  var result = {\n    xref: 'x1',\n    yref: 'y1',\n    x: xSavings[i]+2.3,\n    y: ySavings[i],\n    text: xSavings[i] + '%',\n    font: {\n      family: 'Arial',\n      size: 12,\n      color: 'rgb(50, 171, 96)'\n    },\n     showarrow: false,\n  };\n  var result2 = {\n    xref: 'x2',\n    yref: 'y1',\n    x: xNetworth[i] - 20000,\n    y: yNetworth[i],\n    text: xNetworth[i] + ' M',\n    font: {\n      family: 'Arial',\n      size: 12,\n      color: 'rgb(128, 0, 128)'\n    },\n     showarrow: false\n  };\n  layout.annotations.push(result, result2);\n}\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/horizontal-legend/","title":"horizontal-legend","text":""},{"location":"examples/horizontal-legend/#basic-example","title":"basic-example","text":"
var trace1 = {\n        x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n        y: [0, 3, 6, 4, 5, 2, 3, 5, 4],\n        type: 'scatter',\n        name:'Plot 1'\n        };\nvar trace2 = {\n        x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n        y: [0, 4, 7, 8, 3, 6, 3, 3, 4],\n        type: 'scatter',\n        name:'Plot 2'\n        };\nvar trace3 = {\n        x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n        y: [0, 5, 3, 10, 5.33, 2.24, 4.4, 5.1, 7.2],\n        type: 'scatter',\n        name:'Plot 3'\n        };\n\nvar data = [trace1, trace2, trace3];\nvar layout = {\n        showlegend: true,\n        legend: {\"orientation\": \"h\"}\n        };\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/hover-events/","title":"hover-events","text":""},{"location":"examples/hover-events/#hover-event-data","title":"hover-event-data","text":"
{\n  points: [{\n    curveNumber: 2,  // index in data of the trace associated with the selected point \n    pointNumber: 2,  // index of the selected point\n    x: 5,        // x value\n    y: 600,      // y value\n    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point\n    fullData: {/* */},   // ref to the trace including all the defaults\n   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point\n   yaxis: {/* */}    // ref to y-axis object \" \"\n  }, {\n    /* similarly for other selected points */\n  }]\n}
"},{"location":"examples/hover-events/#capturing-hover-events:-data","title":"capturing-hover-events:-data","text":"
var myPlot = document.getElementById('myDiv'),\n    hoverInfo = document.getElementById('hoverinfo'),\n    N = 16,\n    x = d3.range(N),\n    y1 = d3.range(N).map( d3.random.normal() ),\n    y2 = d3.range(N).map( d3.random.normal() ),\n    data = [ { x:x, y:y1, type:'scatter', name:'Trial 1',\n        mode:'markers', marker:{size:16} },\n        { x:x, y:y2, type:'scatter', name:'Trial 2',\n        mode:'markers', marker:{size:16} } ];\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Hover on Points'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_hover', function(data){\n    var infotext = data.points.map(function(d){\n      return (d.data.name+': x= '+d.x+', y= '+d.y.toPrecision(3));\n    });\n\n    hoverInfo.innerHTML = infotext.join('<br/>');\n})\n .on('plotly_unhover', function(data){\n    hoverInfo.innerHTML = '';\n});
"},{"location":"examples/hover-events/#capturing-hover-events:-pixels","title":"capturing-hover-events:-pixels","text":"
var myPlot = document.getElementById('myDiv'),\n    hoverInfo = document.getElementById('hoverinfo'),\n    N = 16,\n    x = d3.range(N),\n    y1 = d3.range(N).map(d3.random.normal()),\n    y2 = d3.range(N).map(d3.random.normal()),\n    data = [{x:x, y:y1, type:'scatter', name:'Trial 1',\n        mode:'markers', marker:{size:16}},\n        {x:x, y:y2, type:'scatter', name:'Trial 2',\n        mode:'markers', marker:{size:16}}],\n    layout = {hovermode:'closest',\n              title: {text: 'Hover on Points to see<br>Pixel Coordinates'}};\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_hover', function(data){\n    var xaxis = data.points[0].xaxis,\n        yaxis = data.points[0].yaxis;\n    var infotext = data.points.map(function(d){\n      return ('width: '+xaxis.l2p(d.x)+', height: '+yaxis.l2p(d.y));\n    });\n\n    hoverInfo.innerHTML = infotext.join('<br/>');\n})\n .on('plotly_unhover', function(data){\n    hoverInfo.innerHTML = '';\n});
"},{"location":"examples/hover-events/#triggering-hover-events","title":"triggering-hover-events","text":"
var myPlot = document.getElementById('myDiv'),\n    hoverButton = document.getElementById('hoverbutton'),\n    N = 16,\n    x = d3.range(N),\n    y1 = d3.range(N).map( d3.random.normal() ),\n    y2 = d3.range(N).map( d3.random.normal() ),\n    data = [ { x:x, y:y1, type:'scatter', name:'Trial 1',\n        mode:'markers', marker:{size:16} },\n        { x:x, y:y2, type:'scatter', name:'Trial 2',\n        mode:'markers', marker:{size:16} } ];\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Click \"Go\" button to trigger hover'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_beforehover',function(){\n    return false;\n});\n\nhoverButton.addEventListener('click', function(){\n    var curve1 = Math.floor(Math.random()*2),\n        curve2 = Math.floor(Math.random()*2),\n        point1 = Math.floor(Math.random()*14),\n        point2 = Math.floor(Math.random()*14);\n    Plotly.Fx.hover('myDiv',[\n        {curveNumber:curve1, pointNumber:point1},\n        {curveNumber:curve2, pointNumber:point2}\n    ]);\n});
"},{"location":"examples/hover-events/#coupled-hover-events","title":"coupled-hover-events","text":"
var myPlot = document.getElementById('myDiv'),\n    N = 12,\n    x1 = d3.range(N).map( d3.random.normal() ),\n    x2 = d3.range(N).map( d3.random.normal() ),\n    x3 = d3.range(N).map( d3.random.normal() ),\n    y1 = d3.range(N).map( d3.random.normal() ),\n    y2 = d3.range(N).map( d3.random.normal() ),\n    y3 = d3.range(N).map( d3.random.normal() ),\n    months = ['January', 'February', 'March', 'April',\n              'May', 'June', 'July', 'August',\n              'September', 'October', 'November', 'December']\n    data = [{ x: x1, y: y1, text: months, type: 'scatter', name: '2014', hoverinfo: 'text+x+y',\n              mode: 'markers', marker: {color: 'rgba(200, 50, 100, .7)', size: 16}\n            },\n            { x: x2, y: y2, text: months, type: 'scatter', name: '2015', hoverinfo: 'text+x+y',\n             mode: 'markers', marker: {color: 'rgba(120, 20, 130, .7)', size: 16}\n            },\n            { x: x3, y: y3, text: months, type: 'scatter', name: '2016', hoverinfo: 'text+x+y',\n             mode: 'markers', marker: {color: 'rgba(10, 180, 180, .8)', size: 16}\n            }];\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Display Hover Info for Related Points'},\n        xaxis:{zeroline:false, hoverformat: '.2r'},\n        yaxis:{zeroline:false, hoverformat: '.2r'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_hover', function (eventdata){\n    var points = eventdata.points[0],\n        pointNum = points.pointNumber;\n\n    Plotly.Fx.hover('myDiv',[\n        { curveNumber:0, pointNumber:pointNum },\n        { curveNumber:1, pointNumber:pointNum },\n        { curveNumber:2, pointNumber:pointNum },\n    ]);\n});
"},{"location":"examples/hover-events/#combined-click-and-hover-events","title":"combined-click-and-hover-events","text":"
This is a more complex example that uses both hover, and click events to display traces. Take a look in the codepen javascript!
"},{"location":"examples/hover-text-and-formatting/","title":"hover-text-and-formatting","text":""},{"location":"examples/hover-text-and-formatting/#adding-hover-text-to-data-in-line-and-scatter-plots","title":"adding-hover-text-to-data-in-line-and-scatter-plots","text":"
var data = [\n  {\n    x: [0, .5, 1, 1.5, 2],\n    y: [1, 3, 2, 4, 2],\n    mode: 'markers',\n    marker: {size:16},\n    text: ['Text A', 'Text B', 'Text C', 'Text D', 'Text E'],\n    type: 'scatter'\n  }\n];\nvar layout = {\n  title: {\n      text: 'Hover over the points to see the text'\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/hover-text-and-formatting/#rounding-x-and-y-hover-values","title":"rounding-x-and-y-hover-values","text":"
// Round x and y hover values by setting hoverformat in layout.xaxis and/or layout.yaxis\n// using D3 number formatting ( https://github.com/mbostock/d3/wiki/Formatting )\n\nvar N = 40,\n    x = d3.range(N).map( d3.random.normal() ),\n    y1 = d3.range(N).map( d3.random.normal() ),\n    y2 = d3.range(N).map( d3.random.normal() ),\n    data = [{ x:x, y:y1, type:'scatter', mode:'markers',\n              marker:{color:'rgba(200, 50, 100, .7)', size:16},\n              hoverinfo:\"x+y\"\n             },\n            { x:x, y:y2, type:'scatter', mode:'markers',\n             marker:{color:'rgba(10, 180, 180, .8)', size:16},\n             hoverinfo:\"x+y\"}];\n    layout = {\n    hovermode: 'closest',\n    title: {\n        text: 'Formatting X & Y Hover Values'\n    },\n    xaxis: {\n        zeroline: false,\n        hoverformat: '.2f',\n        title: {\n            text: 'Rounded: 2 values after the decimal point on hover'\n        }\n    },\n    yaxis: {\n        zeroline: false,\n        hoverformat: '.2r',\n        title: {\n            text: 'Rounded: 2 significant values on hover'\n        }\n    }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/hover-text-and-formatting/#hovertemplate","title":"hovertemplate","text":"
var data = [\n    {\n        type: 'scatter',\n        mode: 'lines+markers',\n        x: [1,2,3,4,5],\n        y: [2.02825,1.63728,6.83839,4.8485,4.73463],\n        hovertemplate: '<i>Price</i>: $%{y:.2f}' +\n                        '<br><b>X</b>: %{x}<br>' +\n                        '<b>%{text}</b>',\n        text: [\"Text A\", \"Text B\", \"Text C\", \"Text D\", \"Text E\"],\n        showlegend: false\n    },\n    {\n        x: [1,2,3,4,5],\n        y: [3.02825,2.63728,4.83839,3.8485,1.73463],\n        hovertemplate: 'Price: %{y:$.2f}<extra></extra>',\n        showlegend: false\n    }\n];\n\nvar layout = {\n    title: {\n        text: \"Set hover text with hovertemplate\"\n    },\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/hover-text-and-formatting/#unified-hover-mode","title":"unified-hover-mode","text":"

If \"x unified\" (or \"y unified\"), a single hoverlabel will appear for multiple points at the closest x- (or y-) coordinate within the hoverdistance with the caveat that no more than one hoverlabel will appear per trace.

var data = [\n  {\n    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],\n    y: [10, 15, 12, 18],\n    mode: 'markers+lines',\n    name: 'Series A',\n    hovertemplate: null,\n    type: 'scatter'\n  },\n  {\n    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],\n    y: [8, 12, 16, 14],\n    mode: 'markers+lines',\n    name: 'Series B',\n    hovertemplate: null,\n    type: 'scatter'\n  }\n];\n\nvar layout = {\n  title: {\n    text: \"layout.hovermode='x unified'\"\n  },\n  hovermode: 'x unified',\n  xaxis: {\n    title: 'Date'\n  },\n  yaxis: {\n    title: 'Value'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/hover-text-and-formatting/#custom-unified-hover-title","title":"custom-unified-hover-title","text":"

New in 3.1

Customize the title shown in unified hovermode by specifying unifiedhovertitle.text. The unified hover title is a template string that supports using variables from the data. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{x|%A}\".

var data = [\n  {\n    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],\n    y: [150.25, 165.50, 142.75, 178.90],\n    mode: 'lines+markers',\n    name: 'Stock A',\n    type: 'scatter'\n  },\n  {\n    x: ['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01'],\n    y: [85.30, 92.15, 88.45, 95.20],\n    mode: 'lines+markers',\n    name: 'Stock B',\n    type: 'scatter'\n  }\n];\n\nvar layout = {\n  title: {\n    text: \"Stock Prices with Custom Unified Hover Title\"\n  },\n  hovermode: 'x unified',\n  xaxis: {\n    title: 'Date',\n    unifiedhovertitle: {\n      text: '<b>%{x|%A, %B %d, %Y}</b>'\n    }\n  },\n  yaxis: {\n    title: 'Price (USD)',\n    tickprefix: '$'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/images/","title":"images","text":""},{"location":"examples/images/#add-a-logo","title":"add-a-logo","text":"
var data = [\n  {\n    x: [\"-35.3\", \"-15.9\", \"-15.8\", \"-15.6\", \"-11.1\", \"-9.6\", \"-9.2\", \"-3.5\", \"-1.9\", \"-0.9\", \"1.0\", \"1.4\", \"1.7\", \"2.0\", \"2.8\", \"6.2\", \"8.1\", \"8.5\", \"8.5\", \"8.6\", \"11.4\", \"12.5\", \"13.3\", \"13.7\", \"14.4\", \"17.5\", \"17.7\", \"18.9\", \"25.1\", \"28.9\", \"41.4\"],\n    y: [\"Designers, musicians, artists, etc.\", \"Secretaries and administrative assistants\", \"Waiters and servers\", \"Archivists, curators, and librarians\", \"Sales and related\", \"Childcare workers, home car workers, etc.\", \"Food preparation occupations\", \"Janitors, maids, etc.\", \"Healthcare technicians, assistants. and aides\", \"Counselors, social and religious workers\", \"Physical, life and social scientists\", \"Construction\", \"Factory assembly workers\", \"Machinists, repairmen, etc.\", \"Media and communications workers\", \"Teachers\", \"Mechanics, repairmen, etc.\", \"Financial analysts and advisers\", \"Farming, fishing and forestry workers\", \"Truck drivers, heavy equipment operator, etc.\", \"Accountants and auditors\", \"Human resources, management analysts, etc.\", \"Managers\", \"Lawyers and judges\", \"Engineers, architects and surveyors\", \"Nurses\", \"Legal support workers\", \"Computer programmers and system admin.\", \"Police officers and firefighters\", \"Chief executives\", \"Doctors, dentists and surgeons\"],\n    marker: {\n      color: \"rgb(253, 240, 54)\",\n      line: {\n        color: \"rgb(0, 0, 0)\",\n        width: 2\n      }\n    },\n    name: \"y\",\n    orientation: \"h\",\n    type: \"bar\",\n  }\n];\nvar layout = {\n  autosize: false,\n  bargap: 0.15,\n  bargroupgap: 0.1,\n  barmode: \"stack\",\n  height: 800,\n  hovermode: \"x\",\n  images: [\n    {\n      x: 1,\n      y: 1.05,\n      sizex: 0.2,\n      sizey: 0.2,\n      source: \"https://raw.githubusercontent.com/cldougl/plot_images/add_r_img/vox.png\",\n      xanchor: \"right\",\n      xref: \"paper\",\n      yanchor: \"bottom\",\n      yref: \"paper\"\n    }\n  ],\n  margin: {\n    r: 20,\n    t: 125,\n    b: 75,\n    l: 300\n  },\n  title: {\n    text: \"Moving Up, Moving Down<br><i>Percentile change in income between childhood and adulthood</i>\"\n  },\n  width: 700,\n  xaxis: {\n    tickmode: \"linear\",\n    dtick: 10,\n    gridcolor: \"rgba(102, 102, 102, 0.4)\",\n    linecolor: \"#000\",\n    linewidth: 1,\n    mirror: true,\n    nticks: 0,\n    showticklabels: true,\n    tick0: 0,\n    tickwidth: 1,\n    title: {\n      text: \"<i>Change in percentile</i>\"\n    },\n  },\n  yaxis: {\n    anchor: \"x\",\n    tickmode: \"linear\",\n    gridcolor: \"rgba(102, 102, 102, 0.4)\",\n    gridwidth: 1,\n    linecolor: \"#000\",\n    linewidth: 1,\n    mirror: true,\n    showgrid: false,\n    showline: true,\n    showticklabels: true,\n    tick0: 0,\n    type: \"category\",\n    zeroline: false\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
"},{"location":"examples/images/#add-multiple-images","title":"add-multiple-images","text":"
Plotly.newPlot('myDiv', [{\n  x: [1, 2, 3],\n  y: [1, 2, 3]\n}], {\n  images: [\n      {\n        \"source\": \"https://images.plot.ly/language-icons/api-home/python-logo.png\",\n        \"xref\": \"paper\",\n        \"yref\": \"paper\",\n        \"x\": 0,\n        \"y\": 1,\n        \"sizex\": 0.2,\n        \"sizey\": 0.2,\n        \"xanchor\": \"right\",\n        \"yanchor\": \"bottom\"\n      },\n      {\n        \"source\": \"https://images.plot.ly/language-icons/api-home/js-logo.png\",\n        \"xref\": \"x\",\n        \"yref\": \"y\",\n        \"x\": 1.5,\n        \"y\": 2,\n        \"sizex\": 1,\n        \"sizey\": 1,\n        \"xanchor\": \"right\",\n        \"yanchor\": \"bottom\"\n      },\n      {\n        \"source\": \"https://images.plot.ly/language-icons/api-home/r-logo.png\",\n        \"xref\": \"x\",\n        \"yref\": \"y\",\n        \"x\": 1,\n        \"y\": 3,\n        \"sizex\": 2,\n        \"sizey\": 2,\n        \"sizing\": \"stretch\",\n        \"opacity\": 0.4,\n        \"layer\": \"below\"\n      },\n      {\n        \"source\": \"https://images.plot.ly/language-icons/api-home/matlab-logo.png\",\n        \"xref\": \"x\",\n        \"yref\": \"paper\",\n        \"x\": 3,\n        \"y\": 0,\n        \"sizex\": 0.5,\n        \"sizey\": 1,\n        \"opacity\": 1,\n        \"xanchor\": \"right\",\n        \"yanchor\": \"middle\"\n      },\n    ]\n})
"},{"location":"examples/indicator/","title":"indicator","text":""},{"location":"examples/indicator/#overview","title":"overview","text":"

In this tutorial we introduce a new trace named \"Indicator\". The purpose of \"indicator\" is to visualize a single value specified by the \"value\" attribute. Three distinct visual elements are available to represent that value: number, delta and gauge. Any combination of them can be specified via the \"mode\" attribute. Top-level attributes are:

  1. value: the value to visualize
  2. mode: which visual elements to draw
  3. align: how to align number and delta (left, center, right)
  4. domain: the extent of the figure

Then we can configure the 3 different visual elements via their respective container:

  1. number is simply a representation of the number in text. It has attributes:
  2. valueformat: to format the number
  3. prefix: a string before the number
  4. suffix: a string after the number
  5. font.(family|size): to control the font
  6. \"delta\" simply displays the difference between the value with respect to a reference. It has attributes:

    1. reference: the number to compare the value with
    2. relative: whether that difference is absolute or relative
    3. valueformat: to format the delta
    4. (increasing|decreasing).color: color to be used for positive or decreasing delta
    5. (increasing|decreasing).symbol: symbol displayed on the left of the delta
    6. font.(family|size): to control the font
    7. position: position relative to `number` (either top, left, bottom, right)

    Finally, we can have a simple title for the indicator via title with 'text' attribute which is a string, and 'align' which can be set to left, center, and right. There are two gauge types: angular and bullet. Here is a combination of both shapes (angular, bullet), and different modes (guage, delta, and value):

    var data = [\n  {\n    type: \"indicator\",\n    value: 200,\n    delta: { reference: 160 },\n    gauge: { axis: { visible: false, range: [0, 250] } },\n    domain: { row: 0, column: 0 }\n  },\n  {\n    type: \"indicator\",\n    value: 120,\n    gauge: {\n      shape: \"bullet\",\n      axis: {\n        visible: false,\n        range: [-200, 200]\n      }\n    },\n    domain: { x: [0.1, 0.5], y: [0.15, 0.35] }\n  },\n  {\n    type: \"indicator\",\n    mode: \"number+delta\",\n    value: 300,\n    domain: { row: 0, column: 1 }\n  },\n  { type: \"indicator\", mode: \"delta\", value: 40, domain: { row: 1, column: 1 } }\n];\n\nvar layout = {\n  width: 600,\n  height: 400,\n  margin: { t: 25, b: 25, l: 25, r: 25 },\n  grid: { rows: 2, columns: 2, pattern: \"independent\" },\n  template: {\n    data: {\n      indicator: [\n        {\n          title: { text: \"Speed\" },\n          mode: \"number+delta+gauge\",\n          delta: { reference: 90 }\n        }\n      ]\n    }\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/indicator/#a-single-angular-gauge-chart","title":"a-single-angular-gauge-chart","text":"
    var data = [\n  {\n    domain: { x: [0, 1], y: [0, 1] },\n    value: 450,\n    title: { text: \"Speed\" },\n    type: \"indicator\",\n    mode: \"gauge+number\",\n    delta: { reference: 400 },\n    gauge: { axis: { range: [null, 500] } }\n  }\n];\n\nvar layout = { width: 600, height: 400 };\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/indicator/#bullet-gauge","title":"bullet-gauge","text":"

    The equivalent of above \"angular gauge\":

    var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+gauge+delta\",\n    gauge: { shape: \"bullet\" },\n    delta: { reference: 300 },\n    value: 220,\n    domain: { x: [0, 1], y: [0, 1] },\n    title: { text: \"Profit\" }\n  }\n];\n\nvar layout = { width: 600, height: 250 };\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/indicator/#showing-information-above-your-chart","title":"showing-information-above-your-chart","text":"

    Another interesting feature is that indicator trace sits above the other traces (even the 3d ones). This way, it can be easily used as an overlay as demonstrated below:

    var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+delta\",\n    value: 492,\n    delta: { reference: 512, valueformat: \".0f\" },\n    domain: { y: [0, 1], x: [0.25, 0.75] },\n    title: { text: \"Users online\" }\n  },\n  {\n    y: [325, 324, 405, 400, 424, 404, 417, 432, 419, 394, 410, 426, 413, 419, 404, 408, 401, 377, 368, 361, 356, 359, 375, 397, 394, 418, 437, 450, 430, 442, 424, 443, 420, 418, 423, 423, 426, 440, 437, 436, 447, 460, 478, 472, 450, 456, 436, 418, 429, 412, 429, 442, 464, 447, 434, 457, 474, 480, 499, 497, 480, 502, 512, 492]\n  }\n];\n\nvar layout = { width: 600, height: 450, xaxis: { range: [0, 62] } };\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/indicator/#data-cards-/-big-numbers","title":"data-cards-/-big-numbers","text":"

    Data card helps to display more contextual information about the data. Sometimes one number is all you want to see in a report, such as total sales, annual revenue, etc. This example shows how to visualize these big numbers:

    var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+delta\",\n    value: 400,\n    number: { prefix: \"$\" },\n    delta: { position: \"top\", reference: 320 },\n    domain: { x: [0, 1], y: [0, 1] }\n  }\n];\n\nvar layout = {\n  paper_bgcolor: \"lightgray\",\n  width: 600,\n  height: 200,\n  margin: { t: 0, b: 0, l: 0, r: 0 }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/indicator/","title":"","text":"

    It's possible to display several numbers

    var data = [\n  {\n    type: \"indicator\",\n    mode: \"number+delta\",\n    value: 200,\n    domain: { x: [0, 0.5], y: [0, 0.5] },\n    delta: { reference: 400, relative: true, position: \"top\" }\n  },\n  {\n    type: \"indicator\",\n    mode: \"number+delta\",\n    value: 350,\n    delta: { reference: 400, relative: true },\n    domain: { x: [0, 0.5], y: [0.5, 1] }\n  },\n  {\n    type: \"indicator\",\n    mode: \"number+delta\",\n    value: 450,\n    title: {\n      text:\n        \"Accounts<br><span style='font-size:0.8em;color:gray'>Subtitle</span><br><span style='font-size:0.8em;color:gray'>Subsubtitle</span>\"\n    },\n    delta: { reference: 400, relative: true },\n    domain: { x: [0.6, 1], y: [0, 1] }\n  }\n];\n\nvar layout = {\n  width: 600,\n  height: 400,\n  margin: { t: 25, r: 25, l: 25, b: 25 }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/insets/","title":"insets","text":""},{"location":"examples/insets/#simple-inset-graph","title":"simple-inset-graph","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [4, 3, 2],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [20, 30, 40],\n  y: [30, 40, 50],\n  xaxis: 'x2',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  yaxis2: {\n    domain: [0.6, 0.95],\n    anchor: 'x2'\n  },\n  xaxis2: {\n    domain: [0.6, 0.95],\n    anchor: 'y2'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/lasso-selection/","title":"lasso-selection","text":""},{"location":"examples/lasso-selection/#lasso-selection","title":"lasso-selection","text":"
    var graphDiv = document.getElementById('myDiv');\nvar N = 1000;\nvar color1 = '#7b3294';\nvar color1Light = '#c2a5cf';\nvar colorX = '#ffa7b5';\nvar colorY = '#fdae61';\n\nfunction randomArray() {\n  var out = new Array(N);\n  for(var i = 0; i < N; i++) {\n    out[i] = Math.random();\n  }\n  return out;\n}\nvar x = randomArray();\nvar y = randomArray();\n\nPlotly.newPlot(graphDiv, [{\n  type: 'scatter',\n  mode: 'markers',\n  x: x,\n  y: y,\n  xaxis: 'x',\n  yaxis: 'y',\n  name: 'random data',\n  marker: {color: color1, size: 10}\n}, {\n  type: 'histogram',\n  x: x,\n  xaxis: 'x2',\n  yaxis: 'y2',\n  name: 'x coord dist.',\n  marker: {color: colorX}\n}, {\n  type: 'histogram',\n  x: y,\n  xaxis: 'x3',\n  yaxis: 'y3',\n  name: 'y coord dist.',\n  marker: {color: colorY}\n}], {\n  title: {\n    text: 'Lasso around the scatter points to see sub-distributions'\n  },\n  dragmode: 'lasso',\n  xaxis: {\n    zeroline: false,\n  },\n  yaxis: {\n    domain: [0.55, 1],\n  },\n  xaxis2: {\n    domain: [0, 0.45],\n    anchor: 'y2',\n  },\n  yaxis2: {\n    domain: [0, 0.45],\n    anchor: 'x2'\n  },\n  xaxis3: {\n    domain: [0.55, 1],\n    anchor: 'y3'\n  },\n  yaxis3: {\n    domain: [0, 0.45],\n    anchor: 'x3'\n  }\n});\n\ngraphDiv.on('plotly_selected', function(eventData) {\n  var x = [];\n  var y = [];\n\n  var colors = [];\n  for(var i = 0; i < N; i++) colors.push(color1Light);\n\n  console.log(eventData.points)\n\n  eventData.points.forEach(function(pt) {\n    x.push(pt.x);\n    y.push(pt.y);\n    colors[pt.pointNumber] = color1;\n  });\n\n  Plotly.restyle(graphDiv, {\n    x: [x, y],\n    xbins: {}\n  }, [1, 2]);\n\n  Plotly.restyle(graphDiv, 'marker.color', [colors], [0]);\n});
    "},{"location":"examples/layout-template/","title":"layout-template","text":""},{"location":"examples/layout-template/#the-layout-template-attribute","title":"the-layout-template-attribute","text":"

    The template attribute of layout allows a Plotly chart to take it's style and formatting from a template object. templates can be generated using Plotly.makeTemplate or manually. annotaions, updatemenus, images, shapes and other container array objects in the Plotly layout are specially handled by the template machinery to provide more flexibility when using these container arrays in plots derived from these templates.

    For more information see https://plotly.com/javascript/reference/layout/#layout-template.

    "},{"location":"examples/layout-template/#add-named-container-array-items","title":"add-named-container-array-items","text":"

    Container array items in a template with a name attribute will be added to any plot using that template. We can use this feature to create a template that adds watermarks to our chart by including named image items in images. The example below also shows how to make one of these images invisible using the templateitemname attribute if you don't want it to display for this specific chart.

    var baseLayout = {\n    title: {\n      text: 'Watermark Template'\n  },\n    // items with a `name` attribute in template.images will be added to any\n    // plot using this template\n    images: [{\n        name: 'watermark_1',\n        source: \"https://raw.githubusercontent.com/michaelbabyn/plot_data/master/benzene.png\",\n        xref: \"paper\",\n        yref: \"paper\",\n        x: 0.40,\n        y: 0.9,\n        sizex: 0.7,\n        sizey: 0.7,\n        opacity: 0.1,\n        layer: \"below\"\n      },\n      {\n          name: 'watermark_2',\n          source: \"https://raw.githubusercontent.com/michaelbabyn/plot_data/master/naphthalene.png\",\n          xref: \"paper\",\n          yref: \"paper\",\n          x: .75,\n          y: 0.3,\n          sizex: 0.25,\n          sizey: 0.25,\n          sizing: \"stretch\",\n          opacity: 0.2,\n          layer: \"below\"\n        }],\n    showlegend: false\n};\n\nvar template = {data: {}, layout: baseLayout};\n\nvar data = [{\n    x: [0, 1, 2, 3, 4, 5],\n    y: [2, 4, 3, 0, 5, 6],\n}];\n\nvar layoutUsingTemplate = {\n  template: template,\n  images: [\n    {\n      // set the second watermark in the template to be invisible\n      templateitemname: 'watermark_2',\n      visible: false\n    }\n  ]\n};\n\nPlotly.newPlot(\"myDiv\", data, layoutUsingTemplate);
    "},{"location":"examples/layout-template/#matching-named-template-container-items","title":"matching-named-template-container-items","text":"

    A container item in your new plot with the attribute templateitemname matching one of the named container items in the template will inherit attributes from item with the corresponding name. If an item in the plot using the template has the templateitemname attribute but there is no corresponding template container item by the same name, it will be marked as invisible in your new plot.

    var x = [0, 1, 2, 3, 4, 5];\nvar y = [2, 4, 3, 0, 5, 6];\n\nvar baseData = [{\n    mode: 'lines',\n    error_y: {visible: true, width: 0},\n    line: {color: 'teal'}\n}];\n\nvar baseLayout = {\n    title: {\n      text: 'Template Title'\n    },\n    annotations: [{\n      text: 'First point',\n      name:'first',\n      yref: 'y', xref: 'x',\n      ay: 40, ax: 30,\n      font: {size: 16}\n    }],\n    showlegend: false\n};\n\n// use Plotly.makeTemplate to generate the template object\nvar template = Plotly.makeTemplate({data: baseData, layout: baseLayout});\n\nvar data = [{\n    x: x,\n    y: y,\n}];\n\nvar annotations = [\n\n  // plotly will look for an annotation with `name` matching `templateitemname`\n  // and use insert that annotation into the new plot.\n  {\n    templateitemname:'first',\n    x: x[0],\n    y: y[0],\n  },\n  {\n    templateitemname: 'fourth', //since there is no template item with this name,\n                                //this annotation will be set to invisible.\n    text: 'Fourth point',\n    x: x[3],\n    y: y[3],\n    showarrow: true,\n    yref: 'y', xref: 'x',\n  }\n ];\nvar layoutWithTemplate = {template: template, annotations: annotations};\n\nPlotly.newPlot(\"myDiv\", data, layoutWithTemplate);
    "},{"location":"examples/layout-template/#creating-default-item-values","title":"creating-default-item-values","text":"

    Add an attribute called annotationdefaults to your template to set a default annotation object. Each item in the plot using the template without a templateitemname attribute will have the default applied to it. annotationdefaults can be manually added to a template or, if makeTemplate is used, the first un-named item in annotations will be used as the default.

    Note, this behaviour works for all container array objects. E.g for images, you would create imagedefaults in your layout containing the default image item.

    var x = [0, 1, 2, 3, 4, 5];\nvar y = [2, 4, 3, 0, 5, 6];\n\nvar baseData = [{\n    mode: 'lines',\n    error_y: {visible: true, width: 0},\n    line: {color: 'teal'}\n}];\n\nvar baseLayout = {\n\n  // Plotly.makeTemplate will use the first annotation without a `name` attribute\n  // in the annotations array as the annotationdefaults for the template.\n  annotations: [\n  {\n      text: 'DEFAULT ANNOTATION',\n      x: 0.1,\n      y: 1.1,\n      yref: 'paper', xref: 'paper',\n      showarrow: false,\n      font: {color:'teal', size: 14}\n    }\n  ],\n    showlegend: false\n};\n\n// use Plotly.makeTemplate to generate the template object\nvar template = Plotly.makeTemplate({data: baseData, layout: baseLayout});\n\nvar data = [{\n    x: x,\n    y: y\n}];\n\nvar annotations = [\n  {}, // An empty annotation object will copy annotationdefaults\n  {\n    text: 'Third point',\n    x: x[2],\n    y: y[2],\n    showarrow: true,\n    yref: 'y', xref: 'x',\n    font: {size: 20} // since there is no font.color attribute for this object,\n                     // it will use the annotationdefaults' color\n  }\n];\nvar layoutWithTemplate = {template: template, annotations: annotations};\n\nPlotly.newPlot(\"myDiv\", data, layoutWithTemplate);
    "},{"location":"examples/legend/","title":"legend","text":""},{"location":"examples/legend/#hiding-the-legend","title":"hiding-the-legend","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {showlegend: false};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/legend/#legend-names","title":"legend-names","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],\n  name: 'Blue Trace',\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],\n  name: 'Orange Trace',\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/legend/#positioning-the-legend-inside-the-plot","title":"positioning-the-legend-inside-the-plot","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  showlegend: true,\n  legend: {\n    x: 1,\n    xanchor: 'right',\n    y: 1\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/legend/#positioning-the-legend-outside-the-plot","title":"positioning-the-legend-outside-the-plot","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  showlegend: true,\n  legend: {\n    x: 1,\n    y: 0.5\n  }\n};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/legend/#styling-and-coloring-the-legend","title":"styling-and-coloring-the-legend","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {legend: {\n    x: 0,\n    y: 1,\n    traceorder: 'normal',\n    font: {\n      family: 'sans-serif',\n      size: 12,\n      color: '#000'\n    },\n    bgcolor: '#E2E2E2',\n    bordercolor: '#FFFFFF',\n    borderwidth: 2\n  }};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/legend/#changing-the-orientation-of-legend","title":"changing-the-orientation-of-legend","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 3, 6, 4, 5, 2, 3, 5, 4],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 7, 8, 3, 6, 3, 3, 4],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {showlegend: true,\n    legend: {\"orientation\": \"h\"}};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/legend/#hiding-legend-entries","title":"hiding-legend-entries","text":"
    var trace1 = {\n  x: [0, 1, 2],\n  y: [1, 2, 3],\n  name: 'First Trace',\n  showlegend: false,\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3],\n  y: [8, 4, 2, 0],\n  name: 'Second Trace',\n  showlegend: true,\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/legend/#grouped-legend","title":"grouped-legend","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [2, 1, 3],\n  legendgroup: 'group',\n  marker: {color: 'rgb(164, 194, 244)'},\n  mode: 'markers',\n  name: 'first legend group',\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [1, 2, 3],\n  y: [2, 2, 2],\n  legendgroup: 'group',\n  line: {color: 'rgb(164, 194, 244)'},\n  mode: 'lines',\n  name: 'first legend group - average',\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [1, 2, 3],\n  y: [4, 9, 2],\n  legendgroup: 'group2',\n  marker: {color: 'rgb(142, 124, 195)'},\n  mode: 'markers',\n  name: 'second legend group',\n  type: 'scatter'\n};\n\nvar trace4 = {\n  x: [1, 2, 3],\n  y: [5, 5, 5],\n  legendgroup: 'group2',\n  line: {color: 'rgb(142, 124, 195)'},\n  mode: 'lines',\n  name: 'second legend group - average',\n  type: 'scatter'\n};\n\ndata = [trace1, trace2, trace3, trace4];\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/legend/#subplot-grouped-legend","title":"subplot-grouped-legend","text":"
    var trace1 = {\n  x: ['a'],\n  y: [2],\n  legendgroup: 'a',\n  marker: {\n    color: 'rgba(102,194,165,1)',\n    line: {color: 'transparent'}\n  },\n  name: 'a',\n  type: 'bar',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar trace2 = {\n  x: ['b'],\n  y: [3],\n  legendgroup: 'b',\n  marker: {\n    color: 'rgba(252,141,98,1)',\n    line: {color: 'transparent'}\n  },\n  name: 'b',\n  type: 'bar',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar trace3 = {\n  x: ['c'],\n  y: [2],\n  legendgroup: 'c',\n  marker: {\n    color: 'rgba(141,160,203,1)',\n    line: {color: 'transparent'}\n  },\n  name: 'c',\n  type: 'bar',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar trace4 = {\n  x: ['a'],\n  y: [4],\n  legendgroup: 'a',\n  marker: {\n    color: 'rgba(102,194,165,1)',\n    line: {color: 'transparent'}\n  },\n  name: 'a',\n  showlegend: false,\n  type: 'bar',\n  xaxis: 'x2',\n  yaxis: 'y2'\n};\n\nvar trace5 = {\n  x: ['b'],\n  y: [2],\n  legendgroup: 'b',\n  marker: {\n    color: 'rgba(252,141,98,1)',\n    line: {color: 'transparent'}\n  },\n  name: 'b',\n  showlegend: false,\n  type: 'bar',\n  xaxis: 'x2',\n  yaxis: 'y2'\n};\n\nvar trace6 = {\n  x: ['c'],\n  y: [4],\n  legendgroup: 'c',\n  marker: {\n    color: 'rgba(141,160,203,1)',\n    line: {color: 'transparent'}\n  },\n  name: 'c',\n  showlegend: false,\n  type: 'bar',\n  xaxis: 'x2',\n  yaxis: 'y2'\n};\n\nvar data = [trace1, trace2, trace3, trace4, trace5, trace6];\n\nvar layout = {\n  hovermode: 'closest',\n  margin: {\n    r: 10,\n    t: 25,\n    b: 40,\n    l: 60\n  },\n  showlegend: true,\n  xaxis: {\n    anchor: 'y',\n    categoryorder: 'array',\n    domain: [0, 1],\n    type: 'category',\n     showgrid: false,\n     showticklabels: false\n  },\n  xaxis2: {\n    anchor: 'y2',\n    categoryorder: 'array',\n    domain: [0, 1],\n    type: 'category',\n     showgrid: false\n  },\n  yaxis: {\n    anchor: 'x',\n    domain: [0.52, 1],\n     showgrid: false\n  },\n  yaxis2: {\n    anchor: 'x2',\n    domain: [0, 0.48],\n     showgrid: false\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-and-scatter/","title":"line-and-scatter","text":""},{"location":"examples/line-and-scatter/#line-and-scatter-plot","title":"line-and-scatter-plot","text":"
    var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  mode: 'markers',\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [2, 3, 4, 5],\n  y: [16, 5, 11, 9],\n  mode: 'lines',\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [12, 9, 15, 12],\n  mode: 'lines+markers',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3];\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/line-and-scatter/#data-labels-hover","title":"data-labels-hover","text":"
    var trace1 = {\n  x: [1, 2, 3, 4, 5],\n  y: [1, 6, 3, 6, 1],\n  mode: 'markers',\n  type: 'scatter',\n  name: 'Team A',\n  text: ['A-1', 'A-2', 'A-3', 'A-4', 'A-5'],\n  marker: { size: 12 }\n};\n\nvar trace2 = {\n  x: [1.5, 2.5, 3.5, 4.5, 5.5],\n  y: [4, 1, 7, 1, 4],\n  mode: 'markers',\n  type: 'scatter',\n  name: 'Team B',\n  text: ['B-a', 'B-b', 'B-c', 'B-d', 'B-e'],\n  marker: { size: 12 }\n};\n\nvar data = [ trace1, trace2 ];\n\nvar layout = {\n  xaxis: {\n    range: [ 0.75, 5.25 ]\n  },\n  yaxis: {\n    range: [0, 8]\n  },\n  title: {text: 'Data Labels Hover'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-and-scatter/#data-labels-on-the-plot","title":"data-labels-on-the-plot","text":"
    var trace1 = {\n  x: [1, 2, 3, 4, 5],\n  y: [1, 6, 3, 6, 1],\n  mode: 'markers+text',\n  type: 'scatter',\n  name: 'Team A',\n  text: ['A-1', 'A-2', 'A-3', 'A-4', 'A-5'],\n  textposition: 'top center',\n  textfont: {\n    family:  'Raleway, sans-serif'\n  },\n  marker: { size: 12 }\n};\n\nvar trace2 = {\n  x: [1.5, 2.5, 3.5, 4.5, 5.5],\n  y: [4, 1, 7, 1, 4],\n  mode: 'markers+text',\n  type: 'scatter',\n  name: 'Team B',\n  text: ['B-a', 'B-b', 'B-c', 'B-d', 'B-e'],\n  textfont : {\n    family:'Times New Roman'\n  },\n  textposition: 'bottom center',\n  marker: { size: 12 }\n};\n\nvar data = [ trace1, trace2 ];\n\nvar layout = {\n  xaxis: {\n    range: [ 0.75, 5.25 ]\n  },\n  yaxis: {\n    range: [0, 8]\n  },\n  legend: {\n    y: 0.5,\n    yref: 'paper',\n    font: {\n      family: 'Arial, sans-serif',\n      size: 20,\n      color: 'grey',\n    }\n  },\n  title: {text: 'Data Labels on the Plot'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-and-scatter/#scatter-plot-with-a-color-dimension","title":"scatter-plot-with-a-color-dimension","text":"
    var trace1 = {\n  y: [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],\n  mode: 'markers',\n  marker: {\n    size: 40,\n    color: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]\n  }\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'Scatter Plot with a Color Dimension'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-and-scatter/#grouped-scatter-plot","title":"grouped-scatter-plot","text":"
    var trace1 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [24, 10, 9],\n  name: 'Gold',\n  type: 'scatter',\n  mode: 'markers'\n};\n\nvar trace2 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [13, 15, 12],\n  name: 'Silver',\n  type: 'scatter',\n  mode: 'markers'\n};\n\nvar trace3 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [11, 8, 12],\n  name: 'Bronze',\n  type: 'scatter',\n  mode: 'markers'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  scattermode: 'group',\n  title: {\n    text: 'Grouped by Country'\n  },\n  xaxis: {\n    title: {\n      text: 'Country'\n    }\n  },\n  yaxis: {\n    title: {\n      text: 'Medals'\n    }\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-and-scatter/#grouped-scatter-plot-with-custom-scatter-gap","title":"grouped-scatter-plot-with-custom-scatter-gap","text":"
    var trace1 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [24, 10, 9],\n  name: 'Gold',\n  type: 'scatter',\n  mode: 'markers'\n};\n\nvar trace2 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [13, 15, 12],\n  name: 'Silver',\n  type: 'scatter',\n  mode: 'markers'\n};\n\nvar trace3 = {\n  x: ['South Korea', 'China', 'Canada'],\n  y: [11, 8, 12],\n  name: 'Bronze',\n  type: 'scatter',\n  mode: 'markers'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  scattermode: 'group',\n  title: {\n    text: 'Grouped by Country'\n  },\n  xaxis: {\n    title: {\n      text: 'Country'\n    }\n  },\n  yaxis: {\n    title: {\n      text: 'Medals'\n    }\n  },\n  scattergap: 0.7\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/","title":"line-charts","text":""},{"location":"examples/line-charts/#basic-line-plot","title":"basic-line-plot","text":"
    var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [16, 5, 11, 9],\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/line-charts/#line-and-scatter-plot","title":"line-and-scatter-plot","text":"
    var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  mode: 'markers'\n};\n\nvar trace2 = {\n  x: [2, 3, 4, 5],\n  y: [16, 5, 11, 9],\n  mode: 'lines'\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [12, 9, 15, 12],\n  mode: 'lines+markers'\n};\n\nvar data = [ trace1, trace2, trace3 ];\n\nvar layout = {\n  title: {text: 'Line and Scatter Plot'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#adding-names-to-line-and-scatter-plot","title":"adding-names-to-line-and-scatter-plot","text":"
    var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  mode: 'markers',\n  name: 'Scatter'\n};\n\nvar trace2 = {\n  x: [2, 3, 4, 5],\n  y: [16, 5, 11, 9],\n  mode: 'lines',\n  name: 'Lines'\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [12, 9, 15, 12],\n  mode: 'lines+markers',\n  name: 'Scatter + Lines'\n};\n\nvar data = [ trace1, trace2, trace3 ];\n\nvar layout = {\n  title: {text: 'Adding Names to Line and Scatter Plot'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#line-and-scatter-styling","title":"line-and-scatter-styling","text":"
    var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  mode: 'markers',\n  marker: {\n    color: 'rgb(219, 64, 82)',\n    size: 12\n  }\n};\n\nvar trace2 = {\n  x: [2, 3, 4, 5],\n  y: [16, 5, 11, 9],\n  mode: 'lines',\n  line: {\n    color: 'rgb(55, 128, 191)',\n    width: 3\n  }\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [12, 9, 15, 12],\n  mode: 'lines+markers',\n  marker: {\n    color: 'rgb(128, 0, 128)',\n    size: 8\n  },\n  line: {\n    color: 'rgb(128, 0, 128)',\n    width: 1\n  }\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  title: {\n    text: 'Line and Scatter Styling'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#colored-and-styled-scatter-plot","title":"colored-and-styled-scatter-plot","text":"
    var trace1 = {\n  x: [52698, 43117],\n  y: [53, 31],\n  mode: 'markers',\n  name: 'North America',\n  text: ['United States', 'Canada'],\n  marker: {\n    color: 'rgb(164, 194, 244)',\n    size: 12,\n    line: {\n      color: 'white',\n      width: 0.5\n    }\n  },\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [39317, 37236, 35650, 30066, 29570, 27159, 23557, 21046, 18007],\n  y: [33, 20, 13, 19, 27, 19, 49, 44, 38],\n  mode: 'markers',\n  name: 'Europe',\n  text: ['Germany', 'Britain', 'France', 'Spain', 'Italy', 'Czech Rep.', 'Greece', 'Poland'],\n  marker: {\n    color: 'rgb(255, 217, 102)',\n    size: 12\n  },\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [42952, 37037, 33106, 17478, 9813, 5253, 4692, 3899],\n  y: [23, 42, 54, 89, 14, 99, 93, 70],\n  mode: 'markers',\n  name: 'Asia/Pacific',\n  text: ['Australia', 'Japan', 'South Korea', 'Malaysia', 'China', 'Indonesia', 'Philippines', 'India'],\n  marker: {\n    color: 'rgb(234, 153, 153)',\n    size: 12\n  },\n  type: 'scatter'\n};\n\nvar trace4 = {\n  x: [19097, 18601, 15595, 13546, 12026, 7434, 5419],\n  y: [43, 47, 56, 80, 86, 93, 80],\n  mode: 'markers',\n  name: 'Latin America',\n  text: ['Chile', 'Argentina', 'Mexico', 'Venezuela', 'Venezuela', 'El Salvador', 'Bolivia'],\n  marker: {\n    color: 'rgb(142, 124, 195)',\n    size: 12\n  },\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {\n    text: 'Quarter 1 Growth'\n  },\n  xaxis: {\n    title: {\n      text: 'GDP per Capita'\n    },\n    showgrid: false,\n    zeroline: false\n  },\n  yaxis: {\n    title: {\n      text: 'Percent'\n    },\n    showline: false\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#styling-line-plot","title":"styling-line-plot","text":"
    trace1 = {\n  type: 'scatter',\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  mode: 'lines',\n  name: 'Red',\n  line: {\n    color: 'rgb(219, 64, 82)',\n    width: 3\n  }\n};\n\ntrace2 = {\n  type: 'scatter',\n  x: [1, 2, 3, 4],\n  y: [12, 9, 15, 12],\n  mode: 'lines',\n  name: 'Blue',\n  line: {\n    color: 'rgb(55, 128, 191)',\n    width: 1\n  }\n};\n\nvar layout = {\n  width: 500,\n  height: 500\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#line-shape-options-for-interpolation","title":"line-shape-options-for-interpolation","text":"
    var trace1 = {\n  x: [1, 2, 3, 4, 5],\n  y: [1, 3, 2, 3, 1],\n  mode: 'lines+markers',\n  name: 'linear',\n  line: {shape: 'linear'},\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4, 5],\n  y: [6, 8, 7, 8, 6],\n  mode: 'lines+markers',\n  name: 'spline',\n  text: ['tweak line smoothness<br>with \"smoothing\" in line object', 'tweak line smoothness<br>with \"smoothing\" in line object', 'tweak line smoothness<br>with \"smoothing\" in line object', 'tweak line smoothness<br>with \"smoothing\" in line object', 'tweak line smoothness<br>with \"smoothing\" in line object', 'tweak line smoothness<br>with \"smoothing\" in line object'],\n  line: {shape: 'spline'},\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4, 5],\n  y: [11, 13, 12, 13, 11],\n  mode: 'lines+markers',\n  name: 'vhv',\n  line: {shape: 'vhv'},\n  type: 'scatter'\n};\n\nvar trace4 = {\n  x: [1, 2, 3, 4, 5],\n  y: [16, 18, 17, 18, 16],\n  mode: 'lines+markers',\n  name: 'hvh',\n  line: {shape: 'hvh'},\n  type: 'scatter'\n};\n\nvar trace5 = {\n  x: [1, 2, 3, 4, 5],\n  y: [21, 23, 22, 23, 21],\n  mode: 'lines+markers',\n  name: 'vh',\n  line: {shape: 'vh'},\n  type: 'scatter'\n};\n\nvar trace6 = {\n  x: [1, 2, 3, 4, 5],\n  y: [26, 28, 27, 28, 26],\n  mode: 'lines+markers',\n  name: 'hv',\n  line: {shape: 'hv'},\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3, trace4, trace5, trace6];\n\nvar layout = {\n  legend: {\n    y: 0.5,\n    traceorder: 'reversed',\n    font: {size: 16},\n    yref: 'paper'\n  }};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#graph-and-axes-titles","title":"graph-and-axes-titles","text":"
    var trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  mode: 'markers',\n  name: 'Scatter'\n};\n\nvar trace2 = {\n  x: [2, 3, 4, 5],\n  y: [16, 5, 11, 9],\n  mode: 'lines',\n  name: 'Lines'\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4],\n  y: [12, 9, 15, 12],\n  mode: 'lines+markers',\n  name: 'Scatter and Lines'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  title: {\n    text: 'Title of the Graph'\n  },\n  xaxis: {\n    title: {\n      text: 'x-axis title'\n    }\n  },\n  yaxis: {\n    title: {\n      text: 'y-axis title'\n    }\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#line-dash","title":"line-dash","text":"
    var trace1 = {\n  x: [1, 2, 3, 4, 5],\n  y: [1, 3, 2, 3, 1],\n  mode: 'lines',\n  name: 'Solid',\n  line: {\n    dash: 'solid',\n    width: 4\n  }\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4, 5],\n  y: [6, 8, 7, 8, 6],\n  mode: 'lines',\n  name: 'dashdot',\n  line: {\n    dash: 'dashdot',\n    width: 4\n  }\n};\n\nvar trace3 = {\n  x: [1, 2, 3, 4, 5],\n  y: [11, 13, 12, 13, 11],\n  mode: 'lines',\n  name: 'Solid',\n  line: {\n    dash: 'solid',\n    width: 4\n  }\n};\n\nvar trace4 = {\n  x: [1, 2, 3, 4, 5],\n  y: [16, 18, 17, 18, 16],\n  mode: 'lines',\n  name: 'dot',\n  line: {\n    dash: 'dot',\n    width: 4\n  }\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {\n    text: 'Line Dash'\n  },\n  xaxis: {\n    range: [0.75, 5.25],\n    autorange: false\n  },\n  yaxis: {\n    range: [0, 18.5],\n    autorange: false\n  },\n  legend: {\n    y: 0.5,\n    traceorder: 'reversed',\n    font: {\n      size: 16\n    }\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#connect-gaps-between-data","title":"connect-gaps-between-data","text":"
    var trace1 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8],\n  y: [10, 15, null, 17, 14, 12, 10, null, 15],\n  mode: 'lines+markers',\n  connectgaps: true\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4, 5, 6, 7, 8],\n  y: [16, null, 13, 10, 8, null, 11, 12],\n  mode: 'lines',\n  connectgaps: true\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {\n    text: 'Connect the Gaps Between Data'\n  },\n  showlegend: false\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/line-charts/#labelling-lines-with-annotations","title":"labelling-lines-with-annotations","text":"
    var xData = [\n  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013],\n  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013],\n  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013],\n  [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013]\n];\n\nvar yData = [\n  [74, 82, 80, 74, 73, 72, 74, 70, 70, 66, 66, 69],\n  [45, 42, 50, 46, 36, 36, 34, 35, 32, 31, 31, 28],\n  [13, 14, 20, 24, 20, 24, 24, 40, 35, 41, 43, 50],\n  [18, 21, 18, 21, 16, 14, 13, 18, 17, 16, 19, 23]\n];\n\nvar colors = ['rgba(67,67,67,1)', 'rgba(115,115,115,1)', 'rgba(49,130,189, 1)',\n  'rgba(189,189,189,1)'\n];\n\nvar lineSize = [2, 2, 4, 2];\n\nvar labels = ['Television', 'Newspaper', 'Internet', 'Radio'];\n\nvar data = [];\n\nfor ( var i = 0 ; i < xData.length ; i++ ) {\n  var result = {\n    x: xData[i],\n    y: yData[i],\n    type: 'scatter',\n    mode: 'lines',\n    line: {\n      color: colors[i],\n      width: lineSize[i]\n    }\n  };\n  var result2 = {\n    x: [xData[i][0], xData[i][11]],\n    y: [yData[i][0], yData[i][11]],\n    type: 'scatter',\n    mode: 'markers',\n    marker: {\n      color: colors[i],\n      size: 12\n    }\n  };\n  data.push(result, result2);\n}\n\nvar layout = {\n  showlegend: false,\n  height: 600,\n  width: 600,\n  xaxis: {\n    showline: true,\n    showgrid: false,\n    showticklabels: true,\n    linecolor: 'rgb(204,204,204)',\n    linewidth: 2,\n    tickmode: 'linear',\n    ticks: 'outside',\n    tickcolor: 'rgb(204,204,204)',\n    tickwidth: 2,\n    ticklen: 5,\n    tickfont: {\n      family: 'Arial',\n      size: 12,\n      color: 'rgb(82, 82, 82)'\n    }\n  },\n  yaxis: {\n    showgrid: false,\n    zeroline: false,\n    showline: false,\n    showticklabels: false\n  },\n  autosize: false,\n  margin: {\n    autoexpand: false,\n    l: 100,\n    r: 20,\n    t: 100\n  },\n  annotations: [\n    {\n      xref: 'paper',\n      yref: 'paper',\n      x: 0.0,\n      y: 1.05,\n      xanchor: 'left',\n      yanchor: 'bottom',\n      text: 'Main Source for News',\n      font:{\n        family: 'Arial',\n        size: 30,\n        color: 'rgb(37,37,37)'\n      },\n      showarrow: false\n    },\n    {\n      xref: 'paper',\n      yref: 'paper',\n      x: 0.5,\n      y: -0.1,\n      xanchor: 'center',\n      yanchor: 'top',\n      text: 'Source: Pew Research Center & Storytelling with data',\n      showarrow: false,\n      font: {\n        family: 'Arial',\n        size: 12,\n        color: 'rgb(150,150,150)'\n      }\n    }\n  ]\n};\n\nfor( var i = 0 ; i < xData.length ; i++ ) {\n  var result = {\n    xref: 'paper',\n    x: 0.05,\n    y: yData[i][0],\n    xanchor: 'right',\n    yanchor: 'middle',\n    text: labels[i] + ' ' + yData[i][0] +'%',\n    showarrow: false,\n    font: {\n      family: 'Arial',\n      size: 16,\n      color: 'black'\n    }\n  };\n  var result2 = {\n    xref: 'paper',\n    x: 0.95,\n    y: yData[i][11],\n    xanchor: 'left',\n    yanchor: 'middle',\n    text: yData[i][11] +'%',\n    font: {\n      family: 'Arial',\n      size: 16,\n      color: 'black'\n    },\n    showarrow: false\n  };\n\n  layout.annotations.push(result, result2);\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/lines-on-maps/","title":"lines-on-maps","text":""},{"location":"examples/lines-on-maps/#lines-on-an-orthographic-map","title":"lines-on-an-orthographic-map","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/globe_contours.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });\n    }\n\n    var data = [];\n    var scl =['rgb(213,62,79)','rgb(244,109,67)','rgb(253,174,97)','rgb(254,224,139)','rgb(255,255,191)','rgb(230,245,152)','rgb(171,221,164)','rgb(102,194,165)','rgb(50,136,189)'];\n    var allLats = [];\n    var allLons = [];\n\n    for ( var i = 0 ; i < scl.length; i++){\n        var latHead = 'lat-'+i;\n        var lonHead = 'lon-'+i;\n        var lat = unpack(rows, latHead);\n        var lon = unpack(rows, lonHead);\n        allLats.push(lat);\n        allLons.push(lon);\n    }\n\n    for ( var i = 0 ; i < scl.length; i++) {\n        var current = {\n            type:'scattergeo',\n            lon: allLons[i],\n            lat: allLats[i],\n            mode: 'lines',\n            line: {\n                width: 2,\n                color: scl[i]\n            }\n        }\n        data.push(current);\n    };\n\n\n    var layout = {\n        geo: {\n            projection: {\n                type: 'orthographic',\n                rotation: {\n                    lon: -100,\n                    lat: 40\n                },\n            },\n            showocean: true,\n            oceancolor: 'rgb(0, 255, 255)',\n            showland: true,\n            landcolor: 'rgb(230, 145, 56)',\n            showlakes: true,\n            lakecolor: 'rgb(0, 255, 255)',\n            showcountries: true,\n            lonaxis: {\n                showgrid: true,\n                gridcolor: 'rgb(102, 102, 102)'\n            },\n            lataxis: {\n                showgrid: true,\n                gridcolor: 'rgb(102, 102, 102)'\n            }\n        }\n    };\n\n    Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n});
    "},{"location":"examples/lines-on-maps/#london-to-nyc-great-circle","title":"london-to-nyc-great-circle","text":"
    var data = [{\n    type: 'scattergeo',\n    lat: [ 40.7127, 51.5072 ],\n    lon: [ -74.0059, 0.1275 ],\n    mode: 'lines',\n    line:{\n        width: 2,\n        color: 'blue'\n    }\n  }];\n\nvar layout = {\n  title: {text: 'London to NYC Great Circle'},\n  showlegend: false,\n  geo: {\n      resolution: 50,\n      showland: true,\n      showlakes: true,\n      landcolor: 'rgb(204, 204, 204)',\n      countrycolor: 'rgb(204, 204, 204)',\n      lakecolor: 'rgb(255, 255, 255)',\n      projection: {\n        type: 'equirectangular'\n      },\n      coastlinewidth: 2,\n      lataxis: {\n        range: [ 20, 60 ],\n        showgrid: true,\n        tickmode: 'linear',\n        dtick: 10\n      },\n      lonaxis:{\n        range: [-100, 20],\n        showgrid: true,\n        tickmode: 'linear',\n        dtick: 20\n      }\n    }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/lines-on-maps/#us-flight-paths-map","title":"us-flight-paths-map","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/c34aaa0b1b3cddad335173cb7bc0181897201ee6/2011_february_aa_flight_paths.csv', function(err, rows){\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });}\n\n    function getMaxOfArray(numArray) {\n        return Math.max.apply(null, numArray);\n    }\n\n    var data = [];\n    var count = unpack(rows, 'cnt');\n    var startLongitude = unpack(rows, 'start_lon');\n    var endLongitude = unpack(rows, 'end_lon');\n    var startLat = unpack(rows, 'start_lat');\n    var endLat = unpack(rows, 'end_lat');\n\n    for ( var i = 0 ; i < count.length; i++ ) {\n        var opacityValue = count[i]/getMaxOfArray(count);\n\n        var result = {\n            type: 'scattergeo',\n            locationmode: 'USA-states',\n            lon: [ startLongitude[i] , endLongitude[i] ],\n            lat: [ startLat[i] , endLat[i] ],\n            mode: 'lines',\n            line: {\n                width: 1,\n                color: 'red'\n            },\n            opacity: opacityValue\n        };\n\n        data.push(result);\n    };\n\n    var layout = {\n        title: {text: 'Feb. 2011 American Airline flight paths'},\n        showlegend: false,\n        geo:{\n            scope: 'north america',\n            projection: {\n                type: 'azimuthal equal area'\n            },\n            showland: true,\n            landcolor: 'rgb(243,243,243)',\n            countrycolor: 'rgb(204,204,204)'\n        }\n    };\n\n    Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n\n});
    "},{"location":"examples/log-plot/","title":"log-plot","text":""},{"location":"examples/log-plot/#logarithmic-axes","title":"logarithmic-axes","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [8, 7, 6, 5, 4, 3, 2, 1, 0],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  xaxis: {\n    type: 'log',\n    autorange: true\n  },\n  yaxis: {\n    type: 'log',\n    autorange: true\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/map-animations/","title":"map-animations","text":""},{"location":"examples/map-animations/#map-animations","title":"map-animations","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv\", function(err, rows){\n\n  function filter_and_unpack(rows, key, year) {\n  return rows.filter(row => row['year'] == year).map(row => row[key])\n  }\n\n  var frames = []\n  var slider_steps = []\n\n  var n = 11;\n  var num = 1952;\n  for (var i = 0; i <= n; i++) {\n    var z = filter_and_unpack(rows, 'lifeExp', num)\n    var locations = filter_and_unpack(rows, 'iso_alpha', num)\n    frames[i] = {data: [{z: z, locations: locations, text: locations}], name: num}\n    slider_steps.push ({\n        label: num.toString(),\n        method: \"animate\",\n        args: [[num], {\n            mode: \"immediate\",\n            transition: {duration: 300},\n            frame: {duration: 300}\n          }\n        ]\n      })\n    num = num + 5\n  }\n\nvar data = [{\n      type: 'choropleth',\n      locationmode: 'world',\n      locations: frames[0].data[0].locations,\n      z: frames[0].data[0].z,\n      text: frames[0].data[0].locations,\n      zauto: false,\n      zmin: 30,\n      zmax: 90\n\n}];\nvar layout = {\n    title: {\n      text: 'World Life Expectency<br>1952 - 2007'\n    },\n    geo:{\n       scope: 'world',\n       countrycolor: 'rgb(255, 255, 255)',\n       showland: true,\n       landcolor: 'rgb(217, 217, 217)',\n       showlakes: true,\n       lakecolor: 'rgb(255, 255, 255)',\n       subunitcolor: 'rgb(255, 255, 255)',\n       lonaxis: {},\n       lataxis: {}\n    },\n    updatemenus: [{\n      x: 0.1,\n      y: 0,\n      yanchor: \"top\",\n      xanchor: \"right\",\n      showactive: false,\n      direction: \"left\",\n      type: \"buttons\",\n      pad: {\"t\": 87, \"r\": 10},\n      buttons: [{\n        method: \"animate\",\n        args: [null, {\n          fromcurrent: true,\n          transition: {\n            duration: 200,\n          },\n          frame: {\n            duration: 500\n          }\n        }],\n        label: \"Play\"\n      }, {\n        method: \"animate\",\n        args: [\n          [null],\n          {\n            mode: \"immediate\",\n            transition: {\n              duration: 0\n            },\n            frame: {\n              duration: 0\n            }\n          }\n        ],\n        label: \"Pause\"\n      }]\n    }],\n    sliders: [{\n      active: 0,\n      steps: slider_steps,\n      x: 0.1,\n      len: 0.9,\n      xanchor: \"left\",\n      y: 0,\n      yanchor: \"top\",\n      pad: {t: 50, b: 10},\n      currentvalue: {\n        visible: true,\n        prefix: \"Year:\",\n        xanchor: \"right\",\n        font: {\n          size: 20,\n          color: \"#666\"\n        }\n      },\n      transition: {\n        duration: 300,\n        easing: \"cubic-in-out\"\n      }\n    }]\n};\n\nPlotly.newPlot('myDiv', data, layout).then(function() {\n    Plotly.addFrames('myDiv', frames);\n  });\n})
    "},{"location":"examples/mixed-subplots/","title":"mixed-subplots","text":""},{"location":"examples/mixed-subplots/#mixed-subplots","title":"mixed-subplots","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/volcano_db.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\nvar trace1 = {\n  x: unpack(rows, 'Status'),\n  y: unpack(rows, 'Type'),\n  z: unpack(rows, 'Elev'),\n  marker: {\n    size: 2,\n    color: unpack(rows, 'Elev'),\n    colorscale: 'Reds',\n    line: {color: 'transparent'}\n  },\n  mode: 'markers',\n  type: 'scatter3d',\n  text: unpack(rows, 'Country'),\n  hoverinfo: 'x+y+z+text',\n  showlegend: false\n};\n\nvar x = unpack(rows, 'Elev');\n\nvar trace2 = {\n    x: unpack(rows, 'Elev'),\n    type: 'histogram',\n    hoverinfo: 'x+y',\n    showlegend: false,\n    xaxis: 'x2',\n    yaxis: 'y2',\n     marker: {\n         color: 'red'\n    }};\n\nvar trace3 = {\n    geo: 'geo3',\n    type:'scattergeo',\n    locationmode: 'world',\n    lon: unpack(rows, 'Longitude'),\n    lat: unpack(rows, 'Latitude'),\n    hoverinfo:  'text',\n    text:  unpack(rows, 'Elev'),\n    mode: 'markers',\n    showlegend: false,\n    marker: {\n      size: 4,\n      color: unpack(rows, 'Elev'),\n      colorscale: 'Reds',\n      opacity: 0.8,\n      symbol: 'circle',\n      line: {\n        width: 1\n      }\n    }\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n      paper_bgcolor: 'black',\n      plot_bgcolor: 'black',\n      title: {text: 'Volcano Database: Elevation'},\n      font: {color: 'white'},\n      colorbar: true,\n      annotations: [{\n         x: 0,\n         y: 0,\n         xref: 'paper',\n         yref: 'paper',\n         text: 'Source: NOAA',\n         showarrow: false\n      }],\n      geo3: {\n        domain: {\n      x: [0, 0.45],\n      y: [0.02, 0.98]\n          },\n        scope: 'world',\n        projection: {\n          type: 'orthographic'\n        },\n        showland: true,\n        showocean: true,\n        showlakes: true,\n        landcolor: 'rgb(250,250,250)',\n        lakecolor: 'rgb(127,205,255)',\n        oceancolor: 'rgb(6,66,115)',\n        subunitcolor: 'rgb(217,217,217)',\n        countrycolor: 'rgb(217,217,217)',\n        countrywidth: 0.5,\n        subunitwidth: 0.5,\n        bgcolor: 'black'\n      },\n    scene: {domain: {\n      x: [0.55, 1],\n      y: [0, 0.6]\n    },\n    xaxis: {\n      title: {\n          text: 'Status'\n      },\n      showticklabels: false,\n      showgrid: true,\n      gridcolor: 'white'\n    },\n    yaxis: {\n        title: {\n            text: 'Type'\n        },\n        showticklabels: false,\n        showgrid: true,\n        gridcolor: 'white'\n    },\n    zaxis: {\n        title: {\n            text: 'Elev'\n        },\n        showgrid: true,\n        gridcolor: 'white'\n    }\n             },\n    yaxis2: {\n        anchor: 'x2',\n      domain: [0.7, 1],\n      showgrid: false\n    },\n    xaxis2: {\n      tickangle: 45,\n      anchor: 'y2',\n      ticksuffix: 'm',\n      domain: [0.6, 1]},\n};\n\nPlotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n\n});
    "},{"location":"examples/multiple-axes/","title":"multiple-axes","text":""},{"location":"examples/multiple-axes/#two-y-axes","title":"two-y-axes","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [40, 50, 60],\n  name: 'yaxis data',\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [2, 3, 4],\n  y: [4, 5, 6],\n  name: 'yaxis2 data',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  title: {text: 'Double Y Axis Example'},\n  yaxis: {\n    title: {\n      text: 'yaxis title'\n    }\n  },\n  yaxis2: {\n    title: {\n      text: 'yaxis2 title',\n      font: {color: 'rgb(148, 103, 189)'}\n    },\n    tickfont: {color: 'rgb(148, 103, 189)'},\n    overlaying: 'y',\n    side: 'right'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/multiple-axes/#multiple-y-axes","title":"multiple-y-axes","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [4, 5, 6],\n  name: 'yaxis1 data',\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [2, 3, 4],\n  y: [40, 50, 60],\n  name: 'yaxis2 data',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [4, 5, 6],\n  y: [40000, 50000, 60000],\n  name: 'yaxis3 data',\n  yaxis: 'y3',\n  type: 'scatter'\n};\n\nvar trace4 = {\n  x: [5, 6, 7],\n  y: [400000, 500000, 600000],\n  name: 'yaxis4 data',\n  yaxis: 'y4',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {\n    text: 'multiple y-axes example',\n    font: {color: '#1f77b4'}\n  },\n  width: 800,\n  xaxis: {domain: [0.3, 0.7]},\n  yaxis: {\n    title: {\n      text: 'yaxis title',\n      font: {color: '#1f77b4'}\n    },\n    tickfont: {color: '#1f77b4'}\n  },\n  yaxis2: {\n    title: {\n      text: 'yaxis2 title',\n      font: {color: '#ff7f0e'}\n    },\n    tickfont: {color: '#ff7f0e'},\n    anchor: 'free',\n    overlaying: 'y',\n    side: 'left',\n    position: 0.15\n  },\n  yaxis3: {\n    title: {\n      text: 'yaxis4 title',\n      font: {color: '#d62728'}\n    },\n    tickfont: {color: '#d62728'},\n    anchor: 'x',\n    overlaying: 'y',\n    side: 'right'\n  },\n  yaxis4: {\n    title: {\n      text: 'yaxis5 title',\n      font: {color: '#9467bd'}\n    },\n    tickfont: {color: '#9467bd'},\n    anchor: 'free',\n    overlaying: 'y',\n    side: 'right',\n    position: 0.85\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/ohlc-charts/","title":"ohlc-charts","text":""},{"location":"examples/ohlc-charts/#simple-ohlc-chart","title":"simple-ohlc-chart","text":"
    var trace1 = {\n\n  x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'],\n\n  close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995],\n\n  decreasing: {line: {color: '#7F7F7F'}},\n\n  high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002],\n\n  increasing: {line: {color: '#17BECF'}},\n\n  line: {color: 'rgba(31,119,180,1)'},\n\n  low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002, 127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003],\n  open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007],\n\n  type: 'ohlc',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  dragmode: 'zoom',\n  margin: {\n    r: 10,\n    t: 25,\n    b: 40,\n    l: 60\n  },\n  showlegend: false,\n  xaxis: {\n    autorange: true,\n    rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']},\n    title: {\n      text: 'Date'\n    },\n    type: 'date'\n  },\n  yaxis: {\n    autorange: true,\n    type: 'linear'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/ohlc-charts/#ohlc-chart-without-rangeslider","title":"ohlc-chart-without-rangeslider","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar trace = {\n  x: unpack(rows, 'Date'),\n  close: unpack(rows, 'AAPL.Close'),\n  high: unpack(rows, 'AAPL.High'),\n  low: unpack(rows, 'AAPL.Low'),\n  open: unpack(rows, 'AAPL.Open'),\n\n  // cutomise colors\n  increasing: {line: {color: 'black'}},\n  decreasing: {line: {color: 'red'}},\n\n  type: 'ohlc',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace];\n\nvar layout = {\n  dragmode: 'zoom',\n  showlegend: false,\n  xaxis: {\n    rangeslider: {\n         visible: false\n     }\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/ohlc-charts/#customizing-the-figure-with-shapes-and-annotations","title":"customizing-the-figure-with-shapes-and-annotations","text":"
    var trace1 = {\n\n  x: ['2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25', '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06', '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10'],\n\n  close: [120, 119.989998, 119.779999, 120, 120.080002, 119.970001, 121.879997, 121.940002, 121.949997, 121.629997, 121.349998, 128.75, 128.529999, 129.080002, 130.289993, 131.529999, 132.039993, 132.419998, 132.119995],\n\n  decreasing: {line: {color: '#7F7F7F'}},\n\n  high: [120.239998, 120.5, 120.089996, 120.449997, 120.809998, 120.099998, 122.099998, 122.440002, 122.349998, 121.629997, 121.389999, 130.490005, 129.389999, 129.190002, 130.5, 132.089996, 132.220001, 132.449997, 132.940002],\n\n  increasing: {line: {color: '#17BECF'}},\n\n  line: {color: 'rgba(31,119,180,1)'},\n\n  low: [118.220001, 119.709999, 119.370003, 119.730003, 119.769997, 119.5, 120.279999, 121.599998, 121.599998, 120.660004, 120.620003, 127.010002,\n  127.779999, 128.160004, 128.899994, 130.449997, 131.220001, 131.119995, 132.050003],\n\n  open: [118.339996, 120, 119.400002, 120.449997, 120, 119.550003, 120.419998, 121.669998, 122.139999, 120.93, 121.150002, 127.029999, 127.980003, 128.309998, 129.130005, 130.539993, 131.350006, 131.649994, 132.460007],\n\n  type: 'ohlc',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  dragmode: 'zoom',\n  margin: {\n    r: 10,\n    t: 25,\n    b: 40,\n    l: 60\n  },\n  showlegend: false,\n  xaxis: {\n    autorange: true,\n    rangeslider: {range: ['2017-01-17 12:00', '2017-02-10 12:00']},\n    title: {\n      text: 'Date'\n    },\n    type: 'date'\n  },\n  yaxis: {\n    autorange: true,\n    type: 'linear'\n  },\n\n  annotations: [\n    {\n      x: '2017-01-31',\n      y: 0.9,\n      xref: 'x',\n      yref: 'paper',\n      text: 'largest movement',\n      font: {color: 'magenta'},\n      showarrow: true,\n      xanchor: 'right',\n      ax: -20,\n      ay: 0\n    }\n  ],\n\n  shapes: [\n      {\n          type: 'rect',\n          xref: 'x',\n          yref: 'paper',\n          x0: '2017-01-31',\n          y0: 0,\n          x1: '2017-02-01',\n          y1: 1,\n          fillcolor: '#d3d3d3',\n          opacity: 0.2,\n          line: {\n              width: 0\n          }\n      }\n    ]\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/ohlc-charts/#customise-ohlc-chart-colors","title":"customise-ohlc-chart-colors","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar trace = {\n  x: unpack(rows, 'Date'),\n  close: unpack(rows, 'AAPL.Close'),\n  high: unpack(rows, 'AAPL.High'),\n  low: unpack(rows, 'AAPL.Low'),\n  open: unpack(rows, 'AAPL.Open'),\n\n  // cutomise colors\n  increasing: {line: {color: 'black'}},\n  decreasing: {line: {color: 'red'}},\n\n  type: 'ohlc',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace];\n\nvar layout = {\n  dragmode: 'zoom',\n  showlegend: false,\n  xaxis: {\n    autorange: true,\n    title: {\n      text: 'Date'\n    },\n  },\n  yaxis: {\n    autorange: true,\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/ohlc-charts/#add-rangeselector","title":"add-rangeselector","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar trace = {\n  x: unpack(rows, 'Date'),\n  close: unpack(rows, 'AAPL.Close'),\n  high: unpack(rows, 'AAPL.High'),\n  low: unpack(rows, 'AAPL.Low'),\n  open: unpack(rows, 'AAPL.Open'),\n\n  // cutomise colors\n  increasing: {line: {color: 'black'}},\n  decreasing: {line: {color: 'red'}},\n\n  type: 'ohlc',\n  xaxis: 'x',\n  yaxis: 'y'\n};\n\nvar data = [trace];\n\nvar layout = {\n  dragmode: 'zoom',\n  showlegend: false,\n  xaxis: {\n    autorange: true,\n    title: {\n      text: 'Date'\n    },\n     rangeselector: {\n        x: 0,\n        y: 1.2,\n        xanchor: 'left',\n        font: {size:8},\n        buttons: [{\n            step: 'month',\n            stepmode: 'backward',\n            count: 1,\n            label: '1 month'\n        }, {\n            step: 'month',\n            stepmode: 'backward',\n            count: 6,\n            label: '6 months'\n        }, {\n            step: 'all',\n            label: 'All dates'\n        }]\n      }\n  },\n  yaxis: {\n    autorange: true,\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/parallel-categories-diagram/","title":"parallel-categories-diagram","text":""},{"location":"examples/parallel-categories-diagram/#basic-parallel-categories-diagram","title":"basic-parallel-categories-diagram","text":"

    The parallel categories diagram is a visualization of multi-dimensional categorical data sets. Each variable in the data set is represented by a column of rectangles, where each rectangle corresponds to a discrete value taken on by that variable. The relative heights of the rectangles reflect the relative frequency of occurrence of the corresponding value.

    Combinations of category rectangles across dimensions are connected by ribbons, where the height of the ribbon corresponds to the relative frequency of occurrence of the combination of categories in the data set.

    In this example, we visualize the hair color, eye color, and sex of a sample of 8 people. Hovering over a category rectangle displays a tooltip with the number of people with that single trait. Hovering over a ribbon in the diagram displays a tooltip with the number of people with a particular combination of the three traits connected by the ribbon.

    The dimension labels can be dragged horizontally to reorder the dimensions and the category rectangles can be dragged vertically to reorder the categories within a dimension.

    var trace1 = {\n  type: 'parcats',\n  dimensions: [\n    {label: 'Hair',\n     values: ['Black', 'Black', 'Black', 'Brown',\n              'Brown', 'Brown', 'Red', 'Brown']},\n    {label: 'Eye',\n     values: ['Brown', 'Brown', 'Brown', 'Brown',\n              'Brown', 'Blue', 'Blue', 'Blue']},\n    {label: 'Sex',\n     values: ['Female', 'Female', 'Female', 'Male',\n              'Female', 'Male', 'Male', 'Male']}]\n};\n\nvar data = [ trace1 ];\n\nvar layout = {width: 600};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/parallel-categories-diagram/#basic-parallel-categories-diagram-with-counts","title":"basic-parallel-categories-diagram-with-counts","text":"

    If the frequency of occurrence for each combination of attributes is known in advance, this can be specified using the counts property

    var trace1 = {\n  type: 'parcats',\n  dimensions: [\n    {label: 'Hair',\n     values: ['Black', 'Brown', 'Brown', 'Brown', 'Red']},\n    {label: 'Eye',\n     values: ['Brown', 'Brown', 'Brown', 'Blue', 'Blue']},\n    {label: 'Sex',\n     values: ['Female', 'Male', 'Female', 'Male', 'Male']}],\n  counts: [6, 10, 40, 23, 7]\n};\n\nvar data = [ trace1 ];\n\nvar layout = {width: 600};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/parallel-categories-diagram/#mutli-color-parallel-categories-diagram","title":"mutli-color-parallel-categories-diagram","text":"

    The color of the ribbons can be specified with the line.color property. Similar to other trace types, this property may be set to an array of numbers, which are then mapped to colors according to the the colorscale specified in the line.colorscale property.

    Here is an example of visualizing the survival rate of passengers in the titanic dataset, where the ribbons are colored based on survival outcome.

    By setting the hoveron property to 'color' and the hoverinfo property to 'count+probability' the tooltips now display count and probability information for each color (outcome) per category.

    By setting the arrangement property to 'freeform' it is now possible to drag categories horizontally to reorder dimensions as well as vertically to reorder categories within the dimension.

    var gd = document.getElementById('myDiv');\n\nd3.csv(\n  \"https://raw.githubusercontent.com/plotly/datasets/master/titanic.csv\",\n  function(titanicData) {\n    var classDim = {\n      values: titanicData.map(function(row) {return row['Pclass']}),\n      categoryorder: 'category ascending',\n      label: \"Class\"\n    };\n\n    var genderDim = {\n      values: titanicData.map(function(row) {return row['Sex']}),\n      label: \"Gender\"\n    };\n\n    var survivalDim = {\n      values: titanicData.map(function(row) {return row['Survived']}),\n      label: \"Outcome\",\n      categoryarray: [0, 1],\n      ticktext: ['perished', 'survived'],\n    };\n\n    var color = survivalDim.values;\n    var colorscale = [[0, 'lightsteelblue'], [1, 'mediumseagreen']];\n\n    // Build Traces\n    var traces = [\n      {type: 'parcats',\n       dimensions: [classDim, genderDim, survivalDim],\n       line: {color: color,\n              colorscale: colorscale},\n       hoveron: 'color',\n       hoverinfo: 'count+probability',\n       labelfont: {size: 14},\n       arrangement: 'freeform'\n      }\n    ];\n\n    var layout = {width: 600};\n\n    // Make plot\n    Plotly.newPlot('myDiv', traces, layout);\n  });
    "},{"location":"examples/parallel-categories-diagram/#parallel-categories-linked-brushing","title":"parallel-categories-linked-brushing","text":"

    This example demonstrates how the plotly_selected and plotly_click events can be used to implement linked brushing between 3 categorical dimensions displayed with a parcats trace and 2 continuous dimensions displayed with a scatter trace.

    This example also sets the line.shape property to hspline to cause the ribbons to curve between categories.

    var gd = document.getElementById(\"myDiv\");\nvar categoricalDimensionLabels = [\n  'body-style',\n  'drive-wheels',\n  'fuel-type'\n];\n\nd3.csv(\n  'https://raw.githubusercontent.com/plotly/datasets/master/imports-85.csv',\n  function(carsData) {\n    // Preprocess Data\n    var mpg = carsData.map(function(row) { return row['highway-mpg'] });\n    var horsepower = carsData.map(function(row) { return row['horsepower'] });\n\n    var categoricalDimensions = categoricalDimensionLabels.map(\n      function(dimLabel) {\n        // Extract column\n        var values = carsData.map(function(row) {\n          return row[dimLabel]\n        });\n\n        return {\n          values: values,\n          label: dimLabel\n        };\n      });\n\n    // Colors\n    var color = new Int8Array(carsData.length);\n    var colorscale = [[0, 'gray'], [1, 'firebrick']];\n\n    // Layout\n    var layout = {\n      width: 600,\n      height: 800,\n      xaxis: {title: {text: 'Horsepower'}},\n      yaxis: {domain: [0.6, 1], title: {text: 'MPG'}},\n      dragmode: 'lasso',\n      hovermode: 'closest'\n    };\n\n    // Build Traces\n    var traces = [\n      {type: 'scatter',\n       x: horsepower,\n       y: mpg,\n       marker: {color: 'gray'},\n       mode: 'markers',\n       selected: {'marker': {'color': 'firebrick'}},\n       unselected: {'marker': {'opacity': 0.3}}\n      },\n      {type: 'parcats',\n       domain: {y: [0, 0.4]},\n       dimensions:categoricalDimensions,\n       line: {\n         colorscale: colorscale,\n         cmin: 0,\n         cmax: 1,\n         color: color,\n         shape: 'hspline'},\n       labelfont: {size: 14}\n      }\n    ];\n\n    // Make plot\n    Plotly.newPlot('myDiv', traces, layout);\n\n    // Update color on selection and click\n    var update_color = function(points_data) {\n      var new_color = new Int8Array(carsData.length);\n      var selection = []\n      for(var i = 0; i < points_data.points.length; i++) {\n        new_color[points_data.points[i].pointNumber] = 1;\n        selection.push(points_data.points[i].pointNumber);\n      }\n\n      // Update selected points in scatter plot\n      Plotly.restyle('myDiv', {'selectedpoints': [selection]}, 0)\n\n      // Update color of selected paths in parallel categories diagram\n      Plotly.restyle('myDiv', {'line.color': [new_color]}, 1)\n    };\n\n    gd.on('plotly_selected', update_color);\n    gd.on('plotly_click', update_color);\n  });
    "},{"location":"examples/parallel-categories-diagram/#parallel-categories-with-multi-color-linked-brushing","title":"parallel-categories-with-multi-color-linked-brushing","text":"

    This example extends the previous example to support brushing with multiple colors. The radio buttons above may be used to select the active color, and this color will be applied when points are selected in the scatter trace and when categories or ribbons are clicked in the parcats trace.

    var gd = document.getElementById('myDiv');\nvar categoricalDimensionLabels = [\n  'body-style',\n  'drive-wheels',\n  'fuel-type'\n];\n\nd3.csv(\n  'https://raw.githubusercontent.com/plotly/datasets/master/imports-85.csv',\n  function(carsData) {\n    // Preprocess Data\n    var mpg = carsData.map(function(row) { return row['highway-mpg'] });\n    var horsepower = carsData.map(function(row) { return row['horsepower'] });\n\n    var categoricalDimensions = categoricalDimensionLabels.map(\n      function(dimLabel) {\n        // Extract column\n        var values = carsData.map(function(row) {\n          return row[dimLabel]\n        });\n\n        return {\n          values: values,\n          label: dimLabel\n        };\n      }\n    );\n\n    // Colors\n    var color = new Int8Array(carsData.length);\n    var colorscale = [[0, 'gray'], [0.33, 'gray'],\n                      [0.33, 'firebrick'], [0.66, 'firebrick'],\n                      [0.66, 'blue'], [1.0, 'blue']];\n\n    // Layout\n    var layout = {\n      width: 600,\n      height: 800,\n      xaxis: {title: {text: 'Horsepower'}},\n      yaxis: {domain: [0.6, 1], title: {text: 'MPG'}},\n      dragmode: 'lasso',\n      hovermode: 'closest'\n    };\n\n    // Build Traces\n    var traces = [\n      {type: 'scatter',\n       x: horsepower,\n       y: mpg,\n       marker: {color: color,\n                colorscale: colorscale,\n                cmin: -0.5,\n                cmax: 2.5,\n                showscale: true,\n                colorbar: {tickvals: [0, 1, 2],\n                           ticktext: ['None', 'Red', 'Blue']}},\n       mode: 'markers',\n      },\n      {type: 'parcats',\n       domain: {y: [0, 0.4]},\n       dimensions:categoricalDimensions,\n       line: {\n         colorscale: colorscale,\n         cmin: -0.5,\n         cmax: 2.5,\n         color: color,\n         shape: 'hspline'},\n       labelfont: {size: 14}\n      }\n    ];\n\n    // Make plot\n    Plotly.newPlot('myDiv', traces, layout);\n\n    // Update color on selection and click\n    var update_color = function(points_data) {\n      var new_color = color;\n      var color_value = document.querySelector('input[name=\"rate\"]:checked').value;\n      console.log(color_value);\n      var selection = []\n      for(var i = 0; i < points_data.points.length; i++) {\n        new_color[points_data.points[i].pointNumber] = color_value;\n        selection.push(points_data.points[i].pointNumber);\n      }\n\n      // Update selected points in scatter plot\n      Plotly.restyle'myDiv', {'marker.color': [new_color]}, 0)\n\n      // Update color of selected paths in parallel categories diagram\n      Plotly.restyle'myDiv',\n                     {'line.color': [new_color]}, 1)\n    };\n\n    gd.on('plotly_selected', update_color);\n    gd.on('plotly_click', update_color);\n  });
    "},{"location":"examples/parallel-coordinates-plot/","title":"parallel-coordinates-plot","text":""},{"location":"examples/parallel-coordinates-plot/#adding-dimensions","title":"adding-dimensions","text":"

    Parallel coordinates are richly interactive by default. Drag the lines along the axes to filter regions and drag the axis names across the plot to rearrange variables:

    var trace = {\n  type: 'parcoords',\n  line: {\n    color: 'blue'\n  },\n\n  dimensions: [{\n    range: [1, 5],\n    constraintrange: [1, 2],\n    label: 'A',\n    values: [1,4]\n  }, {    \n    range: [1,5],\n    label: 'B',\n    values: [3,1.5],\n    tickvals: [1.5,3,4.5]\n  }, {\n    range: [1, 5],\n    label: 'C',\n    values: [2,4],\n    tickvals: [1,2,4,5],\n    ticktext: ['text 1','text 2','text 4','text 5']\n  }, {\n    range: [1, 5],\n    label: 'D',\n    values: [4,2]\n  }]\n};\n\nvar data = [trace]\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/parallel-coordinates-plot/#basic-parallel-coordinates-plot","title":"basic-parallel-coordinates-plot","text":"
    d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/iris.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar data = [{\n  type: 'parcoords',\n  pad: [80,80,80,80],\n  line: {\n    color: unpack(rows, 'species_id'),\n    colorscale: [[0, 'red'], [0.5, 'green'], [1, 'blue']]\n  },\n\n  dimensions: [{\n    range: [2, 4.5],\n    label: 'sepal_width',\n    values: unpack(rows, 'sepal_width')\n  }, {\n    constraintrange: [5, 6],\n    range: [4,8],\n    label: 'sepal_length',\n    values: unpack(rows, 'sepal_length')\n  }, {\n    label: 'petal_width',\n    range: [0, 2.5],\n    values: unpack(rows, 'petal_width')\n  }, {\n    label: 'petal_length',\n    range: [1, 7],\n    values: unpack(rows, 'petal_length')\n  }]\n}];\n\nvar layout = {\n  width: 800\n};\n\nPlotly.newPlot('myDiv', data, layout);\n\n});
    "},{"location":"examples/parallel-coordinates-plot/#annotated-parallel-coordinates-plot","title":"annotated-parallel-coordinates-plot","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/iris-id.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar data = [{\n  type: 'parcoords',\n  pad: [80,80,80,80],\n  line: {\n    color: unpack(rows, 'species_id'),\n    colorscale: [[0, 'red'], [0.5, 'green'], [1, 'blue']]\n  },\n\n  dimensions: [{\n    range: [2, 4.5],\n    label: 'sepal_width',\n    values: unpack(rows, 'sepal_width')\n  }, {\n    constraintrange: [5, 6],\n    range: [4,8],\n    label: 'sepal_length',\n    values: unpack(rows, 'sepal_length')\n  }, {\n    label: 'petal_width',\n    range: [0, 2.5],\n    values: unpack(rows, 'petal_width')\n  }, {\n    label: 'petal_length',\n    range: [1, 7],\n    values: unpack(rows, 'petal_length')\n  }]\n}];\n\nvar layout = {\n  width: 800,\n  annotations: [\n      {showarrow: false,\n      text: 'Higher sepal width',\n      x: 0, y: 1, xref: 'paper', yref: 'paper'},\n      {showarrow: false,\n      text: 'Lower petal width and length',\n      x: 0.9, y: .25, xref: 'paper', yref: 'paper'\n    }]\n};\n\nPlotly.newPlot('myDiv', data, layout);\n\n});
    "},{"location":"examples/parallel-coordinates-plot/#advanced-parallel-coordinates-plot","title":"advanced-parallel-coordinates-plot","text":"
    d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/parcoords_data.csv', function(err, rows){\n\nfunction unpack(rows, key) {\n  return rows.map(function(row) {\n    return row[key];\n  });\n}\n\nvar data = [{\n  type: 'parcoords',\n  line: {\n    showscale: true,\n    reversescale: true,\n    colorscale: 'Jet',\n    cmin: -4000,\n    cmax: -100,\n    color: unpack(rows, 'colorVal')\n  },\n\n  dimensions: [{\n    constraintrange: [100000, 150000],\n    range: [32000, 227900],\n    label: 'Block height',\n    values: unpack(rows, 'blockHeight')\n  }, {\n    range: [0, 700000],\n    label: 'Block width',\n    values: unpack(rows, 'blockWidth')\n  }, {\n    label: 'Cylinder material',\n    tickvals: [0, 0.5, 1, 2, 3],\n    ticktext: ['A', 'AB', 'B', 'Y', 'Z'],\n    values: unpack(rows, 'cycMaterial')\n  }, {\n    label: 'Block material',\n    tickvals: [0, 1, 2, 3],\n    range: [-1, 4],\n    values: unpack(rows, 'blockMaterial')\n  }, {\n    range: [134, 3154],\n    label: 'Total weight',\n    visible: true,\n    values: unpack(rows, 'totalWeight')\n  }, {\n    range: [9, 19984],\n    label: 'Assembly penalty weight',\n    values: unpack(rows, 'assemblyPW')\n  }, {\n    range: [49000, 568000],\n    label: 'Height st width',\n    values: unpack(rows, 'HstW')\n  }, {\n    range: [-28000, 196430],\n    label: 'Min height width',\n    values: unpack(rows, 'minHW')\n  }, {\n     range: [98453, 501789],\n     label: 'Min width diameter',\n     values: unpack(rows, 'minWD')\n  }, {\n    range: [1417, 107154],\n    label: 'RF block',\n    values: unpack(rows, 'rfBlock')\n  }]\n}];\n\nPlotly.newPlot('myDiv', data);\n\n});
    "},{"location":"examples/pie-charts/","title":"pie-charts","text":""},{"location":"examples/pie-charts/#basic-pie-chart","title":"basic-pie-chart","text":"
    var data = [{\n  values: [19, 26, 55],\n  labels: ['Residential', 'Non-Residential', 'Utility'],\n  type: 'pie'\n}];\n\nvar layout = {\n  height: 400,\n  width: 500\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/pie-charts/#pie-chart-subplots","title":"pie-chart-subplots","text":"

    In order to create pie chart subplots, you need to use the domain attribute. domain allows you to place each trace on a grid of rows and columns defined in the layout or within a rectangle defined by X and Y arrays. The example below uses the grid method (with a 2 x 2 grid defined in the layout) for the first three traces and the X and Y method for the fourth trace.

    var allLabels = ['1st', '2nd', '3rd', '4th', '5th'];\n\nvar allValues = [\n  [38, 27, 18, 10, 7],\n  [28, 26, 21, 15, 10],\n  [38, 19, 16, 14, 13],\n  [31, 24, 19, 18, 8]\n];\n\nvar ultimateColors = [\n  ['rgb(56, 75, 126)', 'rgb(18, 36, 37)', 'rgb(34, 53, 101)', 'rgb(36, 55, 57)', 'rgb(6, 4, 4)'],\n  ['rgb(177, 127, 38)', 'rgb(205, 152, 36)', 'rgb(99, 79, 37)', 'rgb(129, 180, 179)', 'rgb(124, 103, 37)'],\n  ['rgb(33, 75, 99)', 'rgb(79, 129, 102)', 'rgb(151, 179, 100)', 'rgb(175, 49, 35)', 'rgb(36, 73, 147)'],\n  ['rgb(146, 123, 21)', 'rgb(177, 180, 34)', 'rgb(206, 206, 40)', 'rgb(175, 51, 21)', 'rgb(35, 36, 21)']\n];\n\nvar data = [{\n  values: allValues[0],\n  labels: allLabels,\n  type: 'pie',\n  name: 'Starry Night',\n  marker: {\n    colors: ultimateColors[0]\n  },\n  domain: {\n    row: 0,\n    column: 0\n  },\n  hoverinfo: 'label+percent+name',\n  textinfo: 'none'\n},{\n  values: allValues[1],\n  labels: allLabels,\n  type: 'pie',\n  name: 'Sunflowers',\n  marker: {\n    colors: ultimateColors[1]\n  },\n  domain: {\n    row: 1,\n    column: 0\n  },\n  hoverinfo: 'label+percent+name',\n  textinfo: 'none'\n},{\n  values: allValues[2],\n  labels: allLabels,\n  type: 'pie',\n  name: 'Irises',\n  marker: {\n    colors: ultimateColors[2]\n  },\n  domain: {\n    row: 0,\n    column: 1\n  },\n  hoverinfo: 'label+percent+name',\n  textinfo: 'none'\n},{\n  values: allValues[3],\n  labels: allLabels,\n  type: 'pie',\n  name: 'The Night Cafe',\n  marker: {\n    colors: ultimateColors[3]\n  },\n  domain: {\n    x: [0.52,1],\n    y: [0, 0.48]\n  },\n  hoverinfo: 'label+percent+name',\n  textinfo: 'none'\n}];\n\nvar layout = {\n  height: 400,\n  width: 500,\n  grid: {rows: 2, columns: 2}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/pie-charts/#donut-chart","title":"donut-chart","text":"
    var data = [{\n  values: [16, 15, 12, 6, 5, 4, 42],\n  labels: ['US', 'China', 'European Union', 'Russian Federation', 'Brazil', 'India', 'Rest of World' ],\n  domain: {column: 0},\n  name: 'GHG Emissions',\n  hoverinfo: 'label+percent+name',\n  hole: .4,\n  type: 'pie'\n},{\n  values: [27, 11, 25, 8, 1, 3, 25],\n  labels: ['US', 'China', 'European Union', 'Russian Federation', 'Brazil', 'India', 'Rest of World' ],\n  text: 'CO2',\n  textposition: 'inside',\n  domain: {column: 1},\n  name: 'CO2 Emissions',\n  hoverinfo: 'label+percent+name',\n  hole: .4,\n  type: 'pie'\n}];\n\nvar layout = {\n  title: {\n    text: 'Global Emissions 1990-2011'\n  },\n  annotations: [\n    {\n      font: {\n        size: 20\n      },\n      showarrow: false,\n      text: 'GHG',\n      x: 0.17,\n      y: 0.5\n    },\n    {\n      font: {\n        size: 20\n      },\n      showarrow: false,\n      text: 'CO2',\n      x: 0.82,\n      y: 0.5\n    }\n  ],\n  height: 400,\n  width: 600,\n  showlegend: false,\n  grid: {rows: 1, columns: 2}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/pie-charts/#automatically-adjust-margins","title":"automatically-adjust-margins","text":"

    The following example sets automargin attribute to true, which automatically increases the margin size.

    var data = [{\n  type: \"pie\",\n  values: [2, 3, 4, 4],\n  labels: [\"Wages\", \"Operating expenses\", \"Cost of sales\", \"Insurance\"],\n  textinfo: \"label+percent\",\n  textposition: \"outside\",\n  automargin: true\n}]\n\nvar layout = {\n  height: 400,\n  width: 400,\n  margin: {\"t\": 0, \"b\": 0, \"l\": 0, \"r\": 0},\n  showlegend: false\n  }\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/pie-charts/#control-text-orientation-inside-pie-chart-sectors","title":"control-text-orientation-inside-pie-chart-sectors","text":"

    The insidetextorientation attribute controls the orientation of the text inside chart sectors. When set to auto, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The horizontal option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The radial option orients text along the radius of the sector. The tangential option orients text perpendicular to the radius of the sector.

    var data = [{\n  type: \"pie\",\n  values: [2, 3, 4, 4],\n  labels: [\"Wages\", \"Operating expenses\", \"Cost of sales\", \"Insurance\"],\n  textinfo: \"label+percent\",\n  insidetextorientation: \"radial\"\n}]\n\nvar layout = [{\n  height: 700,\n  width: 700\n}]\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/plotlyjs-events/","title":"plotlyjs-events","text":""},{"location":"examples/plotlyjs-events/#using-plotly.js-events","title":"using-plotly.js-events","text":"

    Plotly graphs emit events prefixed with plotly_ (i.e. 'plotly_click', 'plotly_hover', 'plotly_relayout') when interacted with (clicked, hovered, zoomed). Event handlers can be bound to events using the .on method that is exposed by the plot div object.

    In addition to the event handler, some events emit additional information about the point(s) or plot interacted with. The following documentation organizes Plotly events based on the accessible information emitted with the event: event data, update data, or no additional data. The following page provides a description and example of each Plotly event as well as the structure of the data or update returned with the event.

    myDiv.on('plotly_event', function(){\n        // do something;\n    });
    "},{"location":"examples/plotlyjs-events/#simple-event-example","title":"simple-event-example","text":"

    Here's a simple example using a Plotly event. Click on a point on the chart below to see an alert triggered by the plotly_click event.

    var myPlot = document.getElementById('myDiv'),\n    x = [1, 2, 3, 4, 5],\n    y = [10, 20, 30, 20, 10],\n    data = [{x:x, y:y, type:'scatter',\n             mode:'markers', marker:{size:20}\n            }],\n    layout = {hovermode:'closest',\n              title: {text: 'Click on Points'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_click', function(){\n    alert('You clicked this Plotly chart!');\n});
    "},{"location":"examples/plotlyjs-events/#event-data","title":"event-data","text":"

    Many Plotly events emit event data when the event is triggered. Event data is information about the data point related to the event (i.e. the point clicked). The following events emit event data: plotly_click, plotly_hover, plotly_unhover, plotly_selecting, and plotly_selected. Event data differs depending on the type of plot the user is interacting with. The event data structure for Cartesian (2D) plots, 3D plots, and maps can be found below, along with examples of each event.

    // Cartesian\n{\n  points: [{\n    curveNumber: 1,  // index in data of the trace associated with the selected point\n    pointNumber: 1,  // index of the selected point\n    x: 1,        // x value\n    y: 1,      // y value\n    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point\n    fullData: {/* */},   // ref to the trace including all of the default attributes\n   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point\n   yaxis: {/* */}    // ref to y-axis object \" \"\n  }, {\n    /* similarly for other selected points */\n  }]\n}\n\n// Cartesian Histograms\n{\n  points: [{\n    curveNumber: 1,  // index in data of the trace associated with the selected point\n    pointNumbers: [1, 5, 28, 33, 41, ...],  // Array of indices of the points aggregated into selected bin\n    x: 1,        // x value\n    y: 45,      // y value\n    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point\n    fullData: {/* */},   // ref to the trace including all of the default attributes\n   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point\n   yaxis: {/* */}    // ref to y-axis object \" \"\n  }, {\n    /* similarly for other selected points */\n  }]\n}\n\n// 3D\n{\n  points: [{\n    curveNumber: 2,  // index in data of the trace associated with the selected point\n    pointNumber: 2,  // index of the selected point\n    x: 5,        // x value\n    y: 600,      // y value\n    z: 12,       // z value\n    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point\n    fullData: {/* */},   // ref to the trace including all of the default attributes\n   xaxis: {/* */},   // ref to x-axis object (i.e layout.xaxis) associated with the selected point\n   yaxis: {/* */}    // ref to y-axis object \" \"\n   zaxis: {/* */}    // ref to z-axis object \" \"\n  }, {\n    /* similarly for other selected points */\n  }]\n}\n\n// Maps\n{\n  points: [{\n    curveNumber: 2,  // index in data of the trace associated with the selected point\n    pointNumber: 2,  // index of the selected point\n    lat: 50,        // latitude value\n    lon: -12,      // longitude value\n    data: {/* */},       // ref to the trace as sent to Plotly.newPlot associated with the selected point\n    fullData: {/* */},   // ref to the trace including all of the default attributes\n    location:       //\n  }, {\n    /* similarly for other selected points */\n  }]\n}
    "},{"location":"examples/plotlyjs-events/#click-event","title":"click-event","text":"

    Here's a simple example of using the data returned from the plotly_click event to restyle the graph. After creating a plot, we can change the color of the point clicked on by updating the marker.color array at the index of the point we clicked on then using Plotly.restyle() to apply the update. For more examples of using plotly_click events, see: https://plotly.com/javascript/click-events/

    var myPlot = document.getElementById('myDiv'),\n    x = [1, 2, 3, 4, 5, 6],\n    y = [1, 2, 3, 2, 3, 4],\n    colors = ['#00000','#00000','#00000',\n              '#00000','#00000','#00000'],\n    data = [{x:x, y:y, type:'scatter',\n             mode:'markers', marker:{size:16, color:colors}}],\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Click on a Point to Change Color<br>Double Click (anywhere) to Change it Back'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_click', function(data){\n  var pn='',\n      tn='',\n      colors=[];\n  for(var i=0; i < data.points.length; i++){\n    pn = data.points[i].pointNumber;\n    tn = data.points[i].curveNumber;\n    colors = data.points[i].data.marker.color;\n  };\n  colors[pn] = '#C54C82';\n\n  var update = {'marker':{color: colors, size:16}};\n  Plotly.restyle('myDiv', update, [tn]);\n});
    "},{"location":"examples/plotlyjs-events/#legend-click-events","title":"legend-click-events","text":"

    plotly_legendclick and plotly_legenddoubleclick allow customization of the plotly legend. The default behaviour of plotly_legendclick is to hide a trace and the default behavior of plotly_legenddoubleclick is to select one trace and hide all the others. We can add to the default behaviour by creating a new plotly_legendclick event with a function of our choice. We can also disable the default behaviour by creating a function that returns false. In the example below, we do both in order to create a plotly_legendclick event which changes the marker color back to black instead of erasing the trace.

    var myPlot = document.getElementById('myDiv'),\n    x = [1, 2, 3, 4, 5, 6],\n    y = [1, 2, 3, 2, 3, 4],\n    y2 = [1, 4, 7, 6, 1, 5],\n    colors = [['#5C636E','#5C636E','#5C636E','#5C636E','#5C636E','#5C636E'],\n              ['#393e46','#393e46','#393e46','#393e46','#393e46','#393e46']],\n    data = [{x:x, y:y, type:'scatter',\n             mode:'line', line:{ color:'#5C636E'},marker:{size:16, color:colors[0]}},\n            {x:x, y:y2, type:'scatter',\n             mode:'line',line:{ color:'#393e46'}, marker:{size:16, color:colors[1]}}],\n    layout = {\n        showlegend: true,\n        hovermode:'closest',\n        title: {text: 'Click on a Point to Change Color<br>Click on a Trace in the Legend to Change Back One Trace Only'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_click', function(data){\n  var pn='',\n      tn='',\n      colors=[];\n  for(var i=0; i < data.points.length; i++){\n    pn = data.points[i].pointNumber;\n    tn = data.points[i].curveNumber;\n    colors = data.points[i].data.marker.color;\n  };\n  colors[pn] = '#C54C82';\n  var update = {'marker':{color: colors, size:16}};\n  Plotly.restyle('myDiv', update,[tn]);\n});\n\nmyPlot.on('plotly_legendclick', function(data){\n  var trColors = [['#5C636E','#5C636E','#5C636E','#5C636E','#5C636E','#5C636E'],\n              ['#393e46','#393e46','#393e46','#393e46','#393e46','#393e46']];\n  var update = {'marker':{color: trColors[data.curveNumber], size:16}};\n  Plotly.restyle('myDiv', update,[data.curveNumber]);\n  return false;\n});
    "},{"location":"examples/plotlyjs-events/#hover-event","title":"hover-event","text":"

    Here's a simple example of using the data returned from the plotly_hover and plotly_unhover events to restyle the graph. After creating a plot, we can change the color of the point hovered on by updating the marker.color array at the index of the point we hovered on then using Plotly.restyle() to apply the update. Then we can use plotly_unhover to change the marker.color back to the original color. For more examples of using plotly_hover events, see: https://plotly.com/javascript/hover-events/

    var myPlot = document.getElementById('myDiv'),\n    x = [1, 2, 3, 4, 5, 6, 7],\n    y = [1, 2, 3, 2, 3, 4, 3],\n    colors =['#00000','#00000','#00000',\n             '#00000','#00000','#00000',\n             '#00000'],\n    data = [{x:x, y:y,\n             type:'scatter',\n             mode:'markers', marker:{size:16, color:colors}}],\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Hover on a Point<br>to Change Color'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_hover', function(data){\n  var pn='',\n      tn='',\n      colors=[];\n  for(var i=0; i < data.points.length; i++){\n    pn = data.points[i].pointNumber;\n    tn = data.points[i].curveNumber;\n    colors = data.points[i].data.marker.color;\n  };\n  colors[pn] = '#C54C82';\n\n  var update = {'marker':{color: colors, size:16}};\n  Plotly.restyle('myDiv', update, [tn]);\n});\n\nmyPlot.on('plotly_unhover', function(data){\n  var pn='',\n      tn='',\n      colors=[];\n  for(var i=0; i < data.points.length; i++){\n    pn = data.points[i].pointNumber;\n    tn = data.points[i].curveNumber;\n    colors = data.points[i].data.marker.color;\n  };\n  colors[pn] = '#00000';\n\n  var update = {'marker':{color: colors, size:16}};\n  Plotly.restyle('myDiv', update, [tn]);\n});
    "},{"location":"examples/plotlyjs-events/#select-event","title":"select-event","text":"

    Here's a simple example using the data returned from the plotly_selected event. plotly_selected returns event data for all points selected simultaneously. After creating a scatter plot with random data and two histograms that display the x and y distributions of that random data, we can select points by clicking and dragging on the plot. Upon plotly_selected the histograms will update to display the distribution of the x and y values of the selected points. The color of the scatter plot will be updated as well to highlight the selected points. For more examples of using plotly_selected and plotly_selecting events, see: https://plotly.com/javascript/lasso-selection/

    var graphDiv = document.getElementById('myDiv');\nvar N = 1000;\nvar color1 = '#7b3294';\nvar color1Light = '#c2a5cf';\nvar colorX = '#ffa7b5';\nvar colorY = '#fdae61';\n\nfunction randomArray() {\n  var out = new Array(N);\n  for(var i = 0; i < N; i++) {\n    out[i] = Math.random();\n  }\n  return out;\n}\nvar x = randomArray();\nvar y = randomArray();\n\nPlotly.newPlot(graphDiv, [{\n  type: 'scatter',\n  mode: 'markers',\n  x: x,\n  y: y,\n  xaxis: 'x',\n  yaxis: 'y',\n  name: 'random data',\n  marker: {color: color1, size: 10}\n}, {\n  type: 'histogram',\n  x: x,\n  xaxis: 'x2',\n  yaxis: 'y2',\n  name: 'x coord dist.',\n  marker: {color: colorX}\n}, {\n  type: 'histogram',\n  x: y,\n  xaxis: 'x3',\n  yaxis: 'y3',\n  name: 'y coord dist.',\n  marker: {color: colorY}\n}], {\n  title: {\n    text: 'Lasso around the scatter points to see sub-distributions'\n  },\n  dragmode: 'lasso',\n  xaxis: {\n    zeroline: false,\n  },\n  yaxis: {\n    domain: [0.55, 1],\n  },\n  xaxis2: {\n    domain: [0, 0.45],\n    anchor: 'y2',\n  },\n  yaxis2: {\n    domain: [0, 0.45],\n    anchor: 'x2'\n  },\n  xaxis3: {\n    domain: [0.55, 1],\n    anchor: 'y3'\n  },\n  yaxis3: {\n    domain: [0, 0.45],\n    anchor: 'x3'\n  }\n});\n\ngraphDiv.on('plotly_selected', function(eventData) {\n  var x = [];\n  var y = [];\n\n  var colors = [];\n  for(var i = 0; i < N; i++) colors.push(color1Light);\n\n  eventData.points.forEach(function(pt) {\n    x.push(pt.x);\n    y.push(pt.y);\n    colors[pt.pointNumber] = color1;\n  });\n\n  Plotly.restyle(graphDiv, {\n    x: [x, y],\n    xbins: {}\n  }, [1, 2]);\n\n  Plotly.restyle(graphDiv, 'marker.color', [colors], [0]);\n});
    "},{"location":"examples/plotlyjs-events/#update-data","title":"update-data","text":"

    The following Plotly events emit update information when the event is triggered: plotly_restyle and plotly_relayout. The update emitted with plotly_restyle is similar across plot types and includes an array containing an object of the newly updated attributes and an array of the trace numbers that were updated.

    For Cartesian (2D) plots, plotly_relayout emits only the xaxis and yaxis ranges which were directly changed by the triggering event. For 3D plots, layout.scene.camera data is similarly emitted. See the full structures below:

    // plotly_restyle update\n[\n  {update},  // update object -- attribute updated: new value\n  [0]       // array of traces updated\n]\n\n// plotly_relayout update: Cartesian\n//// Upon resizing plot:\n{\n xaxis.range[0]: , // new value if xaxis.range[0] was updated\n xaxis.range[1]: ,\n yaxis.range[0]: , // new value if yaxis.range[0] was updated\n yaxis.range[1]:\n}\n//// Upon autosizing plot:\n{\n xaxis.autorange: true,\n yaxis.autorange: true\n}\n\n// plotly_relayout update: 3D\n// a subset of the following data will be emitted depending on\n// which attributes were changed by the triggering event.\n{\n  scene: {\n    center: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-center\n      x: 0,\n      y: 0,\n      z: 0\n    }\n  },\n  {\n    eye: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-eye\n      x: 1.25,\n      y: 1.25,\n      z: 1.25\n    }\n  }.\n  {\n    up: { // https://plotly.com/javascript/reference/layout/scene/#layout-scene-camera-up\n      x: 0,\n      y: 0,\n      z: 1\n    }\n  }\n}
    "},{"location":"examples/plotlyjs-events/#additional-events","title":"additional-events","text":"

    The following Plotly events do not emit additional data or update information: plotly_webglcontextlost, plotly_afterplot, plotly_autosize, plotly_deselect, plotly_doubleclick, plotly_redraw, and plotly_animated. These event handlers can be used to notify or trigger an additional event with the following syntax:

    function eventTriggeredHandler() {\n   /*  add your event triggered handler here */\n}\n\nmyDiv.on('plotly_event', eventTriggeredHandler);
    "},{"location":"examples/plotlyjs-events/#webgl-context-lost-event","title":"webgl-context-lost-event","text":"

    Plotly graphs which use WebGL receive a \"WebGL context\" from the browser which gives them access to gpu resources. A program may lose its WebGL context if the browser is overloaded with them and is forced to shut one down. The event handler: plotly_webglcontextlost, can be used to trigger an event after a graph loses it's WebGL context.

    "},{"location":"examples/plotlyjs-events/#afterplot-event","title":"afterplot-event","text":"

    The event handler: plotly_afterplot, can be used to trigger an event each time a chart is plotted. This also includes re-plotting after the restyling or relayout of a plot. Users also have the option of adding a post-plot handler to the plot call with the following syntax: Plotly.newPlot('myDiv', data, layout, config).then(postPlotHandler);

    The simple example below logs a console message each time the chart is plotted. Zoom or pan on the graph below to trigger the plotly_afterplot handler.

    var myPlot = document.getElementById('myDiv'),\n    N = 20,\n    x = d3.range(N),\n    y = d3.range(N).map( d3.random.normal() ),\n    data = [{x:x, y:y, type:'scatter',\n            mode:'markers', marker:{size:14}}\n           ];\n\nPlotly.newPlot('myDiv', data);\n\nmyPlot.on('plotly_afterplot', function(){\n    console.log('done plotting');\n});
    "},{"location":"examples/plotlyjs-events/#double-click-event","title":"double-click-event","text":"

    In addition to plotly_click, plotly_doubleclick can be used as an event handle in Plotly charts as well. You may already be familiar with plotly_doubleclick if you regularly use Plotly's zoom and pan functionality, double clicking on the graph will restore the axes ranges after zooming into a specific area. Unlike plotly_click, a plotly_doubleclick is registered upon clicking anywhere on the graph (not just data points), therefore, plotly_doubleclick does not return data. In the following example, we'll build off of our plotly_click example, and reset the color of our data points upon double clicking anywhere on the graph.

    var myPlot = document.getElementById('myDiv'),\n    x = [1, 2, 3, 4, 5, 6],\n    y = [1, 2, 3, 2, 3, 4],\n    colors = ['#00000','#00000','#00000',\n              '#00000','#00000','#00000'],\n    data = [{x:x, y:y, type:'scatter',\n             mode:'markers', marker:{size:16, color:colors}}],\n    layout = {\n        hovermode:'closest',\n        title: {text: 'Click on a Point to Change Color<br>Double Click (anywhere) to Change it Back'}\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_click', function(data){\n  var pn='',\n      tn='',\n      colors=[];\n  for(var i=0; i < data.points.length; i++){\n    pn = data.points[i].pointNumber;\n    tn = data.points[i].curveNumber;\n    colors = data.points[i].data.marker.color;\n  };\n  colors[pn] = '#C54C82';\n\n  var update = {'marker':{color: colors, size:16}};\n  Plotly.restyle('myDiv', update, [tn]);\n});\n\nmyPlot.on('plotly_doubleclick', function(data){\n  var orgColors = ['#00000','#00000','#00000',\n                   '#00000','#00000','#00000'];\n  var update = {'marker':{color: orgColors, size:16}};\n  Plotly.restyle('myDiv', update);\n});
    "},{"location":"examples/polar-chart/","title":"polar-chart","text":""},{"location":"examples/polar-chart/#line-polar-plot","title":"line-polar-plot","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/polar_dataset.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\nvar trace1 = {\n  r: unpack(rows, 'x1'),\n  theta: unpack(rows, 'y'),\n  mode: 'lines',\n  name: 'Figure8',\n  line: {color: 'peru'},\n  type: 'scatterpolar'\n};\n\nvar trace2 = {\n  r: unpack(rows, 'x2'),\n  theta: unpack(rows, 'y'),\n  mode: 'lines',\n  name: 'Cardioid',\n  line: {color: 'darkviolet'},\n  type: 'scatterpolar'\n};\n\nvar trace3 = {\n  r: unpack(rows, 'x3'),\n  theta: unpack(rows, 'y'),\n  mode: 'lines',\n  name: 'Hypercardioid',\n  line: {color: 'deepskyblue'},\n  type: 'scatterpolar'\n};\n\nvar trace4 = {\n\n  r: unpack(rows, 'x4'),\n  theta: unpack(rows, 'y'),\n  mode: 'lines',\n  name: 'Subcardioid',\n  line: {color: 'orangered'},\n  type: 'scatterpolar'\n};\n\nvar trace5 = {\n\n  r: unpack(rows, 'x5'),\n  theta: unpack(rows, 'y'),\n  mode: 'lines',\n  name: 'Supercardioid',\n  marker: {\n    color: 'none',\n    line: {color: 'green'}\n  },\n  type: 'scatterpolar'\n};\n\nvar data = [trace1, trace2, trace3, trace4, trace5];\n\nvar layout = {\n  title: {\n    text: 'Mic Patterns'\n  },\n  font: {\n    family: 'Arial, sans-serif;',\n    size: 12,\n    color: '#000'\n  },\n  showlegend: true,\n  orientation: -90\n};\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/polar-chart/#area-polar-chart","title":"area-polar-chart","text":"
    data = [\n  {\n    type: \"scatterpolar\",\n    mode: \"lines\",\n    r: [0, 1.5, 1.5, 0, 2.5, 2.5, 0],\n    theta: [0, 10, 25, 0, 205, 215, 0],\n    fill: \"toself\",\n    fillcolor: '#709BFF',\n    line: {\n      color: 'black'\n    }\n  },\n  {\n    type: \"scatterpolar\",\n    mode: \"lines\",\n    r: [0, 3.5, 3.5, 0],\n    theta: [0, 55, 75, 0],\n    fill: \"toself\",\n    fillcolor: '#E4FF87',\n    line: {\n      color: 'black'\n    }\n  },\n  {\n    type: \"scatterpolar\",\n    mode: \"lines\",\n    r: [0, 4.5, 4.5, 0, 4.5, 4.5, 0],\n    theta: [0, 100, 120, 0, 305, 320, 0],\n    fill: \"toself\",\n    fillcolor: '#FFAA70',\n    line: {\n      color: 'black'\n    }\n  },\n  {\n    type: \"scatterpolar\",\n    mode: \"lines\",\n    r: [0, 4, 4, 0],\n    theta: [0, 165, 195, 0],\n    fill: \"toself\",\n    fillcolor: '#FFDF70',\n    line: {\n      color: 'black'\n    }\n  },\n  {\n    type: \"scatterpolar\",\n    mode: \"lines\",\n    r: [0, 3, 3, 0],\n    theta: [0, 262.5, 277.5, 0],\n    fill: \"toself\",\n    fillcolor: '#B6FFB4',\n    line: {\n      color: 'black'\n    }\n  }\n]\n\nlayout = {\n  polar: {\n    radialaxis: {\n      visible: true,\n      range: [0, 5]\n    }\n  },\n  showlegend: false\n}\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/polar-chart/#categorical-polar-chart","title":"categorical-polar-chart","text":"
    var data = [\n    {\n      type: \"scatterpolar\",\n      name: \"angular categories\",\n      r: [5, 4, 2, 4, 5],\n      theta: [\"a\", \"b\", \"c\", \"d\", \"a\"],\n      fill: \"toself\"\n    },\n    {\n      type: \"scatterpolar\",\n      name: \"radial categories\",\n      r: [\"a\", \"b\", \"c\", \"d\", \"b\", \"f\", \"a\"],\n      theta: [1, 4, 2, 1.5, 1.5, 6, 5],\n      thetaunit: \"radians\",\n      fill: \"toself\",\n      subplot: \"polar2\"\n    },\n    {\n      type: \"scatterpolar\",\n      name: \"angular categories (w/ categoryarray)\",\n      r: [5, 4, 2, 4, 5],\n      theta: [\"a\", \"b\", \"c\", \"d\", \"a\"],\n      fill: \"toself\",\n      subplot: \"polar3\"\n    },\n    {\n      type: \"scatterpolar\",\n      name: \"radial categories (w/ category descending)\",\n      r: [\"a\", \"b\", \"c\", \"d\", \"b\", \"f\", \"a\", \"a\"],\n      theta: [45, 90, 180, 200, 300, 15, 20, 45],\n      fill: \"toself\",\n      subplot: \"polar4\"\n    },\n    {\n      type: \"scatterpolar\",\n      name: \"angular categories (w/ extra category)\",\n      r: [5, 4, 2, 4, 5, 5],\n      theta: [\"b\", \"c\", \"d\", \"e\", \"a\", \"b\"],\n      fill: \"toself\"\n    }\n  ]\n\nvar layout = {\n    polar: {\n      domain: {\n        x: [0, 0.46],\n        y: [0.56, 1]\n      },\n      radialaxis: {\n        angle: 45\n      },\n      angularaxis: {\n        direction: \"clockwise\",\n        period: 6\n      }\n    },\n    polar2: {\n      domain: {\n        x: [0, 0.46],\n        y: [0, 0.44]\n      },\n      radialaxis: {\n        angle: 180,\n        tickangle: -180\n      }\n    },\n    polar3: {\n      domain: {\n        x: [0.54, 1],\n        y: [0.56, 1]\n      },\n      sector: [150, 400],\n      radialaxis: {\n        angle: -45\n      },\n      angularaxis: {\n        categoryarray: [\"d\", \"a\", \"c\", \"b\"]\n      }\n    },\n    polar4: {\n      domain: {\n        x: [0.54, 1],\n        y: [0, 0.44]\n      },\n      radialaxis: {\n        categoryorder: \"category descending\"\n      },\n      angularaxis: {\n        thetaunit: \"radians\",\n        dtick: 0.3141592653589793\n      }\n    }\n  }\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/polar-chart/#polar-chart-directions","title":"polar-chart-directions","text":"
    var data = [\n    {\n      type: \"scatterpolar\",\n      mode: \"lines+markers\",\n      r: [1,2,3,4,5],\n      theta: [0,90,180,360,0],\n      line: {\n        color: \"#ff66ab\"\n      },\n      marker: {\n        color: \"#8090c7\",\n        symbol: \"square\",\n        size: 8\n      },\n      subplot: \"polar\"\n    },\n    {\n      type: \"scatterpolar\",\n      mode: \"lines+markers\",\n      r: [1,2,3,4,5],\n      theta: [0,90,180,360,0],\n      line: {\n        color: \"#ff66ab\"\n      },\n      marker: {\n        color: \"#8090c7\",\n        symbol: \"square\",\n        size: 8\n      },\n      subplot: \"polar2\"\n    }\n  ]\n\nvar layout = {\n    showlegend: false,\n    polar: {\n      domain: {\n        x: [0,0.4],\n        y: [0,1]\n      },\n      radialaxis: {\n        tickfont: {\n          size: 8\n        }\n      },\n      angularaxis: {\n        tickfont: {\n          size: 8\n        },\n        rotation: 90,\n        direction: \"counterclockwise\"\n      }\n    },\n    polar2: {\n      domain: {\n        x: [0.6,1],\n        y: [0,1]\n      },\n      radialaxis: {\n        tickfont: {\n          size: 8\n        }\n      },\n      angularaxis: {\n        tickfont: {\n          size: 8\n        },\n        direction: \"clockwise\"\n      }\n    }\n  }\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/polar-chart/#polar-chart-sector","title":"polar-chart-sector","text":"
    var data = [\n    {\n      type: \"scatterpolar\",\n      mode: \"lines+markers\",\n      r: [1,2,3,4,5],\n      theta: [0,90,180,360,0],\n      line: {\n        color: \"#ff66ab\"\n      },\n      marker: {\n        color: \"#8090c7\",\n        symbol: \"square\",\n        size: 8\n      },\n      subplot: \"polar\"\n    },\n    {\n      type: \"scatterpolar\",\n      mode: \"lines+markers\",\n      r: [1,2,3,4,5],\n      theta: [0,90,180,360,0],\n      line: {\n        color: \"#ff66ab\"\n      },\n      marker: {\n        color: \"#8090c7\",\n        symbol: \"square\",\n        size: 8\n      },\n      subplot: \"polar2\"\n    }\n  ]\n\nvar layout = {\n    showlegend: false,\n    polar: {\n        sector: [145,215],\n      domain: {\n        x: [0,0.4],\n        y: [0,1]\n      },\n      radialaxis: {\n        tickfont: {\n          size: 8\n        }\n      },\n      angularaxis: {\n        tickfont: {\n          size: 8\n        }\n      }\n    },\n    polar2: {\n      domain: {\n        x: [0.6,1],\n        y: [0,1]\n      },\n      radialaxis: {\n        tickfont: {\n          size: 8\n        }\n      },\n      angularaxis: {\n        tickfont: {\n          size: 8\n        }\n      }\n    }\n  }\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/polar-chart/#polar-chart-subplots","title":"polar-chart-subplots","text":"
    var data = [{\n    type: \"scatterpolargl\",\n    r: [1, 2, 3],\n    theta: [50, 100, 200],\n    marker: {symbol: \"square\"}\n  }, {\n    type: \"scatterpolargl\",\n    r: [1, 2, 3],\n    theta: [1, 2, 3],\n    thetaunit: \"radians\"\n  }, {\n    type: \"scatterpolargl\",\n    r: [\"a\", \"b\", \"c\", \"b\"],\n    theta: [\"D\", \"C\", \"B\", \"A\"],\n    subplot: \"polar2\"\n  }, {\n    type: \"scatterpolargl\",\n    r: [50, 300, 900],\n    theta: [0, 90, 180],\n    subplot: \"polar3\"\n  }, {\n    type: \"scatterpolargl\",\n    mode: \"lines\",\n    r: [3, 3, 4, 3],\n    theta: [0, 45, 90, 270],\n    fill: \"toself\",\n    subplot: \"polar4\"\n  }]\n\nvar layout =  {\n    polar: {\n      domain: {\n        x: [0, 0.46],\n        y: [0.56, 1]\n      },\n      radialaxis: {\n        range: [1, 4]\n      },\n      angularaxis: {\n        thetaunit: \"radians\"\n      }\n    },\n    polar2: {\n      domain: {\n        x: [0, 0.46],\n        y: [0, 0.42]\n      }\n    },\n    polar3: {\n      domain: {\n        x: [0.54, 1],\n        y: [0.56, 1]\n      },\n      radialaxis: {\n        type: \"log\",\n        tickangle: 45\n      },\n      sector: [0, 180]\n    },\n    polar4: {\n      domain: {\n        x: [0.54, 1],\n        y: [0, 0.44]\n      },\n      radialaxis: {\n          visible: false,\n          range: [0, 6]\n      }\n    },\n    showlegend: false\n  }\n\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/polar-chart/#webgl-polar-chart","title":"webgl-polar-chart","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/hobbs-pearson-trials.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\nvar data = [\n    {\n      type: \"scatterpolargl\",\n      r: unpack(rows, 'trial_1_r'),\n      theta: unpack(rows, 'trial_1_theta'),\n      mode: \"markers\",\n      name: \"Trial 1\",\n      marker: {\n        color: \"rgb(27,158,119)\",\n        size: 15,\n        line: {\n          color: \"white\"\n        },\n        opacity: 0.7\n      },\n      cliponaxis: false\n    },\n    {\n      type: \"scatterpolargl\",\n      r: unpack(rows, \"trial_2_r\"),\n      theta: unpack(rows, \"trial_2_theta\"),\n      mode: \"markers\",\n      name: \"Trial 2\",\n      marker: {\n        color: \"rgb(217,95,2)\",\n        size: 20,\n        line: {\n          color: \"white\"\n        },\n        \"opacity\": 0.7\n      },\n      \"cliponaxis\": false\n    },\n    {\n      type: \"scatterpolargl\",\n      r: unpack(rows, \"trial_3_r\"),\n      theta: unpack(rows, \"trial_3_theta\"),\n      mode: \"markers\",\n      name: \"Trial 3\",\n      marker: {\n        color: \"rgb(117,112,179)\",\n        size: 12,\n        line: {\n          color: \"white\"\n        },\n        opacity: 0.7\n      },\n      cliponaxis: false\n    },\n    {\n      type: \"scatterpolargl\",\n      r: unpack(rows, \"trial_4_r\"),\n      theta: unpack(rows, \"trial_4_theta\"),\n      mode: \"markers\",\n      name: \"Trial 4\",\n      marker: {\n        color: \"rgb(231,41,138)\",\n        size: 22,\n        line: {\n          color: \"white\"\n        },\n        opacity: 0.7\n      },\n      cliponaxis: false\n    },\n    {\n      type: \"scatterpolargl\",\n      r: unpack(rows, \"trial_5_r\"),\n      theta: unpack(rows, \"trial_5_theta\"),\n      mode: \"markers\",\n      name: \"Trial 5\",\n      marker: {\n        color: \"rgb(102,166,30)\",\n        size: 19,\n        line: {\n          color: \"white\"\n        },\n        opacity: 0.7\n      },\n      cliponaxis: false\n    },\n    {\n      type: \"scatterpolargl\",\n      r: unpack(rows, \"trial_6_r\"),\n      theta: unpack(rows, \"trial_6_theta\"),\n      mode: \"markers\",\n      name: \"Trial 6\",\n      marker: {\n        color: \"rgb(230,171,2)\",\n        size: 10,\n        line: {\n          color: \"white\"\n        },\n        opacity: 0.7\n      },\n      cliponaxis: false\n    }\n  ]\n\nvar layout = {\n    title: {\n      text: \"Hobbs-Pearson Trials\"\n    },\n    font: {\n      size: 15\n    },\n    showlegend: false,\n    polar: {\n      bgcolor: \"rgb(223, 223, 223)\",\n      angularaxis: {\n        tickwidth: 2,\n        linewidth: 3,\n        layer: \"below traces\"\n      },\n      radialaxis: {\n        side: \"counterclockwise\",\n        showline: true,\n        linewidth: 2,\n        tickwidth: 2,\n        gridcolor: \"white\",\n        gridwidth: 2\n      }\n    },\n    paper_bgcolor: \"rgb(223, 223, 223)\",\n  }\n\nPlotly.newPlot('myDiv', data, layout);\n})
    "},{"location":"examples/radar-chart/","title":"radar-chart","text":""},{"location":"examples/radar-chart/#basic-radar-chart","title":"basic-radar-chart","text":"
    data = [{\n  type: 'scatterpolar',\n  r: [39, 28, 8, 7, 28, 39],\n  theta: ['A','B','C', 'D', 'E', 'A'],\n  fill: 'toself'\n}]\n\nlayout = {\n  polar: {\n    radialaxis: {\n      visible: true,\n      range: [0, 50]\n    }\n  },\n  showlegend: false\n}\n\nPlotly.newPlot(\"myDiv\", data, layout)
    "},{"location":"examples/radar-chart/#multiple-trace-radar-chart","title":"multiple-trace-radar-chart","text":"
    data = [\n  {\n  type: 'scatterpolar',\n  r: [39, 28, 8, 7, 28, 39],\n  theta: ['A','B','C', 'D', 'E', 'A'],\n  fill: 'toself',\n  name: 'Group A'\n  },\n  {\n  type: 'scatterpolar',\n  r: [1.5, 10, 39, 31, 15, 1.5],\n  theta: ['A','B','C', 'D', 'E', 'A'],\n  fill: 'toself',\n  name: 'Group B'\n  }\n]\n\nlayout = {\n  polar: {\n    radialaxis: {\n      visible: true,\n      range: [0, 50]\n    }\n  }\n}\n\nPlotly.newPlot(\"myDiv\", data, layout)
    "},{"location":"examples/range-slider/","title":"range-slider","text":""},{"location":"examples/range-slider/#basic-range-slider-on-time-series","title":"basic-range-slider-on-time-series","text":"
    var rawDataURL = 'https://raw.githubusercontent.com/plotly/datasets/master/2016-weather-data-seattle.csv';\nvar xField = 'Date';\nvar yField = 'Mean_TemperatureC';\n\nvar selectorOptions = {\n    buttons: [{\n        step: 'month',\n        stepmode: 'backward',\n        count: 1,\n        label: '1m'\n    }, {\n        step: 'month',\n        stepmode: 'backward',\n        count: 6,\n        label: '6m'\n    }, {\n        step: 'year',\n        stepmode: 'todate',\n        count: 1,\n        label: 'YTD'\n    }, {\n        step: 'year',\n        stepmode: 'backward',\n        count: 1,\n        label: '1y'\n    }, {\n        step: 'all',\n    }],\n};\n\nd3.csv(rawDataURL, function(err, rawData) {\n    if(err) throw err;\n\n    var data = prepData(rawData);\n    var layout = {\n        title: {\n            text: 'Time series with range slider and selectors'\n        },\n        xaxis: {\n            rangeselector: selectorOptions,\n            rangeslider: {}\n        },\n        yaxis: {\n            fixedrange: true\n        }\n    };\n\n    Plotly.newPlot('myDiv', data, layout);\n});\n\nfunction prepData(rawData) {\n    var x = [];\n    var y = [];\n\n    rawData.forEach(function(datum, i) {\n\n        x.push(new Date(datum[xField]));\n        y.push(datum[yField]);\n    });\n\n    return [{\n        mode: 'lines',\n        x: x,\n        y: y\n    }];\n}
    "},{"location":"examples/react/","title":"react","text":""},{"location":"examples/react/#introduction","title":"introduction","text":"

    Use react-plotly.js to embed D3 charts in your React-powered web application. This React component takes the chart type, data, and styling as Plotly JSON in its data and layout props, then draws the chart using Plotly.js. See below about how to get started with react-plotly.js.

    "},{"location":"examples/react/#installation","title":"installation","text":"
    $ npm install react-plotly.js plotly.js
    "},{"location":"examples/react/#quick-start","title":"quick-start","text":"

    The easiest way to use this component is to import and pass data to a plot component:

    import React from 'react';\nimport Plot from 'react-plotly.js';\n\nclass App extends React.Component {\n  render() {\n    return (\n      <Plot\n        data={[\n          {\n            x: [1, 2, 3],\n            y: [2, 6, 3],\n            type: 'scatter',\n            mode: 'lines+markers',\n            marker: {color: 'red'},\n          },\n          {type: 'bar', x: [1, 2, 3], y: [2, 5, 3]},\n        ]}\n        layout={ {width: 320, height: 240, title: {text: 'A Fancy Plot'}} }\n      />\n    );\n  }\n}
    "},{"location":"examples/react/#advanced-usage","title":"advanced-usage","text":"

    For information on more advanced usage patterns such as State Management or Customizing the plotly.js bundle please see the ReadMe for react-plotly.js.

    "},{"location":"examples/react/#props-and-events","title":"props-and-events","text":"

    More information about Props and Event Handlers can be found in the ReadMe for react-plotly.js.

    "},{"location":"examples/react/#plotly.js-chart-types-and-attributes","title":"plotly.js-chart-types-and-attributes","text":"

    Click here for more information about Plotly Chart Types and Attributes.

    "},{"location":"examples/remove-trace/","title":"remove-trace","text":""},{"location":"examples/remove-trace/#remove-trace","title":"remove-trace","text":"
    function plotGraph(){\nvar trace1 = {\n  x: [1, 2, 3, 4],\n  y: [10, 15, 13, 17],\n  type: 'scatter',\n  line: {\n    color: 'rgb(55, 128, 191)',\n  }\n};\n\nvar trace2 = {\n  x: [1, 2, 3, 4],\n  y: [16, 5, 11, 9],\n  type: 'scatter',\n  line: {\n    color: 'rgb(255,140,0)',\n  }\n};\n\nvar layout = {\n  title: {text: 'Click Buttons to Delete Traces'},\n  showlegend:false\n};\n\nvar data = [trace1, trace2];\n\nPlotly.newPlot('myDiv', data, layout);\n}\n\nfunction deleteTrace(divId){\n  Plotly.deleteTraces('myDiv', 0);\n};
    "},{"location":"examples/responsive-fluid-layout/","title":"responsive-fluid-layout","text":""},{"location":"examples/responsive-fluid-layout/#responsive-plots","title":"responsive-plots","text":"

    If you set the responsive attribute equal to true (using the config object), then your figures will be automatically resized when the browser window size changes. This is an especially useful feature for charts which are going to viewed on mobile devices!

    var trace1 = {\n  type: 'bar',\n  x: [1, 2, 3, 4],\n  y: [5, 10, 2, 8],\n  marker: {\n      color: '#C8A2C8',\n      line: {\n          width: 2.5\n      }\n  }\n};\n\nvar data = [ trace1 ];\n\nvar layout = {\n  title: {\n    text: 'Responsive to window\\'s size!'\n  },\n  font: {size: 18}\n};\n\nvar config = {responsive: true}\n\nPlotly.newPlot('myDiv', data, layout, config );
    "},{"location":"examples/ribbon-plots/","title":"ribbon-plots","text":""},{"location":"examples/ribbon-plots/#basic-ribbon-plot","title":"basic-ribbon-plot","text":"
    d3.json('https://raw.githubusercontent.com/plotly/datasets/master/3d-ribbon.json', function(figure){\n\n  var trace1 = {\n    x:figure.data[0].x, y:figure.data[0].y, z:figure.data[0].z,\n    name: '',\n    colorscale: figure.data[0].colorscale,\n    type: 'surface',\n    showscale: false\n  }\n  var trace2 = {\n    x:figure.data[1].x, y:figure.data[1].y, z:figure.data[1].z,\n    name: '',\n    colorscale: figure.data[1].colorscale,\n    type: 'surface',\n    showscale: false\n  }\n  var trace3 = {\n    x:figure.data[2].x, y:figure.data[2].y, z:figure.data[2].z,\n    colorscale: figure.data[2].colorscale,\n    type: 'surface',\n    showscale: false\n  }\n  var trace4 = {\n    x:figure.data[3].x, y:figure.data[3].y, z:figure.data[3].z,\n    colorscale: figure.data[3].colorscale,\n    type: 'surface',\n    showscale: false\n  }\n  var trace5 = {\n    x:figure.data[4].x, y:figure.data[4].y, z:figure.data[4].z,\n    colorscale: figure.data[4].colorscale,\n    type: 'surface',\n    showscale: false\n  }\n  var trace6 = {\n    x:figure.data[5].x, y:figure.data[5].y, z:figure.data[5].z,\n    colorscale: figure.data[5].colorscale,\n    type: 'surface',\n    showscale: false\n  }\n  var trace7 = {\n    x:figure.data[6].x, y:figure.data[6].y, z:figure.data[6].z,\n    name: '',\n    colorscale: figure.data[6].colorscale,\n    type: 'surface',\n    showscale: false\n  }\n\n  var data = [trace1, trace2, trace3, trace4, trace5, trace6, trace7];\n\n  var layout = {\n    title: {\n      text: 'Ribbon Plot'\n    },\n    showlegend: false,\n    autosize: true,\n    width: 600,\n    height: 600,\n    scene: {\n      xaxis: {title: {text: 'Sample #'}},\n      yaxis: {title: {text: 'Wavelength'}},\n      zaxis: {title: {text: 'OD'}}\n    }\n  };\n  Plotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/sankey-diagram/","title":"sankey-diagram","text":""},{"location":"examples/sankey-diagram/#basic-sankey-diagram","title":"basic-sankey-diagram","text":"
    var data = {\n  type: \"sankey\",\n  orientation: \"h\",\n  node: {\n    pad: 15,\n    thickness: 30,\n    line: {\n      color: \"black\",\n      width: 0.5\n    },\n   label: [\"A1\", \"A2\", \"B1\", \"B2\", \"C1\", \"C2\"],\n   color: [\"blue\", \"blue\", \"blue\", \"blue\", \"blue\", \"blue\"]\n      },\n\n  link: {\n    source: [0,1,0,2,3,3],\n    target: [2,3,3,4,4,5],\n    value:  [8,4,2,8,4,2]\n  }\n}\n\nvar data = [data]\n\nvar layout = {\n  title: {\n    text: \"Basic Sankey\"\n  },\n  font: {\n    size: 10\n  }\n}\n\nPlotly.react('myDiv', data, layout)
    "},{"location":"examples/sankey-diagram/#create-sankey-canvas","title":"create-sankey-canvas","text":"
    var data = {\n  type: \"sankey\",\n  domain: {\n    x: [0,1],\n    y: [0,1]\n  },\n  orientation: \"h\",\n  valueformat: \".0f\",\n  valuesuffix: \"TWh\"\n}\n\nvar data = [data]\n\nvar layout = {\n  title: {\n    text: \"Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>\"\n  },\n  width: 1118,\n  height: 772,\n  font: {\n    size: 10\n  }\n}
    "},{"location":"examples/sankey-diagram/#add-nodes","title":"add-nodes","text":"
    d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json', function(fig){\n\nvar data = {\n  type: \"sankey\",\n  domain: {\n    x: [0,1],\n    y: [0,1]\n  },\n  orientation: \"h\",\n  valueformat: \".0f\",\n  valuesuffix: \"TWh\",\n\n  node: {\n    pad: 15,\n    thickness: 15,\n    line: {\n      color: \"black\",\n      width: 0.5\n    },\n   label: fig.data[0].node.label,\n   color: fig.data[0].node.color\n      }\n}\n\nvar data = [data]\n\nvar layout = {\n  title: {\n    text: \"Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>\"\n  },\n  width: 1118,\n  height: 772,\n  font: {\n    size: 10\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout)\n\n});
    "},{"location":"examples/sankey-diagram/#add-links","title":"add-links","text":"
    d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json', function(fig){\n\nvar data = {\n  type: \"sankey\",\n  domain: {\n    x: [0,1],\n    y: [0,1]\n  },\n  orientation: \"h\",\n  valueformat: \".0f\",\n  valuesuffix: \"TWh\",\n  node: {\n    pad: 15,\n    thickness: 15,\n    line: {\n      color: \"black\",\n      width: 0.5\n    },\n   label: fig.data[0].node.label,\n   color: fig.data[0].node.color\n      },\n\n  link: {\n    source: fig.data[0].link.source,\n    target: fig.data[0].link.target,\n    value: fig.data[0].link.value,\n    label: fig.data[0].link.label\n  }\n}\n\nvar data = [data]\n\nvar layout = {\n  title: {\n    text: \"Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>\"\n  },\n  width: 1118,\n  height: 772,\n  font: {\n    size: 10\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout)\n});
    "},{"location":"examples/sankey-diagram/#style-sankey-diagram","title":"style-sankey-diagram","text":"
    d3.json('https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy_dark.json', function(fig){\n\nvar data = {\n  type: \"sankey\",\n  domain: {\n    x: [0,1],\n    y: [0,1]\n  },\n  orientation: \"h\",\n  valueformat: \".0f\",\n  valuesuffix: \"TWh\",\n  node: {\n    pad: 15,\n    thickness: 15,\n    line: {\n      color: \"black\",\n      width: 0.5\n    },\n   label: fig.data[0].node.label,\n   color: fig.data[0].node.color\n      },\n  link: {\n    source: fig.data[0].link.source,\n    target: fig.data[0].link.target,\n    value: fig.data[0].link.value,\n    label: fig.data[0].link.label\n  }\n}\n\nvar data = [data]\n\nvar layout = {\n  title: {\n    text: \"Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='https://bost.ocks.org/mike/sankey/'>Mike Bostock</a>\"\n  },\n  width: 1118,\n  height: 772,\n  font: {\n    size: 10,\n    color: 'white'\n  },\n  plot_bgcolor: 'black',\n  paper_bgcolor: 'black'\n}\n\nPlotly.newPlot('myDiv', data, layout)\n});
    "},{"location":"examples/sankey-diagram/#define-node-position","title":"define-node-position","text":"

    The following example sets node.x and node.y to place nodes in the specified locations, except in the snap arrangement (default behaviour when node.x and node.y are not defined) to avoid overlapping of the nodes, therefore, an automatic snapping of elements will be set to define the padding between nodes via nodepad. The other possible arrangements are: 1) perpendicular 2) freeform 3) fixed

    var data = [{\n  type: \"sankey\",\n    arrangement: \"snap\",\n    node:{\n        label: [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\"],\n        x: [0.2, 0.1, 0.5, 0.7, 0.3, 0.5],\n        y: [0.7, 0.5, 0.2, 0.4, 0.2, 0.3],\n        pad:10}, // 10 Pixels\n    link: {\n        source: [0, 0, 1, 2, 5, 4, 3, 5],\n        target: [5, 3, 4, 3, 0, 2, 2, 3],\n        value: [1, 2, 1, 1, 1, 1, 1, 2]}\n    }]\n\nvar layout = {\n  title: {\n    text: \"Sankey with manually positioned node\"\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/sankey-diagram/#node-alignment","title":"node-alignment","text":"

    You can set the alignment of nodes using node.align. In this example, we align nodes to the \"right\". node.align can also be set to \"left\", \"center\", or \"justify\". The default is \"justify\" if `node.align is not set, and is similar to aligning to the \"left\", except that nodes without outgoing links are moved to the right of the figure.

    var data = {\n  type: \"sankey\",\n  orientation: \"h\",\n  node: {\n    label: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\"],\n    align: \"right\",\n  },\n\n  link: {\n    source: [0, 1, 4, 2, 1],\n    target: [1, 4, 5, 4, 3],\n    value: [4, 2, 3, 1, 2],\n  },\n};\n\nvar data = [data];\n\nvar layout = {\n  title: {\n    text: \"Align Nodes (Right)\"\n  },\n  font: {\n    size: 10,\n  },\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/scatter-plots-on-maps/","title":"scatter-plots-on-maps","text":""},{"location":"examples/scatter-plots-on-maps/#canadian-cities-map","title":"canadian-cities-map","text":"
    var data = [{\n    type: 'scattergeo',\n    mode: 'markers+text',\n    text: [\n        'Montreal', 'Toronto', 'Vancouver', 'Calgary', 'Edmonton',\n        'Ottawa', 'Halifax', 'Victoria', 'Winnepeg', 'Regina'\n    ],\n    lon: [\n        -73.57, -79.24, -123.06, -114.1, -113.28,\n        -75.43, -63.57, -123.21, -97.13, -104.6\n    ],\n    lat: [\n        45.5, 43.4, 49.13, 51.1, 53.34, 45.24,\n        44.64, 48.25, 49.89, 50.45\n    ],\n    marker: {\n        size: 7,\n        color: [\n            '#bebada', '#fdb462', '#fb8072', '#d9d9d9', '#bc80bd',\n            '#b3de69', '#8dd3c7', '#80b1d3', '#fccde5', '#ffffb3'\n        ],\n        line: {\n            width: 1\n        }\n    },\n    name: 'Canadian cities',\n    textposition: [\n        'top right', 'top left', 'top center', 'bottom right', 'top right',\n        'top left', 'bottom right', 'bottom left', 'top right', 'top right'\n    ],\n}];\n\nvar layout = {\n    title: {\n        text: 'Canadian cities',\n        font: {\n            family: 'Droid Serif, serif',\n            size: 16\n        }\n    },\n    geo: {\n        scope: 'north america',\n        resolution: 50,\n        lonaxis: {\n            'range': [-130, -55]\n        },\n        lataxis: {\n            'range': [40, 70]\n        },\n        showrivers: true,\n        rivercolor: '#fff',\n        showlakes: true,\n        lakecolor: '#fff',\n        showland: true,\n        landcolor: '#EAEAAE',\n        countrycolor: '#d3d3d3',\n        countrywidth: 1.5,\n        subunitcolor: '#d3d3d3'\n    }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/scatter-plots-on-maps/#us-airports-map","title":"us-airports-map","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_february_us_airport_traffic.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });\n    }\n\n    var scl = [[0,'rgb(5, 10, 172)'],[0.35,'rgb(40, 60, 190)'],[0.5,'rgb(70, 100, 245)'], [0.6,'rgb(90, 120, 245)'],[0.7,'rgb(106, 137, 247)'],[1,'rgb(220, 220, 220)']];\n\n    var data = [{\n        type:'scattergeo',\n        locationmode: 'USA-states',\n        lon: unpack(rows, 'long'),\n        lat: unpack(rows, 'lat'),\n        hoverinfor:  unpack(rows, 'airport'),\n        text:  unpack(rows, 'airport'),\n        mode: 'markers',\n        marker: {\n            size: 8,\n            opacity: 0.8,\n            reversescale: true,\n            autocolorscale: false,\n            symbol: 'square',\n            line: {\n                width: 1,\n                color: 'rgb(102,102,102)'\n            },\n            colorscale: scl,\n            cmin: 0,\n            color: unpack(rows, 'cnt'),\n            colorbar: {\n                title: {text: 'Incoming Flights February 2011'}\n            }\n        }\n    }];\n\n\n    var layout = {\n        title: {text: 'Most Trafficked US airports'},\n        colorbar: true,\n        geo: {\n            scope: 'usa',\n            projection: {\n                type: 'albers usa'\n            },\n            showland: true,\n            landcolor: 'rgb(250,250,250)',\n            subunitcolor: 'rgb(217,217,217)',\n            countrycolor: 'rgb(217,217,217)',\n            countrywidth: 0.5,\n            subunitwidth: 0.5\n        }\n    };\n\n    Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n\n});
    "},{"location":"examples/scatter-plots-on-maps/#north-america-precipitation-map","title":"north-america-precipitation-map","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\n scl = [[0, 'rgb(150,0,90)'],[0.125, 'rgb(0, 0, 200)'],[0.25,'rgb(0, 25, 255)'],[0.375,'rgb(0, 152, 255)'],[0.5,'rgb(44, 255, 150)'],[0.625,'rgb(151, 255, 0)'],[0.75,'rgb(255, 234, 0)'],[0.875,'rgb(255, 111, 0)'],[1,'rgb(255, 0, 0)']];\n\n    var data = [{\n        type: 'scattergeo',\n        mode: 'markers',\n        text: unpack(rows, 'Globvalue'),\n        lon: unpack(rows, 'Lon'),\n        lat: unpack(rows, 'Lat'),\n        marker: {\n          color: unpack(rows, 'Globvalue'),\n          colorscale: scl,\n          cmin: 0,\n          cmax: 1.4,\n          reversescale: true,\n          opacity: 0.2,\n          size: 2,\n          colorbar:{\n            thickness: 10,\n            title: {side:\n              'right'\n            },\n            outlinecolor: 'rgba(68,68,68,0)',\n            ticks: 'outside',\n            ticklen: 3,\n            shoticksuffix: 'last',\n            ticksuffix: 'inches',\n            dtick: 0.1\n          }\n        },\n        name: 'NA Precipitation'\n    }];\n\n    var layout = {\n      geo:{\n        scope: 'north america',\n        showland: true,\n        landcolor: 'rgb(212,212,212)',\n        subunitcolor: 'rgb(255,255,255)',\n        countrycolor: 'rgb(255,255,255)',\n        showlakes: true,\n        lakecolor: 'rgb(255,255,255)',\n        showsubunits: true,\n        showcountries: true,\n        resolution: 50,\n        projection: {\n          type: 'conic conformal',\n          rotation: {\n            long: -100\n          }\n        },\n      },\n      longaxis: {\n        showgrid: true,\n        gridwidth: 0.5,\n        range: [ -140.0, -55.0 ],\n        dtick: 5\n      },\n      lataxis: {\n        showgrid: true,\n        gridwidth: 0.5,\n        range: [ 20.0, 60.0 ],\n        dtick: 5\n      },\n      title: {text: 'North America Precipitation'},\n      width: 600,\n      height: 600\n    };\n\n    Plotly.newPlot('myDiv', data, layout);\n  });
    "},{"location":"examples/scatter-tile-maps/","title":"scatter-tile-maps","text":""},{"location":"examples/scatter-tile-maps/#basic-example","title":"basic-example","text":"
    var data = [{\n  type:'scattermap',\n  lat:['45.5017'],\n  lon:['-73.5673'],\n  mode:'markers',\n  marker: {\n    size:14\n  },\n  text:['Montreal']\n}]\n\nvar layout = {\n  autosize: true,\n  hovermode:'closest',\n  map: {\n    bearing:0,\n    center: {\n      lat:45,\n      lon:-73\n    },\n    pitch:0,\n    zoom:5\n  },\n}\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/scatter-tile-maps/#multiple-markers","title":"multiple-markers","text":"
    d3.csv('https://raw.githubusercontent.com/bcdunbar/datasets/master/meteorites_subset.csv', function(err, rows){\n\n  var classArray = unpack(rows, 'class');\n  var classes = [...new Set(classArray)];\n\n  function unpack(rows, key) {\n    return rows.map(function(row) { return row[key]; });\n  }\n\n  var data = classes.map(function(classes) {\n    var rowsFiltered = rows.filter(function(row) {\n        return (row.class === classes);\n    });\n    return {\n       type: 'scattermap',\n       name: classes,\n       lat: unpack(rowsFiltered, 'reclat'),\n       lon: unpack(rowsFiltered, 'reclong')\n    };\n  });\n\n  var layout = {\n     title: {text: 'Meteorite Landing Locations'},\n     font: {\n         color: 'white'\n     },\n    dragmode: 'zoom',\n    map: {\n      center: {\n        lat: 38.03697222,\n        lon: -90.70916722\n      },\n      domain: {\n        x: [0, 1],\n        y: [0, 1]\n      },\n      style: 'dark',\n      zoom: 1\n    },\n    margin: {\n      r: 20,\n      t: 40,\n      b: 20,\n      l: 20,\n      pad: 0\n    },\n    paper_bgcolor: '#191A1A',\n    plot_bgcolor: '#191A1A',\n    showlegend: true,\n     annotations: [{\n         x: 0,\n       y: 0,\n       xref: 'paper',\n       yref: 'paper',\n         text: 'Source: <a href=\"https://data.nasa.gov/Space-Science/Meteorite-Landings/gh4g-9sfh\" style=\"color: rgb(255,255,255)\">NASA</a>',\n         showarrow: false\n     }]\n  };\n\n  Plotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/scatter-tile-maps/#adding-colorscale-to-maps","title":"adding-colorscale-to-maps","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n      }\n\n scl = [[0, 'rgb(150,0,90)'],[0.125, 'rgb(0, 0, 200)'],[0.25,'rgb(0, 25, 255)'],[0.375,'rgb(0, 152, 255)'],[0.5,'rgb(44, 255, 150)'],[0.625,'rgb(151, 255, 0)'],[0.75,'rgb(255, 234, 0)'],[0.875,'rgb(255, 111, 0)'],[1,'rgb(255, 0, 0)']];\n\n    var data = [{\n        type: 'scattermap',\n        mode: 'markers',\n        text: unpack(rows, 'Globvalue'),\n        lon: unpack(rows, 'Lon'),\n        lat: unpack(rows, 'Lat'),\n        marker: {\n          color: unpack(rows, 'Globvalue'),\n          colorscale: scl,\n          cmin: 0,\n          cmax: 1.4,\n          reversescale: true,\n          opacity: 0.5,\n          size: 3,\n          colorbar:{\n            thickness: 10,\n            title: {side:\n              'right'\n            },\n            outlinecolor: 'rgba(68,68,68,0)',\n            ticks: 'outside',\n            ticklen: 3,\n            shoticksuffix: 'last',\n            ticksuffix: 'inches',\n            dtick: 0.1\n          }\n        },\n        name: 'NA Precipitation'\n    }];\n\n    layout = {\n      dragmode: 'zoom',\n      map: {\n        center: {\n          lat: 38.03697222,\n          lon: -90.70916722\n        },\n        domain: {\n          x: [0, 1],\n          y: [0, 1]\n        },\n        style: 'light',\n        zoom: 3\n      },\n      margin: {\n        r: 0,\n        t: 0,\n        b: 0,\n        l: 0,\n        pad: 0\n      },\n      showlegend: false\n   };\n\n    Plotly.newPlot('myDiv', data, layout);\n  });
    "},{"location":"examples/scatter-tile-maps/#adding-lines-to-maps","title":"adding-lines-to-maps","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/c34aaa0b1b3cddad335173cb7bc0181897201ee6/2011_february_aa_flight_paths.csv', function(err, rows){\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });}\n\n    function getMaxOfArray(numArray) {\n        return Math.max.apply(null, numArray);\n    }\n\n    var data = [];\n    var count = unpack(rows, 'cnt');\n    var startLongitude = unpack(rows, 'start_lon');\n    var endLongitude = unpack(rows, 'end_lon');\n    var startLat = unpack(rows, 'start_lat');\n    var endLat = unpack(rows, 'end_lat');\n\n    for ( var i = 0 ; i < count.length; i++ ) {\n        var opacityValue = count[i]/getMaxOfArray(count);\n\n        var result = {\n            type: 'scattermap',\n            lon: [ startLongitude[i] , endLongitude[i] ],\n            lat: [ startLat[i] , endLat[i] ],\n            mode: 'lines',\n            line: {\n                width: 1,\n                color: 'red'\n            },\n            opacity: opacityValue\n        };\n\n        data.push(result);\n    };\n\n    layout = {\n      dragmode: 'zoom',\n      map: {\n        center: {\n          lat: 38.03697222,\n          lon: -90.70916722\n        },\n        domain: {\n          x: [0, 1],\n          y: [0, 1]\n        },\n        style: 'dark',\n        zoom: 2\n      },\n      margin: {\n        r: 0,\n        t: 0,\n        b: 0,\n        l: 0,\n        pad: 0\n      },\n      paper_bgcolor: '#191A1A',\n      plot_bgcolor: '#191A1A',\n      showlegend: false\n   };\n\n  Plotly.newPlot(\"myDiv\", data, layout, {showLink: false});\n\n});
    "},{"location":"examples/scatter-tile-maps/#set-marker-symbols","title":"set-marker-symbols","text":"

    This example uses symbol attribute to set the marker symbol.

    var data = [\n    {\n        type: \"scattermap\",\n        mode: \"markers+text+lines\",\n        lon: [-75, -80, -50],\n        lat: [45, 20, -20],\n        marker: { size: 20, symbol: [\"bus\", \"harbor\", \"airport\"] },\n        text: [\"Bus\", \"Harbor\", \"Airport\"],\n        textposition: \"bottom right\"\n    }\n];\n\nvar layout = {\n    map: { style: \"outdoors\", zoom: 0.7 },\n    showlegend: false, height: 500, width: 700\n};\n\nPlotly.newPlot(\"myDiv\", data, layout);
    "},{"location":"examples/scatter-tile-maps/#basic-example-(mapbox)","title":"basic-example-(mapbox)","text":"

    > Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

    Earlier examples use traces that render with Maplibre GL JS. These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, which are now deprecated. Here's one of the earlier examples using the Mapbox-based choroplethmapbox trace

    var data = [{\n  type:'scattermapbox',\n  lat:['45.5017'],\n  lon:['-73.5673'],\n  mode:'markers',\n  marker: {\n    size:14\n  },\n  text:['Montreal']\n}]\n\nvar layout = {\n  autosize: true,\n  hovermode:'closest',\n  mapbox: {\n    bearing:0,\n    center: {\n      lat:45,\n      lon:-73\n    },\n    pitch:0,\n    zoom:5\n  },\n}\n\nPlotly.setPlotConfig({\n  mapboxAccessToken: \"your access token\"\n})\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/setting-graph-size/","title":"setting-graph-size","text":""},{"location":"examples/setting-graph-size/#adjusting-height-width-and-margins","title":"adjusting-height-width-and-margins","text":"
    var data = [\n  {\n    x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n    y: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n    type: 'scatter'\n  }\n];\nvar layout = {\n  autosize: false,\n  width: 500,\n  height: 500,\n  margin: {\n    l: 50,\n    r: 50,\n    b: 100,\n    t: 100,\n    pad: 4\n  },\n  paper_bgcolor: '#7f7f7f',\n  plot_bgcolor: '#c7c7c7'\n};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/setting-graph-size/#automatically-adjust-margins","title":"automatically-adjust-margins","text":"

    Set automargin=true (reference) and Plotly will automatically increase the margin size to prevent ticklabels from being cut off or overlapping with axis titles.

    var data = [\n  {\n    x: ['Apples', 'Oranges', 'Watermelon', 'Pears'],\n    y: [3, 2, 1, 4],\n    type: 'bar'\n  }\n];\nvar layout = {\n  autosize: false,\n  width: 500,\n  height: 500,\n  yaxis: {\n    title: {\n      text: 'Y-axis Title',\n      font: { size: 30 }\n    },\n    ticktext: ['long label','Very long label','3','label'],\n    tickvals: [1, 2, 3, 4],\n    tickmode: 'array',\n    automargin: true,\n  },\n  paper_bgcolor: '#7f7f7f',\n  plot_bgcolor: '#c7c7c7'\n};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/","title":"shapes","text":""},{"location":"examples/shapes/#highlighting-time-series-regions-with-rectangle-shapes","title":"highlighting-time-series-regions-with-rectangle-shapes","text":"
    var data = [\n  {\n    x: ['2015-02-01', '2015-02-02', '2015-02-03', '2015-02-04', '2015-02-05',\n        '2015-02-06', '2015-02-07', '2015-02-08', '2015-02-09', '2015-02-10',\n        '2015-02-11', '2015-02-12', '2015-02-13', '2015-02-14', '2015-02-15',\n        '2015-02-16', '2015-02-17', '2015-02-18', '2015-02-19', '2015-02-20',\n        '2015-02-21', '2015-02-22', '2015-02-23', '2015-02-24', '2015-02-25',\n        '2015-02-26', '2015-02-27', '2015-02-28'],\n    y: [-14, -17, -8, -4, -7, -10, -12, -14, -12, -7, -11, -7, -18, -14, -14,\n        -16, -13, -7, -8, -14, -8, -3, -9, -9, -4, -13, -9, -6],\n    mode: 'line',\n    name: 'temperature'\n  }\n];\n\nvar layout = {\n\n    // to highlight the timestamp we use shapes and create a rectangular\n\n    shapes: [\n        // 1st highlight during Feb 4 - Feb 6\n        {\n            type: 'rect',\n            // x-reference is assigned to the x-values\n            xref: 'x',\n            // y-reference is assigned to the plot paper [0,1]\n            yref: 'paper',\n            x0: '2015-02-04',\n            y0: 0,\n            x1: '2015-02-06',\n            y1: 1,\n            fillcolor: '#d3d3d3',\n            opacity: 0.2,\n            line: {\n                width: 0\n            }\n        },\n\n        // 2nd highlight during Feb 20 - Feb 23\n\n        {\n            type: 'rect',\n            xref: 'x',\n            yref: 'paper',\n            x0: '2015-02-20',\n            y0: 0,\n            x1: '2015-02-22',\n            y1: 1,\n            fillcolor: '#d3d3d3',\n            opacity: 0.2,\n            line: {\n                width: 0\n            }\n        }\n    ],\n    height: 500,\n    width: 500\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#highlighting-clusters-of-scatter-points-with-circle-shapes","title":"highlighting-clusters-of-scatter-points-with-circle-shapes","text":"
    function normal_array( mean, stddev, size ){\n    var arr = new Array(size), i;\n    // from http://bl.ocks.org/nrabinowitz/2034281\n    var generator = (function() {\n        return d3.random.normal(mean, stddev);\n    }());\n\n    for( i=0; i< arr.length; i++ ){\n        arr[i] = generator();\n    }\n    return arr;\n}\n\nvar x0 = normal_array(2, 0.45, 300);\nvar y0 = normal_array(2, 0.45, 300);\n\nvar x1 = normal_array(6, 0.4, 200);\nvar y1 = normal_array(6, 0.4, 200)\n\nvar x2 = normal_array(4, 0.3, 200);\nvar y2 = normal_array(4, 0.3, 200);\n\nconsole.log(x0);\n\nvar data = [\n    {\n        x: x0,\n        y: y0,\n        mode: 'markers'\n    }, {\n        x: x1,\n        y: y1,\n        mode: 'markers'\n    }, {\n        x: x2,\n        y: y2,\n        mode: 'markers'\n    }, {\n        x: x1,\n        y: y0,\n        mode: 'markers'\n    }\n];\n\nvar layout = {\n    shapes: [\n        {\n            type: 'circle',\n            xref: 'x',\n            yref: 'y',\n            x0: d3.min(x0),\n            y0: d3.min(y0),\n            x1: d3.max(x0),\n            y1: d3.max(y0),\n            opacity: 0.2,\n            fillcolor: 'blue',\n            line: {\n                color: 'blue'\n            }\n        },\n        {\n            type: 'circle',\n            xref: 'x',\n            yref: 'y',\n            x0: d3.min(x1),\n            y0: d3.min(y1),\n            x1: d3.max(x1),\n            y1: d3.max(y1),\n            opacity: 0.2,\n            fillcolor: 'orange',\n            line: {\n                color: 'orange'\n            }\n        },\n        {\n            type: 'circle',\n            xref: 'x',\n            yref: 'y',\n            x0: d3.min(x2),\n            y0: d3.min(y2),\n            x1: d3.max(x2),\n            y1: d3.max(y2),\n            opacity: 0.2,\n            fillcolor: 'green',\n            line: {\n                color: 'green'\n            }\n        },\n        {\n            type: 'circle',\n            xref: 'x',\n            yref: 'y',\n            x0: d3.min(x1),\n            y0: d3.min(y0),\n            x1: d3.max(x1),\n            y1: d3.max(y0),\n            opacity: 0.2,\n            fillcolor: 'red',\n            line: {\n                color: 'red'\n            }\n        }\n    ],\n    height: 400,\n    width: 480,\n    showlegend: false\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#vertical-and-horizontal-lines-positioned-relative-to-the-axes","title":"vertical-and-horizontal-lines-positioned-relative-to-the-axes","text":"
    var trace1 = {\n  x: [2, 3.5, 6],\n  y: [1, 1.5, 1],\n  text: ['Vertical Line', 'Horizontal Dashed Line', 'Diagonal dotted Line'],\n  mode: 'text'\n};\n\nvar layout = {\n  title: {\n    text: 'Vertical and Horizontal Lines Positioned Relative to the Axes'\n  },\n  xaxis: {\n    range: [0, 7]\n  },\n  yaxis: {\n    range: [0, 2.5]\n  },\n  width: 500,\n  height: 500,\n  shapes: [\n\n    //line vertical\n\n    {\n      type: 'line',\n      x0: 1,\n      y0: 0,\n      x1: 1,\n      y1: 2,\n      line: {\n        color: 'rgb(55, 128, 191)',\n        width: 3\n      }\n    },\n\n    //Line Horizontal\n\n    {\n      type: 'line',\n      x0: 2,\n      y0: 2,\n      x1: 5,\n      y1: 2,\n      line: {\n        color: 'rgb(50, 171, 96)',\n        width: 4,\n        dash: 'dashdot'\n      }\n    },\n\n    //Line Diagonal\n\n    {\n      type: 'line',\n      x0: 4,\n      y0: 0,\n      x1: 6,\n      y1: 2,\n      line: {\n        color: 'rgb(128, 0, 128)',\n        width: 4,\n        dash: 'dot'\n      }\n    }\n  ]\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#circle","title":"circle","text":"
    var trace1 = {\n  x: [1.5, 3.5],\n  y: [0.75, 2.5],\n  text: ['Unfilled Circle', 'Filled Circle'],\n  mode: 'text'\n};\n\nvar layout = {\n  title: {\n    text: 'Circles'\n  },\n  xaxis: {\n    range: [0, 4.5],\n    zeroline: false\n  },\n  yaxis: {\n    range: [0, 4.5]\n  },\n  width: 500,\n  height: 500,\n  shapes: [\n\n    // Unfilled Circle\n\n    {\n      type: 'circle',\n      xref: 'x',\n      yref: 'y',\n      x0: 1,\n      y0: 1,\n      x1: 3,\n      y1: 3,\n      line: {\n        color: 'rgba(50, 171, 96, 1)'\n      }\n    },\n\n    // Filled Circle\n\n    {\n      type: 'circle',\n      xref: 'x',\n      yref: 'y',\n      fillcolor: 'rgba(50, 171, 96, 0.7)',\n      x0: 3,\n      y0: 3,\n      x1: 4,\n      y1: 4,\n      line: {\n        color: 'rgba(50, 171, 96, 1)'\n      }\n    }\n  ]\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#rectangle-positioned-relative-to-the-axes","title":"rectangle-positioned-relative-to-the-axes","text":"
    var trace1 = {\n  x: [1.5, 4.5],\n  y: [0.75, 0.75],\n  text: ['Unfilled Rectangle', 'Filled Rectangle'],\n  mode: 'text'\n};\n\nvar layout = {\n  title: {\n    text: 'Rectangle Positioned Relative to the Axes'\n  },\n  xaxis: {\n    range: [0, 7],\n    showgrid: false\n  },\n  yaxis: {\n    range: [0, 3.5]\n  },\n  width: 500,\n  height: 500,\n  shapes: [\n\n    //Unfilled Rectangle\n\n    {\n      type: 'rect',\n      x0: 1,\n      y0: 1,\n      x1: 2,\n      y1: 3,\n      line: {\n        color: 'rgba(128, 0, 128, 1)'\n      }\n    },\n\n    //Filled Rectangle\n\n    {\n      type: 'rect',\n      x0: 3,\n      y0: 1,\n      x1: 6,\n      y1: 2,\n      line: {\n        color: 'rgba(128, 0, 128, 1)',\n        width: 2\n      },\n      fillcolor: 'rgba(128, 0, 128, 0.7)'\n    }\n  ]\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#rectangle-positioned-relative-to-the-plot-and-to-the-axes","title":"rectangle-positioned-relative-to-the-plot-and-to-the-axes","text":"
    var trace1 = {\n  x: [1.5, 3],\n  y: [2.5, 2.5],\n  text: ['Rectangle reference to the plot', 'Rectangle reference to the axes'],\n  mode: 'text'\n};\n\nvar layout = {\n  title: {\n    text: 'Rectangles Positioned Relative to the Plot and to the Axes'\n  },\n  xaxis: {\n    range: [0, 4],\n    showgrid: false\n  },\n  yaxis: {\n    range: [0, 4]\n  },\n  width: 800,\n  height: 600,\n  shapes: [\n\n    //Rectangle reference to the axes\n\n    {\n      type: 'rect',\n      xref: 'x',\n      yref: 'y',\n      x0: 2.5,\n      y0: 0,\n      x1: 3.5,\n      y1: 2,\n      line: {\n        color: 'rgb(55, 128, 191)',\n        width: 3\n      },\n      fillcolor: 'rgba(55, 128, 191, 0.6)'\n    },\n\n    //Rectangle reference to the Plot\n\n    {\n      type: 'rect',\n      xref: 'paper',\n      yref: 'paper',\n      x0: 0.25,\n      y0: 0,\n      x1: 0.5,\n      y1: 0.5,\n      line: {\n        color: 'rgb(50, 171, 96)',\n        width: 3\n      },\n      fillcolor: 'rgba(50, 171, 96, 0.6)'\n    }\n  ]\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#lines-positioned-relative-to-the-plot-and-to-the-axis","title":"lines-positioned-relative-to-the-plot-and-to-the-axis","text":"
    var trace1 = {\n  x: [2, 6],\n  y: [1, 1],\n  text: ['Line positioned relative to the plot', 'Line positioned relative to the axes'],\n  mode: 'text'\n};\n\nvar layout = {\n  title: {\n    text: 'Lines Positioned Relative to the Plot & to the Axes'\n  },\n  xaxis: {\n    range: [0, 8]\n  },\n  yaxis: {\n    range: [0, 2]\n  },\n  width: 500,\n  height: 500,\n  shapes: [\n\n    //Line reference to the axes\n\n    {\n      type: 'line',\n      xref: 'x',\n      yref: 'y',\n      x0: 4,\n      y0: 0,\n      x1: 8,\n      y1: 1,\n      line: {\n        color: 'rgb(55, 128, 191)',\n        width: 3\n      }\n    },\n\n    //Line reference to the plot\n\n    {\n      type: 'line',\n      xref: 'paper',\n      yref: 'paper',\n      x0: 0,\n      y0: 0,\n      x1: 0.5,\n      y1: 0.5,\n      line: {\n        color: 'rgb(50, 171, 96)',\n        width: 3\n      }\n    }\n  ]\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#basic-arbitrary-svg-paths","title":"basic-arbitrary-svg-paths","text":"
    var trace1 = {\n  x: [2, 1, 8, 8],\n  y: [0.25, 9, 2, 6],\n  text: ['filled triangle', 'filled Polygon', 'Quadratic Bezier Curves', 'Cubic Bezier Curves'],\n  mode: 'text'\n};\n\nvar layout = {\n  title: {\n    text: 'Basic Arbitrary SVG Paths'\n  },\n  xaxis: {\n    range: [0, 9],\n    zeroline: false\n  },\n  yaxis: {\n    range: [0, 11],\n    showgrid: false\n  },\n  width: 500,\n  height: 500,\n  shapes: [\n\n    //Quadratic Bezier Curves\n\n    {\n      type: 'path',\n      path: 'M 4,4 Q 6,0 8,4',\n      line: {\n        color: 'rgb(93, 164, 214)'\n      }\n    },\n\n    //Cubic Bezier Curves\n\n    {\n      type: 'path',\n      path: 'M 1,4 C 2,8 6,4 8,8',\n      line: {\n        color: 'rgb(207, 114, 255)'\n      }\n    },\n\n    //Filled Triangle\n\n    {\n      type: 'path',\n      path: 'M 1 1 L 1 3 L 4 1 Z',\n      fillcolor: 'rgba(44, 160, 101, 0.5)',\n      line: {\n        color: 'rgb(44, 160, 101)'\n      }\n    },\n\n    //Filled Polygon\n\n    {\n      type: 'path',\n      path: ' M 3,7 L2,8 L2,9 L3,10, L4,10 L5,9 L5,8 L4,7 Z',\n      fillcolor: 'rgba(255, 140, 184, 0.5)',\n      line: {\n        color: 'rgb(255, 140, 184)'\n      }\n    }\n  ]\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#venn-diagram-with-circle-shapes","title":"venn-diagram-with-circle-shapes","text":"
    var trace1 = {\n  x: [1, 1.75, 2.5],\n  y: [1, 1, 1],\n  type: 'scatter',\n  mode: 'text',\n  text: ['A', 'A+B', 'B'],\n  textfont: {\n    color: 'black',\n    size: 18,\n    family: 'Arial'\n  }\n};\n\nvar layout = {\n  title: {\n    text: 'Venn Diagram with Circle Shapes'\n  },\n  xaxis: {\n    showticklabels: false,\n    tickmode: 'linear',\n    showgrid: false,\n    zeroline: false\n  },\n  yaxis: {\n    showticklabels: false,\n    tickmode: 'linear',\n    showgrid: false,\n    zeroline: false\n  },\n  shapes: [{\n    opacity: 0.3,\n    xref: 'x',\n    yref: 'y',\n    fillcolor: 'blue',\n    x0: 0,\n    y0: 0,\n    x1: 2,\n    y1: 2,\n    type: 'circle',\n    line: {\n      color: 'blue'\n    }\n  }, {\n    opacity: 0.3,\n    xref: 'x',\n    yref: 'y',\n    fillcolor: 'gray',\n    x0: 1.5,\n    y0: 0,\n    x1: 3.5,\n    y1: 2,\n    type: 'circle',\n    line: {\n      color: 'gray'\n    }\n  }],\n  margin: {\n    l: 20,\n    r: 20,\n    b: 100\n  },\n  height: 500,\n  width: 500\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#creating-tangent-lines-with-shapes","title":"creating-tangent-lines-with-shapes","text":"
    function linspace(a,b,n) {\n  return d3.range(n).map(function(i){return a+i*(b-a)/(n-1);});\n}\n\nvar xValues = linspace(1, 3, 200);\n\nvar yValues = [];\n\nfor ( var i = 0 ; i < xValues.length ; i++ ) {\n  var result = xValues[i] * Math.sin(Math.pow(xValues[i], 2)) + 1;\n  yValues.push(result);\n};\n\nvar trace1 = {\n  x: xValues,\n  y: yValues,\n  type: 'scatter'\n};\n\nvar data = [trace1];\n\nvar layout = {\n  title: {\n    text: 'Rectangles Positioned Relative to the Plot and to the Axes'\n  },\n  shapes: [{\n    type: 'line',\n    x0: 1,\n    y0: 2.30756,\n    x1: 1.75,\n    y1: 2.30756,\n    opacity: 0.7,\n    line: {\n      color: 'red',\n      width: 2.5\n    }\n  }, {\n    type: 'line',\n    x0: 2.5,\n    y0: 3.80796,\n    x1: 3.05,\n    y1: 3.80796,\n    opacity: 0.7,\n    line: {\n      color: 'red',\n      width: 2.5\n    }\n  }, {\n    type: 'line',\n    x0: 1.90,\n    y0: -1.1827,\n    x1: 2.50,\n    y1: -1.1827,\n    opacity: 0.7,\n    line: {\n      color: 'red',\n      width: 2.5\n    }\n  }],\n  height: 500,\n  width: 500\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/shapes/#adding-labels-to-shapes","title":"adding-labels-to-shapes","text":"

    This example adds a label to a rectangle and a line on the graph, sets a font size and color on the rectangle, and positions its label 'top center' using textposition. On the line, we specify a yanchor of \"top\" to anchor the top of the label to its textposition. You can also draw new shapes on the graph and each new shape automatically gets a text label.

    var data = [\n  {\n    x: [\n      '2015-02-01', '2015-02-02', '2015-02-03', '2015-02-04', '2015-02-05',\n      '2015-02-06', '2015-02-07', '2015-02-08', '2015-02-09', '2015-02-10',\n      '2015-02-11', '2015-02-12', '2015-02-13', '2015-02-14', '2015-02-15',\n      '2015-02-16', '2015-02-17', '2015-02-18', '2015-02-19', '2015-02-20',\n      '2015-02-21', '2015-02-22', '2015-02-23', '2015-02-24', '2015-02-25',\n      '2015-02-26', '2015-02-27', '2015-02-28',\n    ],\n    y: [\n      14, 17, 8, 4, 7, 10, 12, 14, 12, 11, 10, 9, 18, 14, 14, 16, 13, 8, 8,\n      7, 7, 3, 9, 9, 4, 13, 9, 6,\n    ],\n    mode: 'line',\n  },\n];\n\nvar layout = {\n  title: {text: 'Product price changes and revenue growth'},\n  xaxis: { title: {text: 'Date' }},\n  yaxis: { title: {text: 'Revenue Growth' }},\n  dragmode: 'drawline',\n\n  shapes: [\n    {\n      type: 'rect',\n      xref: 'x',\n      yref: 'paper',\n      x0: '2015-02-02',\n      y0: 0,\n      x1: '2015-02-08',\n      y1: 1,\n      fillcolor: '#d3d3d3',\n      opacity: 0.2,\n      editable: true,\n      line: {\n        width: 0,\n      },\n      label: {\n        text: 'Price drop',\n        font: { size: 10, color: 'green' },\n        textposition: 'top center',\n      },\n    },\n    {\n      type: 'line',\n      x0: '2015-02-01',\n      y0: 8,\n      x1: '2015-02-28',\n      y1: 8,\n      fillcolor: '#d3d3d3',\n      opacity: 0.2,\n      editable: true,\n      label: {\n        text: 'January average',\n        yanchor: 'top',\n      },\n    },\n  ],\n  newshape: { label: { text: 'New shape text' } },\n  height: 500,\n  width: 500,\n};\n\nvar config = { 'modeBarButtonsToAdd': [\n  'drawline',\n  'drawopenpath',\n  'drawclosedpath',\n  'drawcircle',\n  'drawrect',\n  'eraseshape'\n  ]\n};\n\nPlotly.newPlot('myDiv', data, layout, config);
    "},{"location":"examples/sliders/","title":"sliders","text":""},{"location":"examples/sliders/#bind-components-to-the-appearance-of-a-plot","title":"bind-components-to-the-appearance-of-a-plot","text":"
    Plotly.newPlot('myDiv', [{\n  x: [1, 2, 3],\n  y: [2, 1, 3]\n}], {\n  sliders: [{\n    pad: {t: 30},\n    len: 0.5,\n    x: 0.5,\n    currentvalue: {\n      xanchor: 'right',\n      prefix: 'color: ',\n      font: {\n        color: '#888',\n        size: 20\n      }\n    },\n    // If all of a component's commands affect a single attribute, the component\n    // will be bound to the plot and will automatically update to reflect changes.\n    steps: [{\n      label: 'red',\n      method: 'restyle',\n      args: ['line.color', 'red']\n    }, {\n      label: 'green',\n      method: 'restyle',\n      args: ['line.color', 'green']\n    }, {\n      label: 'blue',\n      method: 'restyle',\n      args: ['line.color', 'blue']\n    }]\n  }],\n  updatemenus: [{\n    pad: {t: 60, r: 30},\n    type: 'buttons',\n    xanchor: 'left',\n    yanchor: 'top',\n    x: 00,\n    y: 0,\n    direction: 'right',\n    buttons: [{\n      label: 'red',\n      method: 'restyle',\n      args: ['line.color', 'red']\n    }, {\n      label: 'green',\n      method: 'restyle',\n      args: ['line.color', 'green']\n    }, {\n      label: 'blue',\n      method: 'restyle',\n      args: ['line.color', 'blue']\n    }]\n  }]\n});
    "},{"location":"examples/sliders/#basic-slider","title":"basic-slider","text":"
    Plotly.newPlot('myDiv', [{\n  x: [1, 2, 3],\n  y: [2, 1, 3]\n}], {\n  sliders: [{\n    pad: {t: 30},\n    currentvalue: {\n      xanchor: 'right',\n      prefix: 'color: ',\n      font: {\n        color: '#888',\n        size: 20\n      }\n    },\n    steps: [{\n      label: 'red',\n      method: 'restyle',\n      args: ['line.color', 'red']\n    }, {\n      label: 'green',\n      method: 'restyle',\n      args: ['line.color', 'green']\n    }, {\n      label: 'blue',\n      method: 'restyle',\n      args: ['line.color', 'blue']\n    }]\n  }]\n});
    "},{"location":"examples/sliders/#add-a-play-button-to-control-a-slider","title":"add-a-play-button-to-control-a-slider","text":"
    Plotly.newPlot('myDiv', {\n  data: [{\n    x: [1, 2, 3],\n    y: [2, 1, 3],\n    line: {\n      color: 'red',\n      simplify: false,\n    }\n  }],\n  layout: {\n    sliders: [{\n      pad: {t: 30},\n      x: 0.05,\n      len: 0.95,\n      currentvalue: {\n        xanchor: 'right',\n        prefix: 'color: ',\n        font: {\n          color: '#888',\n          size: 20\n        }\n      },\n      transition: {duration: 500},\n      // By default, animate commands are bound to the most recently animated frame:\n      steps: [{\n        label: 'red',\n        method: 'animate',\n        args: [['red'], {\n          mode: 'immediate',\n          frame: {redraw: false, duration: 500},\n          transition: {duration: 500}\n        }]\n      }, {\n        label: 'green',\n        method: 'animate',\n        args: [['green'], {\n          mode: 'immediate',\n          frame: {redraw: false, duration: 500},\n          transition: {duration: 500}\n        }]\n      }, {\n        label: 'blue',\n        method: 'animate',\n        args: [['blue'], {\n          mode: 'immediate',\n          frame: {redraw: false, duration: 500},\n          transition: {duration: 500}\n        }]\n      }]\n    }],\n    updatemenus: [{\n      type: 'buttons',\n      showactive: false,\n      x: 0.05,\n      y: 0,\n      xanchor: 'right',\n      yanchor: 'top',\n      pad: {t: 60, r: 20},\n      buttons: [{\n        label: 'Play',\n        method: 'animate',\n        args: [null, {\n          fromcurrent: true,\n          frame: {redraw: false, duration: 1000},\n          transition: {duration: 500}\n        }]\n      }]\n    }]\n  },\n  // The slider itself does not contain any notion of timing, so animating a slider\n  // must be accomplished through a sequence of frames. Here we'll change the color\n  // and the data of a single trace:\n  frames: [{\n    name: 'red',\n    data: [{\n      y: [2, 1, 3],\n      'line.color': 'red'\n    }]\n  }, {\n    name: 'green',\n    data: [{\n      y: [3, 2, 1],\n      'line.color': 'green'}]\n  }, {\n    name: 'blue',\n    data: [{\n      y: [1, 3, 2],\n      'line.color': 'blue'}]\n  }]\n});
    "},{"location":"examples/spc-control-charts/","title":"spc-control-charts","text":""},{"location":"examples/spc-control-charts/#basic-spc-control-chart","title":"basic-spc-control-chart","text":"
    var Data = {\n  type: 'scatter',\n  x: [1,2,3,4,5,6,7,8,9],\n  y: [4,2,-1,4,-5,-7,0,3,8],\n  mode: 'lines+markers',\n  name: 'Data',\n  showlegend: true,\n  hoverinfo: 'all',\n  line: {\n    color: 'blue',\n    width: 2\n  },\n  marker: {\n    color: 'blue',\n    size: 8,\n    symbol: 'circle'\n  }\n}\n\nvar Viol = {\n  type: 'scatter',\n  x: [6,9],\n  y: [-7,8],\n  mode: 'markers',\n  name: 'Violation',\n  showlegend: true,\n  marker: {\n    color: 'rgb(255,65,54)',\n    line: {width: 3},\n    opacity: 0.5,\n    size: 12,\n    symbol: 'circle-open'\n  }\n}\n\nvar CL = {\n  type: 'scatter',\n  x: [0.5, 10, null, 0.5, 10],\n  y: [-5, -5, null, 5, 5],\n  mode: 'lines',\n  name: 'LCL/UCL',\n  showlegend: true,\n  line: {\n    color: 'red',\n    width: 2,\n    dash: 'dash'\n  }\n}\n\nvar Centre = {\n  type: 'scatter',\n  x: [0.5, 10],\n  y: [0, 0],\n  mode: 'lines',\n  name: 'Centre',\n  showlegend: true,\n  line: {\n    color: 'grey',\n    width: 2\n  }\n}\n\nvar data = [Data,Viol,CL,Centre]\n\nvar layout = {\n  title: {\n    text: 'Basic SPC Chart'\n  },\n  xaxis: {\n    zeroline: false\n  },\n  yaxis: {\n    range: [-10,10],\n    zeroline: false\n  }\n}\n\nPlotly.newPlot('myDiv', data,layout);
    "},{"location":"examples/spc-control-charts/#spc-control-chart-&-distribution","title":"spc-control-chart-&-distribution","text":"
    var Data = {\n  type: 'scatter',\n  x: [1,2,3,4,5,6,7,8,9],\n  y: [4,2,-1,4,-5,-7,0,3,8],\n  mode: 'lines+markers',\n  name: 'Data',\n  showlegend: true,\n  hoverinfo: 'all',\n  line: {\n    color: 'blue',\n    width: 2\n  },\n  marker: {\n    color: 'blue',\n    size: 8,\n    symbol: 'circle'\n  }\n}\n\nvar Viol = {\n  type: 'scatter',\n  x: [6,9],\n  y: [-7,8],\n  mode: 'markers',\n  name: 'Violation',\n  showlegend: true,\n  marker: {\n    color: 'rgb(255,65,54)',\n    line: {width: 3},\n    opacity: 0.5,\n    size: 12,\n    symbol: 'circle-open'\n  }\n}\n\nvar CL = {\n  type: 'scatter',\n  x: [0.5, 10, null, 0.5, 10],\n  y: [-5, -5, null, 5, 5],\n  mode: 'lines',\n  name: 'LCL/UCL',\n  showlegend: true,\n  line: {\n    color: 'red',\n    width: 2,\n    dash: 'dash'\n  }\n}\n\nvar Centre = {\n  type: 'scatter',\n  x: [0.5, 10],\n  y: [0, 0],\n  mode: 'lines',\n  name: 'Centre',\n  showlegend: true,\n  line: {\n    color: 'grey',\n    width: 2\n  }\n}\n\nvar histo = {\n  type: 'histogram',\n  x: [1,2,3,4,5,6,7,8,9],\n  y: [4,2,-1,4,-5,-7,0,3,8],\n  name: 'Distribution',\n  orientation: 'h',\n  marker: {\n    color: 'blue',\n    line: {\n      color: 'white',\n      width: 1\n    }\n  },\n  xaxis: 'x2',\n  yaxis: 'y2'\n}\n\nvar data = [Data,Viol,CL,Centre,histo]\n\n// layout\nvar layout = {\n  title: {\n    text: 'Basic SPC Chart'\n  },\n  xaxis: {\n    domain: [0, 0.7], // 0 to 70% of width\n    zeroline: false\n  },\n  yaxis: {\n    range: [-10,10],\n    zeroline: false\n  },\n  xaxis2: {\n    domain: [0.8, 1] // 70 to 100% of width\n  },\n  yaxis2: {\n    anchor: 'x2',\n    showticklabels: false\n  }\n}\n\nPlotly.newPlot('myDiv', data,layout);
    "},{"location":"examples/splom/","title":"splom","text":""},{"location":"examples/splom/#splom-of-iris-dataset","title":"splom-of-iris-dataset","text":"

    The Iris dataset contains four data variables, sepal length, sepal width, petal length petal width, for 150 iris flowers. The flowers are labeled as Iris-setosa, Iris-versicolor, Iris-virginica.

    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/iris-data.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key.replace('.',' ')]; });\n    }\n\n    colors = []\n    for (i=0; i < unpack(rows, 'class').length; i++) {\n      if (unpack(rows, 'class')[i] == \"Iris-setosa\") {\n        colors.push(0)\n      } else if (unpack(rows, 'class')[i] == \"Iris-versicolor\") {\n        colors.push(0.5)\n      } else if (unpack(rows, 'class')[i] == \"Iris-virginica\") {\n        colors.push(1)\n      }\n    }\n\n    var pl_colorscale=[\n               [0.0, '#19d3f3'],\n               [0.333, '#19d3f3'],\n               [0.333, '#e763fa'],\n               [0.666, '#e763fa'],\n               [0.666, '#636efa'],\n               [1, '#636efa']\n    ]\n\n    var axis = () => ({\n      showline:false,\n      zeroline:false,\n      gridcolor:'#ffff',\n      ticklen:4\n    })\n\n    var data = [{\n      type: 'splom',\n      dimensions: [\n        {label:'sepal length', values:unpack(rows,'sepal length')},\n        {label:'sepal width', values:unpack(rows,'sepal width')},\n        {label:'petal length', values:unpack(rows,'petal length')},\n        {label:'petal width', values:unpack(rows,'petal width')}\n      ],\n      text: unpack(rows, 'class'),\n      marker: {\n        color: colors,\n        colorscale:pl_colorscale,\n        size: 7,\n        line: {\n          color: 'white',\n          width: 0.5\n        }\n      }\n    }]\n\n    var layout = {\n      title: {\n        text: 'Iris Data set'\n      },\n      height: 800,\n      width: 800,\n      autosize: false,\n      hovermode:'closest',\n      dragmode:'select',\n      plot_bgcolor:'rgba(240,240,240, 0.95)',\n      xaxis:axis(),\n      yaxis:axis(),\n      xaxis2:axis(),\n      xaxis3:axis(),\n      xaxis4:axis(),\n      yaxis2:axis(),\n      yaxis3:axis(),\n      yaxis4:axis()\n    }\n\n    Plotly.react('myDiv', data, layout)\n\n});
    "},{"location":"examples/splom/#splom-of-diabetes-dataset","title":"splom-of-diabetes-dataset","text":"

    Diabetes dataset is downloaded from kaggle. It is used to predict the onset of diabetes based on 8 diagnostic measures. The diabetes file contains the diagnostic measures for 768 patients, that are labeled as non-diabetic (Outcome=0), respectively diabetic (Outcome=1). The splom associated to the 8 variables can illustrate the strength of the relationship between pairs of measures for diabetic/nondiabetic patients.

    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/diabetes.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });\n    }\n\n    text = []\n    for (i=0; i < unpack(rows, 'Outcome').length; i++) {\n      if (unpack(rows, 'Outcome')[i] == \"0\") {\n        text.push(\"Diabetic\")\n      } else {\n        text.push(\"Non-Diabetic\")\n      }\n    }\n\n    var pl_colorscale=[\n      [0.0, '#119dff'],\n      [0.5, '#119dff'],\n      [0.5, '#ef553b'],\n      [1, '#ef553b']\n    ]\n\n    var axis = () => ({\n      showline:false,\n      zeroline:false,\n      gridcolor:'#ffff',\n      ticklen:2,\n      tickfont:{size:10},\n      title:{font:{size:12}}\n    })\n\n    var data = [{\n      type: 'splom',\n      dimensions: [\n        {label:'Pregnancies', values:unpack(rows, 'Pregnancies')},\n        {label:'Glucose', values:unpack(rows, 'Glucose')},\n        {label:'BloodPressure', values:unpack(rows, 'BloodPressure')},\n        {label:'SkinThickness', values:unpack(rows, 'SkinThickness')},\n        {label:'Insulin', values:unpack(rows, 'Insulin')},\n        {label:'BMI', values:unpack(rows, 'BMI')},\n        {label:'DiabPedigreeFun', values:unpack(rows, 'DiabetesPedigreeFunction')},\n        {label:'Age', values:unpack(rows, 'Age')}\n      ],\n      text:text,\n      marker: {\n        color: unpack(rows, 'Outcome'),\n        colorscale:pl_colorscale,\n        size: 5,\n        line: {\n          color: 'white',\n          width: 0.5\n        }\n      }\n    }]\n\n    var layout = {\n      title: {\n        text: \"Scatterplot Matrix (SPLOM) for Diabetes Dataset<br>Data source: <a href='https://www.kaggle.com/uciml/pima-indians-diabetes-database/data'>[1]</a>\"\n      },\n      height: 1000,\n      width: 1000,\n      autosize: false,\n      hovermode:'closest',\n      dragmode:'select',\n      plot_bgcolor:'rgba(240,240,240, 0.95)',\n      xaxis:axis(),\n      yaxis:axis(),\n      xaxis2:axis(),\n      xaxis3:axis(),\n      xaxis4:axis(),\n      xaxis5:axis(),\n      xaxis6:axis(),\n      xaxis7:axis(),\n      xaxis8:axis(),\n      yaxis2:axis(),\n      yaxis3:axis(),\n      yaxis4:axis(),\n      yaxis5:axis(),\n      yaxis6:axis(),\n      yaxis7:axis(),\n      yaxis8:axis()\n    }\n\n    Plotly.react('myDiv', data, layout);\n\n});
    "},{"location":"examples/streaming/","title":"streaming","text":""},{"location":"examples/streaming/#basic-streaming","title":"basic-streaming","text":"
    function rand() {\n  return Math.random();\n}\n\nPlotly.newPlot('myDiv', [{\n  y: [1,2,3].map(rand),\n  mode: 'lines',\n  line: {color: '#80CAF6'}\n}]);\n\nvar cnt = 0;\n\nvar interval = setInterval(function() {\n\n  Plotly.extendTraces('myDiv', {\n    y: [[rand()]]\n  }, [0])\n\n  if(++cnt === 100) clearInterval(interval);\n}, 300);
    "},{"location":"examples/streaming/#multiple-traces","title":"multiple-traces","text":"
    function rand() {\n  return Math.random();\n}\n\nPlotly.newPlot('myDiv', [{\n  y: [1,2,3].map(rand),\n  mode: 'lines',\n  line: {color: '#80CAF6'}\n}, {\n  y: [1,2,3].map(rand),\n  mode: 'lines',\n  line: {color: '#DF56F1'}\n}]);\n\nvar cnt = 0;\n\nvar interval = setInterval(function() {\n\n  Plotly.extendTraces('myDiv', {\n    y: [[rand()], [rand()]]\n  }, [0, 1])\n\n  if(++cnt === 100) clearInterval(interval);\n}, 300);
    "},{"location":"examples/streaming/#streaming-with-timestamp","title":"streaming-with-timestamp","text":"
    function rand() {\n  return Math.random();\n}\n\nvar time = new Date();\n\nvar data = [{\n  x: [time],\n  y: [rand()],\n  mode: 'lines',\n  line: {color: '#80CAF6'}\n}]\n\n\nPlotly.newPlot('myDiv', data);\n\nvar cnt = 0;\n\nvar interval = setInterval(function() {\n\n  var time = new Date();\n\n  var update = {\n  x:  [[time]],\n  y: [[rand()]]\n  }\n\n  Plotly.extendTraces('myDiv', update, [0])\n\n  if(++cnt === 100) clearInterval(interval);\n}, 1000);
    "},{"location":"examples/streaming/#extend-traces-&-relayout","title":"extend-traces-&-relayout","text":"
    function rand() {\n  return Math.random();\n}\n\nvar time = new Date();\n\nvar data = [{\n  x: [time],\n  y: [rand],\n  mode: 'lines',\n  line: {color: '#80CAF6'}\n}]\n\nPlotly.newPlot('myDiv', data);\n\nvar cnt = 0;\n\nvar interval = setInterval(function() {\n\n  var time = new Date();\n\n  var update = {\n  x:  [[time]],\n  y: [[rand()]]\n  }\n\n  var olderTime = time.setMinutes(time.getMinutes() - 1);\n  var futureTime = time.setMinutes(time.getMinutes() + 1);\n\n  var minuteView = {\n        xaxis: {\n          type: 'date',\n          range: [olderTime,futureTime]\n        }\n      };\n\n  Plotly.relayout('myDiv', minuteView);\n  Plotly.extendTraces('myDiv', update, [0])\n\n  if(++cnt === 100) clearInterval(interval);\n}, 1000);
    "},{"location":"examples/streaming/#30-points-using-update","title":"30-points-using-update","text":"
    var arrayLength = 30\nvar newArray = []\n\nfor(var i = 0; i < arrayLength; i++) {\n  var y = Math.round(Math.random()*10) + 1\n  newArray[i] = y\n}\n\nPlotly.newPlot('myDiv', [{\n  y: newArray,\n  mode: 'lines',\n  line: {color: '#80CAF6'}\n}]);\n\nvar cnt = 0;\n\nvar interval = setInterval(function() {\n\n  var y = Math.round(Math.random()*10) + 1\n  newArray = newArray.concat(y)\n  newArray.splice(0, 1)\n\n  var data_update = {\n    y: [newArray]\n  };\n\n  Plotly.update('myDiv', data_update)\n\n  if(++cnt === 100) clearInterval(interval);\n}, 1000);
    "},{"location":"examples/streaming/#streaming-subplots","title":"streaming-subplots","text":"
    function rand() {\n  return Math.random();\n}\n\nvar time = new Date();\n\nvar trace1 = {\n  x: [],\n  y: [],\n  mode: 'lines',\n  line: {\n    color: '#80CAF6',\n    shape: 'spline'\n  }\n}\n\nvar trace2 = {\n  x: [],\n  y: [],\n  xaxis: 'x2',\n  yaxis: 'y2',\n  mode: 'lines',\n  line: {color: '#DF56F1'}\n};\n\nvar layout = {\n  xaxis: {\n    type: 'date',\n    domain: [0, 1],\n    showticklabels: false\n  },\n  yaxis: {domain: [0.6,1]},\n  xaxis2: {\n    type: 'date',\n    anchor: 'y2',\n    domain: [0, 1]\n  },\n  yaxis2: {\n    anchor: 'x2',\n    domain: [0, 0.4]},\n}\n\nvar data = [trace1,trace2];\n\nPlotly.newPlot('myDiv', data, layout);\n\nvar cnt = 0;\n\nvar interval = setInterval(function() {\n\n  var time = new Date();\n\n  var update = {\n    x: [[time], [time]],\n    y: [[rand()], [rand()]]\n  }\n\n  Plotly.extendTraces('myDiv', update, [0,1])\n\n  if(++cnt === 100) clearInterval(interval);\n}, 1000);
    "},{"location":"examples/streamtube-plot/","title":"streamtube-plot","text":""},{"location":"examples/streamtube-plot/#introduction","title":"introduction","text":"

    In streamtube plots, attributes inlcude x, y, and z, which set the coorindates of the vector field, and u, v, and w, which sets the x, y, and z components of the vector field. Additionally, you can use starts to determine the streamtube's starting position. Lastly, maxdisplayed determines the maximum segments displayed in a streamtube.

    "},{"location":"examples/streamtube-plot/#basic-streamtube-plot","title":"basic-streamtube-plot","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/streamtube-basic.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return row[key]; });\n    }\n\n    var data = [{\n      type: \"streamtube\",\n      x: unpack(rows, 'x'),\n      y: unpack(rows, 'y'),\n      z: unpack(rows, 'z'),\n      u: unpack(rows, 'u'),\n      v: unpack(rows, 'v'),\n      w: unpack(rows, 'w'),\n      sizeref: 0.5,\n      cmin: 0,\n      cmax: 3\n    }]\n\n    var layout = {\n      scene: {\n        camera: {\n          eye: {\n            x: -0.7243612458865182,\n            y: 1.9269804254717962,\n            z: 0.6704828299861716\n          }\n        }\n      }\n    }\n\n    Plotly.newPlot('myDiv', data, layout)\n\n});
    "},{"location":"examples/streamtube-plot/#starting-position-and-segments","title":"starting-position-and-segments","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/streamtube-wind.csv', function(err, rows){\n\n    function unpack(rows, key) {\n        return rows.map(function(row) { return +row[key]; });\n    }\n\n    var data = [{\n      type: 'streamtube',\n      x: unpack(rows, 'x'),\n      y: unpack(rows, 'y'),\n      z: unpack(rows, 'z'),\n      u: unpack(rows, 'u'),\n      v: unpack(rows, 'v'),\n      w: unpack(rows, 'w'),\n      starts: {\n        x: Array(16).fill(80),\n        y: [20,30,40,50,20,30,40,50,20,30,40,50,20,30,40,50],\n        z: [0,0,0,0,5,5,5,5,10,10,10,10,15,15,15,15]\n      },\n      sizeref: 0.3,\n      colorscale: \"Portland\",\n      showscale: false,\n      maxdisplayed: 3000\n    }]\n\n    var layout = {\n      scene: {\n        aspectratio: {\n          x: 2,\n          y: 1,\n          z: 0.3\n        }\n      },\n      margin: {\n        t: 20,\n        b: 20,\n        l: 20,\n        r: 20\n      },\n      width: 600,\n      height: 400\n    }\n\n    Plotly.newPlot('myDiv', data, layout);\n\n});
    "},{"location":"examples/subplots/","title":"subplots","text":""},{"location":"examples/subplots/#simple-subplot","title":"simple-subplot","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [4, 5, 6],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [20, 30, 40],\n  y: [50, 60, 70],\n  xaxis: 'x2',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  grid: {rows: 1, columns: 2, pattern: 'independent'},\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/subplots/#custom-sized-subplot","title":"custom-sized-subplot","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [4, 5, 6],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [20, 30, 40],\n  y: [50, 60, 70],\n  xaxis: 'x2',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2];\n\nvar layout = {\n  xaxis: {domain: [0, 0.7]},\n  yaxis2: {anchor: 'x2'},\n  xaxis2: {domain: [0.8, 1]}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/subplots/#multiple-subplots","title":"multiple-subplots","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [4, 5, 6],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [20, 30, 40],\n  y: [50, 60, 70],\n  xaxis: 'x2',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [300, 400, 500],\n  y: [600, 700, 800],\n  xaxis: 'x3',\n  yaxis: 'y3',\n  type: 'scatter'\n};\n\nvar trace4 = {\n  x: [4000, 5000, 6000],\n  y: [7000, 8000, 9000],\n  xaxis: 'x4',\n  yaxis: 'y4',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  grid: {rows: 2, columns: 2, pattern: 'independent'},\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/subplots/#subplots-with-shared-axes","title":"subplots-with-shared-axes","text":"
    var trace1 = {\n  x: [1, 2, 3],\n  y: [2, 3, 4],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [20, 30, 40],\n  y: [5, 5, 5],\n  xaxis: 'x2',\n  yaxis: 'y',\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [2, 3, 4],\n  y: [600, 700, 800],\n  xaxis: 'x',\n  yaxis: 'y3',\n  type: 'scatter'\n};\n\nvar trace4 = {\n  x: [4000, 5000, 6000],\n  y: [7000, 8000, 9000],\n  xaxis: 'x4',\n  yaxis: 'y4',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  grid: {\n    rows: 2,\n    columns: 2,\n    subplots:[['xy','x2y'], ['xy3','x4y4']],\n    roworder:'bottom to top'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/subplots/#stacked-subplots","title":"stacked-subplots","text":"
    var trace1 = {\n  x: [0, 1, 2],\n  y: [10, 11, 12],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [2, 3, 4],\n  y: [100, 110, 120],\n  xaxis: 'x2',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [3, 4, 5],\n  y: [1000, 1100, 1200],\n  xaxis: 'x3',\n  yaxis: 'y3',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\ngrid: {\n    rows: 3,\n    columns: 1,\n    pattern: 'independent',\n    roworder: 'bottom to top'}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/subplots/#stacked-subplots-with-a-shared-x-axis","title":"stacked-subplots-with-a-shared-x-axis","text":"
    var trace1 = {\n  x: [0, 1, 2],\n  y: [10, 11, 12],\n  type: 'scatter'\n};\n\nvar trace2 = {\n  x: [2, 3, 4],\n  y: [100, 110, 120],\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar trace3 = {\n  x: [3, 4, 5],\n  y: [1000, 1100, 1200],\n  yaxis: 'y3',\n  type: 'scatter'\n};\n\nvar data = [trace1, trace2, trace3];\n\nvar layout = {\n  yaxis: {domain: [0, 0.33]},\n  legend: {traceorder: 'reversed'},\n  yaxis2: {domain: [0.33, 0.66]},\n  yaxis3: {domain: [0.66, 1]}\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/subplots/#multiple-custom-sized-subplots","title":"multiple-custom-sized-subplots","text":"
    var trace1 = {\n  x: [1, 2],\n  y: [1, 2],\n  type: 'scatter',\n  name: '(1,1)'\n};\n\nvar trace2 = {\n  x: [1, 2],\n  y: [1, 2],\n  type: 'scatter',\n  name: '(1,2)',\n  xaxis: 'x2',\n  yaxis: 'y2'\n};\n\nvar trace3 = {\n  x: [1, 2],\n  y: [1, 2],\n  type: 'scatter',\n  name: '(1,2)',\n  xaxis: 'x3',\n  yaxis: 'y3'\n};\n\nvar trace4 = {\n  x: [1, 2],\n  y: [1, 2],\n  type: 'scatter',\n  name: '(1,2)',\n  xaxis: 'x4',\n  yaxis: 'y4'\n};\n\nvar data = [trace1, trace2, trace3, trace4];\n\nvar layout = {\n  title: {text: 'Multiple Custom Sized Subplots'},\n  xaxis: {\n    domain: [0, 0.45],\n    anchor: 'y1'\n  },\n  yaxis: {\n    domain: [0.5, 1],\n    anchor: 'x1'\n  },\n  xaxis2: {\n    domain: [0.55, 1],\n    anchor: 'y2'\n  },\n  yaxis2: {\n    domain: [0.8, 1],\n    anchor: 'x2'\n  },\n  xaxis3: {\n    domain: [0.55, 1],\n    anchor: 'y3'\n  },\n  yaxis3: {\n    domain: [0.5, 0.75],\n    anchor: 'x3'\n  },\n  xaxis4: {\n    domain: [0, 1],\n    anchor: 'y4'\n  },\n  yaxis4: {\n    domain: [0, 0.45],\n    anchor: 'x4'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/sunburst-charts/","title":"sunburst-charts","text":""},{"location":"examples/sunburst-charts/#basic-sunburst-chart","title":"basic-sunburst-chart","text":"
    var data = [{\n  type: \"sunburst\",\n  labels: [\"Eve\", \"Cain\", \"Seth\", \"Enos\", \"Noam\", \"Abel\", \"Awan\", \"Enoch\", \"Azura\"],\n  parents: [\"\", \"Eve\", \"Eve\", \"Seth\", \"Seth\", \"Eve\", \"Eve\", \"Awan\", \"Eve\" ],\n  values:  [10, 14, 12, 10, 2, 6, 6, 4, 4],\n  outsidetextfont: {size: 20, color: \"#377eb8\"},\n  leaf: {opacity: 0.4},\n  marker: {line: {width: 2}},\n}];\n\nvar layout = {\n  margin: {l: 0, r: 0, b: 0, t: 0},\n  width: 500,\n  height: 500\n};\n\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/sunburst-charts/#branchvalues","title":"branchvalues","text":"

    With branchvalues \"total\", the value of the parent represents the width of its wedge. In the example below, \"Enoch\" is 4 and \"Awan\" is 6 and so Enoch's width is 4/6ths of Awans. With branchvalues \"remainder\", the parent's width is determined by its own value plus those of its children. So, Enoch's width is 4/10ths of Awan's (4 / (6 + 4)).Note that this means that the sum of the values of the children cannot exceed the value of their parent when branchvalues \"total\". When branchvalues \"relative\" (the default), children will not take up all of the space below their parent (unless the parent is the root and it has a value of 0).

    var data = [\n{\n  \"type\": \"sunburst\",\n  \"labels\": [\"Eve\", \"Cain\", \"Seth\", \"Enos\", \"Noam\", \"Abel\", \"Awan\", \"Enoch\", \"Azura\"],\n  \"parents\": [\"\", \"Eve\", \"Eve\", \"Seth\", \"Seth\", \"Eve\", \"Eve\", \"Awan\", \"Eve\" ],\n  \"values\":  [65, 14, 12, 10, 2, 6, 6, 4, 4],\n  \"leaf\": {\"opacity\": 0.4},\n  \"marker\": {\"line\": {\"width\": 2}},\n  \"branchvalues\": 'total'\n}];\n\nvar layout = {\n  \"margin\": {\"l\": 0, \"r\": 0, \"b\": 0, \"t\": 0},\n};\n\n\nPlotly.newPlot('myDiv', data, layout, {showSendToCloud: true})\n\nmyPlot = document.getElementById(\"myDiv\");
    "},{"location":"examples/sunburst-charts/#sunburst-with-repeated-labels","title":"sunburst-with-repeated-labels","text":"
    var data = [{\n  type: \"sunburst\",\n  ids: [\n    \"North America\", \"Europe\", \"Australia\", \"North America - Football\", \"Soccer\",\n    \"North America - Rugby\", \"Europe - Football\", \"Rugby\",\n    \"Europe - American Football\",\"Australia - Football\", \"Association\",\n    \"Australian Rules\", \"Autstralia - American Football\", \"Australia - Rugby\",\n    \"Rugby League\", \"Rugby Union\"\n  ],\n  labels: [\n    \"North<br>America\", \"Europe\", \"Australia\", \"Football\", \"Soccer\", \"Rugby\",\n    \"Football\", \"Rugby\", \"American<br>Football\", \"Football\", \"Association\",\n    \"Australian<br>Rules\", \"American<br>Football\", \"Rugby\", \"Rugby<br>League\",\n    \"Rugby<br>Union\"\n  ],\n  parents: [\n    \"\", \"\", \"\", \"North America\", \"North America\", \"North America\", \"Europe\",\n    \"Europe\", \"Europe\",\"Australia\", \"Australia - Football\", \"Australia - Football\",\n    \"Australia - Football\", \"Australia - Football\", \"Australia - Rugby\",\n    \"Australia - Rugby\"\n  ],\n  outsidetextfont: {size: 20, color: \"#377eb8\"},\n  // leaf: {opacity: 0.4},\n  marker: {line: {width: 2}},\n}];\n\nvar layout = {\n  margin: {l: 0, r: 0, b: 0, t:0},\n  sunburstcolorway:[\"#636efa\",\"#ef553b\",\"#00cc96\"],\n};\n\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/sunburst-charts/#large-number-of-slices","title":"large-number-of-slices","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\nvar data = [\n    {\n      type: \"sunburst\",\n      maxdepth: 3,\n      ids: unpack(rows, 'ids'),\n      labels: unpack(rows, 'labels'),\n      parents:unpack(rows, 'parents')\n    }\n  ];\n\nvar layout = {\n  margin: {l: 0, r: 0, b: 0, t:0},\n  sunburstcolorway:[\n    \"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#19d3f3\",\n    \"#e763fa\", \"#FECB52\",\"#FFA15A\",\"#FF6692\",\"#B6E880\"\n  ],\n  extendsunburstcolorway: true\n};\n\n\nPlotly.newPlot('myDiv', data, layout, {showSendToCloud: true});\n})
    "},{"location":"examples/sunburst-charts/#control-text-orientation-inside-sunburst-chart-sectors","title":"control-text-orientation-inside-sunburst-chart-sectors","text":"

    The insidetextorientation attribute controls the orientation of the text inside chart sectors. When set to auto, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The horizontal option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The radial option orients text along the radius of the sector. The tangential option orients text perpendicular to the radius of the sector.

    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){\n  function unpack(rows, key) {\n  return rows.map(function(row) {return row[key]})\n}\n\n  var data = [{\n        type: \"sunburst\",\n        maxdepth: 2,\n        ids: unpack(rows, 'ids'),\n        labels: unpack(rows, 'labels'),\n        parents: unpack(rows, 'parents'),\n        textposition: 'inside',\n        insidetextorientation: 'radial'\n  }]\n\n  var layout = {margin: {l: 0, r: 0, b: 0, t:0}}\n\n  Plotly.newPlot('myDiv', data, layout)\n})
    "},{"location":"examples/table-subplots/","title":"table-subplots","text":""},{"location":"examples/table-subplots/#table-and-chart-subplot","title":"table-and-chart-subplot","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/Mining-BTC-180.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n  }\n\n  // header values\n  var headerNames = d3.keys(rows[0]);\n  var headerValues = [headerNames[1],headerNames[2],\n                      headerNames[3],headerNames[4]];\n\n  // cell values\n  var cellValues = [];\n  for (i = 0; i < headerValues.length; i++) {\n    cellValue = unpack(rows, headerValues[i]);\n    cellValues[i] = cellValue;\n  }\n\n  // clean date\n  for (i = 0; i < cellValues[0].length; i++) {\n  var dateValue = cellValues[0][i].split(' ')[0]\n  cellValues[0][i] = dateValue\n  }\n\n  // create table\n  var table = {\n    type: 'table',\n    columnwidth: [150,200,200,150],\n    columnorder: [0,1,2,3],\n    header: {\n      values: headerValues,\n      align: \"center\",\n      line: {width: 1, color: 'rgb(50, 50, 50)'},\n      fill: {color: ['rgb(235, 100, 230)']},\n      font: {family: \"Arial\", size: 11, color: \"white\"}\n    },\n    cells: {\n      values: cellValues,\n      align: [\"center\", \"center\"],\n      line: {color: \"black\", width: 1},\n      fill: {color: ['rgb(235, 193, 238)', 'rgba(228, 222, 249, 0.65)']},\n      font: {family: \"Arial\", size: 10, color: [\"black\"]}\n    },\n    xaxis: 'x',\n    yaxis: 'y',\n    domain: {x: [0,0.4], y: [0,1]}\n  }\n\n  // create 1st plot\n  var trace1 = {\n    x: unpack(rows, 'Date'),\n    y: unpack(rows, 'Hash-rate'),\n    xaxis: 'x1',\n    yaxis: 'y1',\n    mode: 'lines',\n    line: {width: 2, color: '#9748a1'},\n    name: 'hash-rate-TH/s'\n  }\n  // create 2nd plot\n  var trace2 = {\n    x: unpack(rows, 'Date'),\n    y: unpack(rows, 'Mining-revenue-USD'),\n    xaxis: 'x2',\n    yaxis: 'y2',\n    mode: 'lines',\n    line: {width: 2, color: '#b04553'},\n    name: 'Mining-revenue-USD'\n  }\n\n  // create 3rd plot\n  var trace3 = {\n    x: unpack(rows, 'Date'),\n    y: unpack(rows, 'Transaction-fees-BTC'),\n    xaxis: 'x3',\n    yaxis: 'y3',\n    mode: 'lines',\n    line: {width: 2, color: '#af7bbd'},\n    name: 'Transaction-fees-BTC'\n  }\n\n  var data = [table,trace1,trace2,trace3]\n\n  // define subplot axes\n  var axis = {\n    showline: true,\n    zeroline: false,\n    showgrid: true,\n    mirror:true,\n    ticklen: 4,\n    gridcolor: '#ffffff',\n    tickfont: {size: 10},\n  }\n\n  var axis1 = {domain: [0.5, 1], anchor: 'y1', showticklabels: false}\n  var axis2 = {domain: [0.5, 1], anchor: 'y2', showticklabels: false}\n  var axis3 = {domain: [0.5, 1], anchor: 'y3'}\n  var axis4 = {domain: [0.66, 0.98], anchor: 'x1', hoverformat: '.2f'}\n  var axis5 = {domain: [0.34, 0.64], anchor: 'x2', tickprefix: '$', hoverformat: '.2f'}\n  var axis6 = {domain: [0.0, 0.32], anchor: 'x3', tickprefix: '\\u20BF', hoverformat: '.2f'}\n\n  // define layout\n  var layout = {\n    title: {text: \"Bitcoin mining stats for 180 days\"},\n    plot_bgcolor: 'rgba(228, 222, 249, 0.65)',\n    showlegend: false,\n    xaxis1: Object.assign(axis1,axis),\n    xaxis2: Object.assign(axis2,axis),\n    xaxis3: Object.assign(axis3,axis),\n    yaxis1: Object.assign(axis4,axis),\n    yaxis2: Object.assign(axis5,axis),\n    yaxis3: Object.assign(axis6,axis)\n  }\n\n  Plotly.newPlot('myDiv', data, layout);\n\n});
    "},{"location":"examples/table/","title":"table","text":""},{"location":"examples/table/#basic-table","title":"basic-table","text":"
    var values = [\n      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL</b>'],\n      [1200000, 20000, 80000, 2000, 12120000],\n      [1300000, 20000, 70000, 2000, 130902000],\n      [1300000, 20000, 120000, 2000, 131222000],\n      [1400000, 20000, 90000, 2000, 14102000]]\n\nvar data = [{\n  type: 'table',\n  header: {\n    values: [[\"<b>EXPENSES</b>\"], [\"<b>Q1</b>\"],\n                 [\"<b>Q2</b>\"], [\"<b>Q3</b>\"], [\"<b>Q4</b>\"]],\n    align: \"center\",\n    line: {width: 1, color: 'black'},\n    fill: {color: \"grey\"},\n    font: {family: \"Arial\", size: 12, color: \"white\"}\n  },\n  cells: {\n    values: values,\n    align: \"center\",\n    line: {color: \"black\", width: 1},\n    font: {family: \"Arial\", size: 11, color: [\"black\"]}\n  }\n}]\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/table/#styled-table","title":"styled-table","text":"
    var values = [\n      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL</b>'],\n      [1200000, 20000, 80000, 2000, 12120000],\n      [1300000, 20000, 70000, 2000, 130902000],\n      [1300000, 20000, 120000, 2000, 131222000],\n      [1400000, 20000, 90000, 2000, 14102000]]\n\nvar data = [{\n  type: 'table',\n  header: {\n    values: [[\"<b>EXPENSES</b>\"], [\"<b>Q1</b>\"],\n                 [\"<b>Q2</b>\"], [\"<b>Q3</b>\"], [\"<b>Q4</b>\"]],\n    align: [\"left\", \"center\"],\n    line: {width: 1, color: '#506784'},\n    fill: {color: '#119DFF'},\n    font: {family: \"Arial\", size: 12, color: \"white\"}\n  },\n  cells: {\n    values: values,\n    align: [\"left\", \"center\"],\n    line: {color: \"#506784\", width: 1},\n     fill: {color: ['#25FEFD', 'white']},\n    font: {family: \"Arial\", size: 11, color: [\"#506784\"]}\n  }\n}]\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/table/#table-from-a-csv","title":"table-from-a-csv","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/Mining-BTC-180.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n  }\n\n  var headerNames = d3.keys(rows[0]);\n\n  var headerValues = [];\n  var cellValues = [];\n  for (i = 0; i < headerNames.length; i++) {\n    headerValue = [headerNames[i]];\n    headerValues[i] = headerValue;\n    cellValue = unpack(rows, headerNames[i]);\n    cellValues[i] = cellValue;\n  }\n\n  // clean date\n  for (i = 0; i < cellValues[1].length; i++) {\n  var dateValue = cellValues[1][i].split(' ')[0]\n  cellValues[1][i] = dateValue\n  }\n\n\nvar data = [{\n  type: 'table',\n  columnwidth: [150,600,1000,900,600,500,1000,1000,1000],\n  columnorder: [0,1,2,3,4,5,6,7,8,9],\n  header: {\n    values: headerValues,\n    align: \"center\",\n    line: {width: 1, color: 'rgb(50, 50, 50)'},\n    fill: {color: ['rgb(235, 100, 230)']},\n    font: {family: \"Arial\", size: 8, color: \"white\"}\n  },\n  cells: {\n    values: cellValues,\n    align: [\"center\", \"center\"],\n    line: {color: \"black\", width: 1},\n    fill: {color: ['rgba(228, 222, 249, 0.65)','rgb(235, 193, 238)', 'rgba(228, 222, 249, 0.65)']},\n    font: {family: \"Arial\", size: 9, color: [\"black\"]}\n  }\n}]\n\nvar layout = {\n  title: {\n    text: \"Bitcoin mining stats for 180 days\"\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/table/#changing-size-of-rows-and-columns","title":"changing-size-of-rows-and-columns","text":"
    var values = [\n      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL<br>EXPENSES</b>'],\n    [\"Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad\",\n     \"Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad\",\n     \"Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad\",\n     \"Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad\",\n    \"Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeterno adversarium, summo mollis timeam vel ad\"]]\n\nvar data = [{\n  type: 'table',\n  columnorder: [1,2],\n  columnwidth: [80,400],\n  header: {\n    values: [[\"<b>EXPENSES</b><br>as of July 2017\"], [\"<b>DESCRIPTION</b>\"]],\n     align: [\"left\", \"center\"],\n     height: 40,\n    line: {width: 1, color: '#506784'},\n    fill: {color: '#119DFF'},\n    font: {family: \"Arial\", size: 12, color: \"white\"}\n  },\n  cells: {\n    values: values,\n    align: [\"left\", \"center\"],\n     height: 30,\n    line: {color: \"#506784\", width: 1},\n     fill: {color: ['#25FEFD', 'white']},\n    font: {family: \"Arial\", size: 11, color: [\"#506784\"]}\n  }\n}]\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/table/#alternating-row-colors","title":"alternating-row-colors","text":"
    var values = [\n      ['Salaries', 'Office', 'Merchandise', 'Legal', '<b>TOTAL</b>'],\n      [1200000, 20000, 80000, 2000, 12120000],\n      [1300000, 20000, 70000, 2000, 130902000],\n      [1300000, 20000, 120000, 2000, 131222000],\n      [1400000, 20000, 90000, 2000, 14102000]]\n\nvar headerColor = \"grey\";\nvar rowEvenColor = \"lightgrey\";\nvar rowOddColor = \"white\";\n\nvar data = [{\n  type: 'table',\n  header: {\n    values: [[\"<b>EXPENSES</b>\"], [\"<b>Q1</b>\"],\n                 [\"<b>Q2</b>\"], [\"<b>Q3</b>\"], [\"<b>Q4</b>\"]],\n    align: \"center\",\n    line: {width: 1, color: 'black'},\n    fill: {color: headerColor},\n    font: {family: \"Arial\", size: 12, color: \"white\"}\n  },\n  cells: {\n    values: values,\n    align: \"center\",\n    line: {color: \"black\", width: 1},\n    fill: {color: [[rowOddColor,rowEvenColor,rowOddColor,\n                          rowEvenColor,rowOddColor]]},\n    font: {family: \"Arial\", size: 11, color: [\"black\"]}\n  }\n}]\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/table/#table-subplots","title":"table-subplots","text":"

    Please see Table Subplots documentation.

    "},{"location":"examples/ternary-contour/","title":"ternary-contour","text":""},{"location":"examples/ternary-contour/#basic-filled-ternary-plot","title":"basic-filled-ternary-plot","text":"
    var url = 'https://gist.githubusercontent.com/davenquinn/988167471993bc2ece29/raw/f38d9cb3dd86e315e237fde5d65e185c39c931c2/data.json';\n\nvar colors = ['#8dd3c7','#ffffb3','#bebada','#fb8072','#80b1d3','#fdb462','#b3de69','#fccde5','#d9d9d9','#bc80bd','#ccebc5','#ffed6f'];\n\n\nd3.json(url, function(err, rawData) {\n    if(err) throw err;\n\n    plot(rawData);\n});\n\nfunction plot(rawData) {\n    var data = Object.keys(rawData).map(function(k, i) {\n        var pts = rawData[k];\n        pts = pts.concat(pts[0]);\n\n        return {\n            type: 'scatterternary',\n            mode: 'lines',\n            name: k,\n            a: pts.map(function(d) { return d.clay }),\n            b: pts.map(function(d) { return d.sand }),\n            c: pts.map(function(d) { return d.silt }),\n            line: { color: '#444' },\n            fill: 'toself',\n            fillcolor: colors[i],\n            hoveron:'fills+points'\n        };\n    });\n\n    var layout = {\n        ternary: {\n            sum: 100,\n            aaxis: makeAxis('Clay'),\n            baxis: makeAxis('Sand'),\n            caxis: makeAxis('Silt')\n        },\n        showlegend: false,\n        width: 700,\n        annotations: [{\n            showarrow: false,\n            text: 'Soil Types Fill Plot',\n            x: 0.15,\n            y: 1.1\n        }]\n    };\n\n    Plotly.newPlot('myDiv', data, layout);\n}\n\nfunction makeAxis(title) {\n  return {\n      title: {\n        text: title\n      },\n      ticksuffix: '%',\n      min: 0.01,\n      linewidth: 2,\n      ticks: 'outside',\n      ticklen: 8,\n      showgrid: true,\n  };\n}
    Inspired from Daven Quinn's block"},{"location":"examples/ternary-plots/","title":"ternary-plots","text":""},{"location":"examples/ternary-plots/#basic-ternary-plot-with-markers","title":"basic-ternary-plot-with-markers","text":"
    var rawData = [\n    {journalist:75,developer:25,designer:0,label:'point 1'},\n    {journalist:70,developer:10,designer:20,label:'point 2'},\n    {journalist:75,developer:20,designer:5,label:'point 3'},\n    {journalist:5,developer:60,designer:35,label:'point 4'},\n    {journalist:10,developer:80,designer:10,label:'point 5'},\n    {journalist:10,developer:90,designer:0,label:'point 6'},\n    {journalist:20,developer:70,designer:10,label:'point 7'},\n    {journalist:10,developer:20,designer:70,label:'point 8'},\n    {journalist:15,developer:5,designer:80,label:'point 9'},\n    {journalist:10,developer:10,designer:80,label:'point 10'},\n    {journalist:20,developer:10,designer:70,label:'point 11'},\n];\n\nPlotly.newPlot('myDiv', [{\n    type: 'scatterternary',\n    mode: 'markers',\n    a: rawData.map(function(d) { return d.journalist; }),\n    b: rawData.map(function(d) { return d.developer; }),\n    c: rawData.map(function(d) { return d.designer; }),\n    text: rawData.map(function(d) { return d.label; }),\n    marker: {\n        symbol: 100,\n        color: '#DB7365',\n        size: 14,\n        line: { width: 2 }\n    },\n}], {\n    ternary: {\n        sum: 100,\n        aaxis: makeAxis('Journalist', 0),\n        baxis: makeAxis('<br>Developer', 45),\n        caxis: makeAxis('<br>Designer', -45),\n        bgcolor: '#fff1e0'\n    },\n    annotations: [{\n      showarrow: false,\n      text: 'Replica of Tom Pearson\\'s <a href=\"http://bl.ocks.org/tomgp/7674234\">block</a>',\n        x: 1.0,\n        y: 1.3,\n        font: { size: 15 }\n    }],\n    paper_bgcolor: '#fff1e0',\n});\n\nfunction makeAxis(title, tickangle) {\n    return {\n        title: {\n            text: title,\n            font: {\n                size: 20\n            }\n        },\n        tickangle: tickangle,\n        tickfont: {\n            size: 15\n        },\n        tickcolor: 'rgba(0,0,0,0)',\n        ticklen: 5,\n        showline: true,\n        showgrid: true\n    };\n}
    Inspired from Tom Pearson's block"},{"location":"examples/ternary-plots/#soil-types-ternary-plot","title":"soil-types-ternary-plot","text":"
    var url = 'https://gist.githubusercontent.com/davenquinn/988167471993bc2ece29/raw/f38d9cb3dd86e315e237fde5d65e185c39c931c2/data.json';\n\nd3.json(url, function(err, rawData) {\n    if(err) throw err;\n\n    plot(rawData);\n});\n\nfunction plot(rawData) {\n    var data = Object.keys(rawData).map(function(k) {\n        var pts = rawData[k];\n\n        return {\n            type: 'scatterternary',\n            mode: 'lines',\n            name: k,\n            a: pts.map(function(d) { return d.clay }),\n            b: pts.map(function(d) { return d.sand }),\n            c: pts.map(function(d) { return d.silt }),\n            line: { color: '#c00' }\n        };\n    });\n\n    var layout = {\n        ternary: {\n            sum: 100,\n            aaxis: makeAxis('Clay'),\n            baxis: makeAxis('Sand'),\n            caxis: makeAxis('Silt')\n        },\n        showlegend: false,\n        width: 700,\n        annotations: [{\n            showarrow: false,\n            text: 'Replica of Daven Quinn\\'s <a href=\"http://bl.ocks.org/davenquinn/988167471993bc2ece29\">block</a>',\n            x: 0.15,\n            y: 1.1\n        }]\n    };\n\n    Plotly.newPlot('myDiv', data, layout);\n}\n\nfunction makeAxis(title) {\n  return {\n      title: {\n         text: title\n      },\n      ticksuffix: '%',\n      min: 0.01,\n      linewidth: 2,\n      ticks: 'outside',\n      ticklen: 8,\n      showgrid: true,\n  };\n}
    Inspired from Daven Quinn's block"},{"location":"examples/text-and-annotations/","title":"text-and-annotations","text":""},{"location":"examples/text-and-annotations/#adding-text-to-data-in-line-and-scatter-plots","title":"adding-text-to-data-in-line-and-scatter-plots","text":"
    var trace1 = {\n  x: [0, 1, 2],\n  y: [1, 1, 1],\n  mode: 'lines+markers+text',\n  name: 'Lines, Markers and Text',\n  text: ['Text A', 'Text B', 'Text C'],\n  textposition: 'top',\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2],\n  y: [2, 2, 2],\n  mode: 'markers+text',\n  name: 'Markers and Text',\n  text: ['Text D', 'Text E', 'Text F'],\n  textposition: 'bottom',\n  type: 'scatter'\n};\nvar trace3 = {\n  x: [0, 1, 2],\n  y: [3, 3, 3],\n  mode: 'lines+text',\n  name: 'Lines and Text',\n  text: ['Text G', 'Text H', 'Text I'],\n  textposition: 'bottom',\n  type: 'scatter'\n};\nvar data = [trace1, trace2, trace3];\nvar layout = {showlegend: false};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#simple-annotation","title":"simple-annotation","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 3, 2, 4, 3, 4, 6, 5],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 5, 1, 2, 2, 3, 4, 2],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  showlegend: false,\n  annotations: [\n    {\n      x: 2,\n      y: 5,\n      xref: 'x',\n      yref: 'y',\n      text: 'Annotation Text',\n      showarrow: true,\n      arrowhead: 7,\n      ax: 0,\n      ay: -40\n    }\n  ]\n};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#paper-referenced-annotations","title":"paper-referenced-annotations","text":"
    Plotly.newPlot('myDiv', [{\n  x: [1,2,3],\n  y: [2,1,2]\n}], {\n  annotations: [{\n    xref: 'paper',\n    yref: 'paper',\n    x: 0,\n    xanchor: 'right',\n    y: 1,\n    yanchor: 'bottom',\n    text: 'X axis label',\n    showarrow: false\n  }, {\n    xref: 'paper',\n    yref: 'paper',\n    x: 1,\n    xanchor: 'left',\n    y: 0,\n    yanchor: 'top',\n    text: 'Y axis label',\n    showarrow: false\n  }]\n\n})
    "},{"location":"examples/text-and-annotations/#annotations-with-log-axes","title":"annotations-with-log-axes","text":"

    If the x or y positions of an annotation reference a log axis, you need to provide that position as a log10 value when adding the annotation. In this example, the yaxis is a log axis so we pass the log10 value of 1000 to the annotation's y position.

    var dates = [\n    \"2024-01-01\",\n    \"2024-01-02\",\n    \"2024-01-03\",\n    \"2024-01-04\",\n    \"2024-01-05\",\n    \"2024-01-06\",\n];\n\nvar y_values = [1, 30, 70, 100, 1000, 10000000];\n\nvar trace1 = {\n    x: dates,\n    y: y_values,\n    mode: 'lines+markers',\n    type: 'scatter'\n};\n\nvar layout = {\n    yaxis: {\n        type: 'log',\n    },\n    annotations: [\n        {\n            x: '2024-01-05',\n            y: Math.log10(1000),\n            text: 'Log axis annotation',\n            showarrow: true,\n            xanchor: 'right',\n        }\n    ]\n};\n\nvar data = [trace1];\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#multiple-annotations","title":"multiple-annotations","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 3, 2, 4, 3, 4, 6, 5],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 5, 1, 2, 2, 3, 4, 2],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  showlegend: false,\n  annotations: [\n    {\n      x: 2,\n      y: 5,\n      xref: 'x',\n      yref: 'y',\n      text: 'Annotation Text',\n      showarrow: true,\n      arrowhead: 7,\n      ax: 0,\n      ay: -40\n    },\n    {\n      x: 4,\n      y: 4,\n      xref: 'x',\n      yref: 'y',\n      text: 'Annotation Text 2',\n      showarrow: true,\n      arrowhead: 7,\n      ax: 0,\n      ay: -40\n    }\n  ]\n};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#subplot-annotations","title":"subplot-annotations","text":"
    var trace0 = {\n  x: [1, 2, 3],\n  y: [4, 5, 6],\n  type: 'scatter'\n};\n\nvar trace1 = {\n  x: [20, 30, 40],\n  y: [50, 60, 70],\n  xaxis: 'x2',\n  yaxis: 'y2',\n  type: 'scatter'\n};\n\nvar data = [trace0, trace1];\n\nvar layout = {\n  title: {\n    text: 'Subplot Annotations'\n  },\n  xaxis: {domain: [0, 0.45]},\n  yaxis2: {anchor: 'x2'},\n  xaxis2: {domain: [0.55, 1]},\n  annotations: [\n    {\n      x: 2,\n      y: 5,\n      xref: 'x',\n      yref: 'y',\n      text: 'Annotation A',\n      showarrow: true,\n      arrowhead: 3,\n      ax: -30,\n      ay: -40\n    },\n    {\n      x: 30,\n      y: 60,\n      xref: 'x2',\n      yref: 'y2',\n      text: 'Annotation B',\n      showarrow: true,\n      arrowhead: 2,\n      ax: -25,\n      ay: -40\n    }\n  ]\n};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#3d-annotations","title":"3d-annotations","text":"
    var data = [{\n    type: \"scatter3d\",\n    x: [\"2017-01-01\", \"2017-02-10\", \"2017-03-20\"],\n    y: [\"A\", \"B\", \"C\"],\n    z: [1, 1e3, 1e5]\n }]\n\nvar layout = {\n    scene: {\n      camera: {\n        eye: {x: 2.1, y: 0.1, z: 0.9}\n      },\n      xaxis: {\n        title: {\n            text: \"\"\n        }\n      },\n      yaxis: {\n          title: {\n              text: \"\"\n          }\n      },\n      zaxis: {\n          type: \"log\",\n          title: {\n              text: \"\"\n          }\n      },\n      annotations: [{\n        showarrow: false,\n        x: \"2017-01-01\",\n        y: \"A\",\n        z: 0,\n        text: \"Point 1\",\n        font: {\n          color: \"black\",\n          size: 12\n        },\n        xanchor: \"left\",\n        xshift: 10,\n        opacity: 0.7\n      }, {\n        x: \"2017-02-10\",\n        y: \"B\",\n        z: 4,\n        text: \"Point 2\",\n        textangle: 0,\n        ax: 0,\n        ay: -75,\n        font: {\n          color: \"black\",\n          size: 12\n        },\n        arrowcolor: \"black\",\n        arrowsize: 3,\n        arrowwidth: 1,\n        arrowhead: 1\n      }, {\n        x: \"2017-03-20\",\n        y: \"C\",\n        z: 5,\n        ax: 50,\n        ay: 0,\n        text: \"Point 3\",\n        arrowhead: 1,\n        xanchor: \"left\",\n        yanchor: \"bottom\"\n      }]\n}\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#custom-text-color-and-styling","title":"custom-text-color-and-styling","text":"
    var trace1 = {\n  x: [0, 1, 2],\n  y: [1, 1, 1],\n  mode: 'lines+markers+text',\n  name: 'Lines, Markers and Text',\n  text: ['Text A', 'Text B', 'Text C'],\n  textposition: 'top right',\n  textfont: {\n    family: 'sans serif',\n    size: 18,\n    color: '#1f77b4'\n  },\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2],\n  y: [2, 2, 2],\n  mode: 'lines+markers+text',\n  name: 'Lines and Text',\n  text: ['Text G', 'Text H', 'Text I'],\n  textposition: 'bottom',\n  textfont: {\n    family: 'sans serif',\n    size: 18,\n    color: '#ff7f0e'\n  },\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {showlegend: false};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#styling-and-coloring-annotations","title":"styling-and-coloring-annotations","text":"
    var trace1 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 1, 3, 2, 4, 3, 4, 6, 5],\n  type: 'scatter'\n};\nvar trace2 = {\n  x: [0, 1, 2, 3, 4, 5, 6, 7, 8],\n  y: [0, 4, 5, 1, 2, 2, 3, 4, 2],\n  type: 'scatter'\n};\nvar data = [trace1, trace2];\nvar layout = {\n  showlegend: false,\n  annotations: [\n    {\n      x: 2,\n      y: 5,\n      xref: 'x',\n      yref: 'y',\n      text: 'max=5',\n      showarrow: true,\n      font: {\n        family: 'Courier New, monospace',\n        size: 16,\n        color: '#ffffff'\n      },\n      align: 'center',\n      arrowhead: 2,\n      arrowsize: 1,\n      arrowwidth: 2,\n      arrowcolor: '#636363',\n      ax: 20,\n      ay: -30,\n      bordercolor: '#c7c7c7',\n      borderwidth: 2,\n      borderpad: 4,\n      bgcolor: '#ff7f0e',\n      opacity: 0.8\n    }\n  ]\n};\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/text-and-annotations/#styling-and-formatting-annotations","title":"styling-and-formatting-annotations","text":"
    var myPlot = document.getElementById('myDiv'),\n   N = 12,\n    x = d3.range(N).map( d3.random.normal(3) ),\n    y1 = d3.range(N).map( d3.random.normal(4) ),\n    y2 = d3.range(N).map( d3.random.normal(4) ),\n    y3 = d3.range(N).map( d3.random.normal(4) ),\n    months = ['Jan', 'Feb', 'Mar',\n          'Apr', 'May', 'June',\n          'July', 'Aug', 'Sept',\n          'Oct', 'Nov', 'Dec'],\n    data = [{ x:x, y:y1,\n             type:'scatter', mode:'markers',\n         name:'2014', text: months,\n             marker:{color:'rgba(200, 50, 100, .7)',\n                      size:16}\n             },\n            { x:x, y:y2,\n             type:'scatter', mode:'markers',\n         name:'2015', text:months,\n             marker:{color:'rgba(120, 20, 130, .7)',\n                     size:16}\n             },\n            { x:x, y:y3,\n             type:'scatter', mode:'markers',\n         name: '2016', text:months,\n             marker:{color:'rgba(10, 180, 180, .8)',\n                     size:16}}];\n    layout = {\n        hovermode:'closest',\n        title: {text: '<b>Formatting Annotations</b> <br> click on a point to plot an annotation'},\n        xaxis: {\n          zeroline: false,\n          title: {\n              text: 'Value A'\n          }\n        },\n        yaxis: {\n            zeroline: false,\n            title: {\n                text: 'Value B'\n            }\n        }\n     };\n\nPlotly.newPlot('myDiv', data, layout);\n\nmyPlot.on('plotly_click',\n    function(data){\n      var point = data.points[0],\n          newAnnotation = {\n            x: point.xaxis.d2l(point.x),\n            y: point.yaxis.d2l(point.y),\n            arrowhead: 6,\n            ax: 0,\n            ay: -80,\n            bgcolor: 'rgba(255, 255, 255, 0.9)',\n            arrowcolor: point.fullData.marker.color,\n            font: {size:12},\n            bordercolor: point.fullData.marker.color,\n            borderwidth: 3,\n            borderpad: 4,\n            text: '<i>Series Identification</i>' + <br>\n                  '<b>Year</b>       '+(point.data.name) + '<br>' +\n                  '<i>Point Identification</i><br>' +\n                  '<b>Month</b>      '+ (months[point.pointNumber]) +\n                  '<br><i>Point Values</i><br>' +\n                  '<b>A</b>     '+(point.x).toPrecision(4) +\n                  '<br><b>B</b>     '+(point.y).toPrecision(4)\n\n        },\n        divid = document.getElementById('myDiv'),\n        newIndex = (divid.layout.annotations || []).length;\n    console.log(point.pointNumber)\n     // delete instead if clicked twice\n    if(newIndex) {\n       var foundCopy = false;\n       divid.layout.annotations.forEach(function(ann, sameIndex) {\n         if(ann.text === newAnnotation.text ) {\n           Plotly.relayout('myDiv', 'annotations[' + sameIndex + ']', 'remove');\n           foundCopy = true;\n         }\n       });\n       if(foundCopy) return;\n     }\n     Plotly.relayout('myDiv', 'annotations[' + newIndex + ']', newAnnotation);\n  })\n  .on('plotly_clickannotation', function(event, data) {\n    Plotly.relayout('myDiv', 'annotations[' + data.index + ']', 'remove');\n  });
    "},{"location":"examples/text-and-annotations/#webgl-text-and-annotations","title":"webgl-text-and-annotations","text":"
    var n = 250;\nvar t = 12;\nvar x = [];\nvar y = [];\nvar z = [];\nvar text = [];\nvar arr = [\"A\",\"T\",\"G\", \"C\"];\n\nfor (var j = 0; j < t; j++){\n  ztemp = [];\n  for (var i = 0; i < n; i++) {\n    x.push(i);\n    y.push(j);\n    ztemp.push(Math.floor(Math.random() * 10));\n    text.push(arr[Math.floor(Math.random() * 4)])\n  }\n  z.push(ztemp)\n}\n\nvar steps = [];\nfor (var e = 0; e < n-30; e++){\n  steps.push({\n      label: e,\n      value: e,\n      method: 'relayout',\n      args: ['xaxis', {range: [-0.5 + e, 30.5 + e]}]\n    })\n}\n\ndata1 = {\n  x: x,\n  y: y,\n  mode: \"text\",\n  text: text,\n  type: \"scattergl\",\n  textfont: {\n    size: 20\n    }\n  }\n\ndata2 = {\n  z: z,\n  type: \"heatmap\"\n  }\n\nsliders = [{\n      active: 0,\n      steps: steps\n    }]\n\nlayout = {\n  sliders: sliders,\n  xaxis: {\n    range: [-0.5, 30.5],\n    showline: false,\n    zeroline: false,\n     showgrid: false\n  },\n  yaxis: {\n    showline: false,\n    zeroline: false,\n     showgrid: false\n  }  \n  }\n\ndata = [data1, data2]\nPlotly.newPlot('myDiv', {data:data,\n                     layout:layout});
    "},{"location":"examples/texttemplate/","title":"texttemplate","text":""},{"location":"examples/texttemplate/#add-text-template-in-pie-chart","title":"add-text-template-in-pie-chart","text":"

    To show an arbitrary text in your chart you can use texttemplate, which is a template string used for rendering the information, and will override textinfo.

    var data = [{\n  type: \"pie\",\n  values: [2, 5, 3, 2.5],\n  labels: [\"R\", \"Python\", \"Java Script\", \"Matlab\"],\n  texttemplate: \"%{label}: %{value} (%{percent})\",\n  textposition: \"inside\"\n}];\n\nPlotly.newPlot(\"myDiv\", data)
    "},{"location":"examples/texttemplate/#customize-text-template","title":"customize-text-template","text":"

    The following example uses textfont to customize the added text.

    var data = [{\n      type: \"scatterternary\",\n      a: [3, 2, 5],\n      b: [2, 5, 2],\n      c: [5, 2, 2],\n      mode: \"markers+text\",\n      text: [\"A\", \"B\", \"C\"],\n      texttemplate: \"%{text}<br>(%{a:.2f}, %{b:.2f}, %{c:.2f})\",\n      textposition: \"bottom center\",\n      textfont:{'family': \"Times\", 'size': [18, 21, 20], 'color': [\"IndianRed\", \"MediumPurple\", \"DarkOrange\"]}\n}];\n\nPlotly.newPlot(\"myDiv\", data)
    "},{"location":"examples/texttemplate/#set-date-in-text-template","title":"set-date-in-text-template","text":"

    The following example displays how to show date by setting axis.type in funnel charts.

    var data = [{\n  type: 'funnel',\n  name: 'Montreal',\n  orientation: \"h\",\n  y: [\"2018-01-01\", \"2018-07-01\", \"2019-01-01\", \"2020-01-01\"],\n  x: [100, 60, 40, 20],\n  textposition: \"inside\",\n  texttemplate: \"%{label}\"\n},{\n  type: \"funnel\",\n  name: 'Vancouver',\n  orientation: \"h\",\n  y: [\"2018-01-01\", \"2018-07-01\", \"2019-01-01\", \"2020-01-01\"],\n  x: [90, 70, 50, 10],\n  textposition: \"inside\",\n  textinfo: \"label\"}]\n\nvar layout = {yaxis: {type: 'date'}}\n\nPlotly.newPlot(\"myDiv\", data, layout)
    "},{"location":"examples/tick-formatting/","title":"tick-formatting","text":""},{"location":"examples/tick-formatting/#layout-attributes-with-respect-to-formatting-ticks","title":"layout-attributes-with-respect-to-formatting-ticks","text":"
    {\n  xaxis: {\n    /* show/hide tick labels (defaults to true) */\n    showticklabels: boolean,\n    /*  Set the tick mode for the axis \"auto\" or \"linear\" or \"array\" */\n    tickmode: 'auto',\n\n    /* Set the placement of the first tick*/\n    tick0: '',\n    /* Set the step in-between ticks*/\n    dtick: '',\n    /* Specifies the maximum number of ticks */\n    nticks: 0,\n\n    /* Set the values at which ticks on this axis appear */\n    tickvals: [ /* */ ],\n    /* Set the text displayed at the ticks position via tickvals */\n    ticktext: [ /* */ ],\n    /* Set the source reference for tickvals */\n    tickvalssrc: '',\n    /* Set the source reference for ticktext */\n    tickvtextsrc: '',\n\n    /* Set the tick label formatting rule using d3 formatting mini-languages */\n    tickformat: '',\n    /* Set the tickformat per zoom level */\n    tickformatstops: {\n      enabled: true,\n      /* Set the range of the dtick values which describe the zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\" */\n      dtickrange: [\"min\", \"max\"],\n      /* dtickformat for described zoom level, the same as \"tickformat\" */\n      value: string,\n    },\n\n    /* Set the ticks to display with a prefix: \"all\" or \"first\" or \"last\" or \"none\" */\n    showtickprefix: 'all',\n    tickprefix: string,\n\n    /* Set the ticks to display with a suffix: \"all\" or \"first\" or \"last\" or \"none\" */\n    showticksuffix: 'all',\n    ticksuffix: string,\n\n    /* Determines a formatting rule for the tick exponents: \"none\" or \"e\" or \"E\" or \"power\" or \"SI\" or \"B\" */\n    exponentformat: 'B',\n  }\n  /* similarly for yaxis */\n}
    "},{"location":"examples/tick-formatting/#tickmode---linear","title":"tickmode---linear","text":"
    var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nvar y = [28.8, 28.5, 37, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9];\nvar data = [{\n  x: x,\n  y: y,\n  type: 'scatter'\n}];\nvar layout = {\n  xaxis: {\n    tickmode: \"linear\", //  If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick`\n    tick0: 0.5,\n    dtick: 0.75\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tick-formatting/#tickmode---linear-(date)","title":"tickmode---linear-(date)","text":"
    var x = ['2000-01', '2000-02', '2000-03', '2000-04', '2000-05', '2000-06', '2000-07', '2000-08', '2000-09', '2000-10', '2000-11', '2000-12', '2001-01'];\nvar y = [-36.5, -26.6, -43.6, -52.3, -71.5, -81.4, -80.5, -82.2, -76, -67.3, -46.1, -35, -40];\nvar data = [{\n  x: x,\n  y: y,\n  type: 'scatter'\n}];\nvar layout = {\n  xaxis: {\n    tickmode: \"linear\", //  If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick`\n    tick0: '1999-12-15',\n    dtick: 30 * 24 * 60 * 60 * 1000 // milliseconds\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tick-formatting/#tickmode---array","title":"tickmode---array","text":"
    var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nvar y = [28.8, 28.5, 37, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9];\nvar data = [{\n  x: x,\n  y: y,\n  type: 'scatter'\n}];\nvar layout = {\n  xaxis: {\n    tickmode: \"array\", // If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`.\n    tickvals: [1, 3, 5, 7, 9, 11],\n    ticktext: ['One', 'Three', 'Five', 'Seven', 'Nine', 'Eleven']\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tick-formatting/#using-tickformat","title":"using-tickformat","text":"
    var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nvar y = [0.18, 0.38, 0.56, 0.46, 0.59, 0.4, 0.78, 0.77, 0.74, 0.42, 0.45, 0.39];\nvar data = [{\n  x: x,\n  y: y,\n  type: 'scatter'\n}];\nvar layout = {\n  yaxis: {\n    tickformat: '%' // For more formatting types, see: https://github.com/d3/d3-format/blob/master/README.md#locale_format\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tick-formatting/#using-tickformat-(date)","title":"using-tickformat-(date)","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv\", function (err, rows) {\n\n  function unpack(rows, key) {\n    return rows.map(function (row) {\n      return row[key];\n    });\n  }\n\n\n  var trace1 = {\n    type: \"scatter\",\n    mode: \"lines\",\n    name: 'AAPL High',\n    x: unpack(rows, 'Date'),\n    y: unpack(rows, 'AAPL.High'),\n    line: {\n      color: '#17BECF'\n    }\n  }\n\n  var trace2 = {\n    type: \"scatter\",\n    mode: \"lines\",\n    name: 'AAPL Low',\n    x: unpack(rows, 'Date'),\n    y: unpack(rows, 'AAPL.Low'),\n    line: {\n      color: '#7F7F7F'\n    }\n  }\n\n  var data = [trace1, trace2];\n\n  var layout = {\n    title: {text: 'Time series with custom tickformat'},\n    xaxis: {\n      tickformat: '%d %B (%a)\\n %Y' // For more time formatting types, see: https://github.com/d3/d3-time-format/blob/master/README.md\n    }\n  };\n\n  Plotly.newPlot('myDiv', data, layout);\n})
    "},{"location":"examples/tick-formatting/#tickformatstops-to-customize-for-different-zoom-levels","title":"tickformatstops-to-customize-for-different-zoom-levels","text":"
    var gd = document.getElementById('myDiv');\nvar x = [\"2005-01\", \"2005-02\", \"2005-03\", \"2005-04\", \"2005-05\", \"2005-06\", \"2005-07\"];\nvar y = [-20, 10, -5, 0, 5, -10, 20];\nvar data = [{\n  x: x,\n  y: y,\n  type: 'scatter'\n}];\nvar layout = {\n  xaxis: {\n    tickformatstops: [{\n        \"dtickrange\": [null, 1000],\n        \"value\": \"%H:%M:%S.%L ms\"\n      },\n      {\n        \"dtickrange\": [1000, 60000],\n        \"value\": \"%H:%M:%S s\"\n      },\n      {\n        \"dtickrange\": [60000, 3600000],\n        \"value\": \"%H:%M m\"\n      },\n      {\n        \"dtickrange\": [3600000, 86400000],\n        \"value\": \"%H:%M h\"\n      },\n      {\n        \"dtickrange\": [86400000, 604800000],\n        \"value\": \"%e. %b d\"\n      },\n      {\n        \"dtickrange\": [604800000, \"M1\"],\n        \"value\": \"%e. %b w\"\n      },\n      {\n        \"dtickrange\": [\"M1\", \"M12\"],\n        \"value\": \"%b '%y M\"\n      },\n      {\n        \"dtickrange\": [\"M12\", null],\n        \"value\": \"%Y Y\"\n      }\n    ]\n  }\n};\n\nPlotly.newPlot(\"myDiv\", data, layout);
    "},{"location":"examples/tick-formatting/#using-exponentformat","title":"using-exponentformat","text":"
    var x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nvar y = [68000, 52000, 60000, 20000, 95000, 40000, 60000, 79000, 74000, 42000, 20000, 90000];\nvar data = [{\n  x: x,\n  y: y,\n  type: 'scatter'\n}];\nvar layout = {\n  yaxis: {\n    showexponent: 'all',\n    exponentformat: 'e'\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tick-formatting/#include-locale-config","title":"include-locale-config","text":"
    var x = ['2013-02-04', '2013-04-05', '2013-06-06', '2013-08-07', '2013-10-02'];\nvar y = [1, 4, 3, 6, 2];\nvar data = [{\n  x: x,\n  y: y,\n  type: 'scatter'\n}];\nvar layout = {\n  xaxis: {\n    tickformat: '%a %e %b \\n %Y'\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout, {\n  locale: 'fr' // For more info, see: https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization and https://github.com/plotly/plotly.js/tree/master/dist\n});
    "},{"location":"examples/tile-county-choropleth/","title":"tile-county-choropleth","text":""},{"location":"examples/tile-county-choropleth/#basic-tile","title":"basic-tile","text":"

    This tutorial uses Maplibre GL JS to make a map of US states using vector tiles.

    var data = [{\n  type: \"choroplethmap\", locations: [\"NY\", \"MA\", \"VT\"], z: [-50, -10, -20],\n  geojson: \"https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json\"\n}];\n\nvar layout = {map: {center: {lon: -74, lat: 43}, zoom: 3.5},\n              width: 600, height:400};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tile-county-choropleth/#streets-tile","title":"streets-tile","text":"

    The following example sets geojson object of type feature and geometries of type 'Polygon'. For more information see geojson attribute in the reference page. As you see, the scattermap trace is above the Choropleth map trace. To set the Choropleth map trace above all the other traces you should set below attribute.

    var data = [\n   {type: \"scattermap\", lon: [-86], lat: [34], marker: {size: 20, color: 'purple'}},\n   {\n    type: \"choroplethmap\",locations: [\"AL\"], z: [10], coloraxis: \"coloraxis\",           geojson: {type: \"Feature\", id: \"AL\", geometry: {type: \"Polygon\", coordinates: [[\n    [-86, 35], [-85, 34], [-85, 32], [-85, 32], [-85, 32], [-85, 32], [-85, 31],\n    [-86, 31], [-87, 31], [-87, 31], [-88, 30], [-88, 30], [-88, 30], [-88, 30],\n    [-88, 34], [-88, 35]]]\n   }}}];\n\nvar layout = {width: 600, height: 400, map: {style: 'streets',\n    center: {lon: -86, lat: 33}, zoom: 5}, marker: {line: {color: \"blue\"}},\n    coloraxis: {showscale: false, colorscale: \"Viridis\"}};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tile-county-choropleth/#dark-tile","title":"dark-tile","text":"

    This example uses zmin and zmax to define the lower bound and upper bound of the color domain. If these attributes are not set, Plotly determines the color domain based on the input data.

    var data = [{\n type: \"choroplethmap\", name: \"US states\", geojson: \"https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json\", locations: [ \"AL\", \"AK\", \"AZ\", \"AR\", \"CA\", \"CO\", \"CT\", \"DE\", \"FL\", \"GA\", \"HI\", \"ID\", \"IL\", \"IN\", \"IA\", \"KS\", \"KY\", \"LA\", \"ME\", \"MD\", \"MA\", \"MI\", \"MN\", \"MS\", \"MO\", \"MT\", \"NE\", \"NV\", \"NH\", \"NJ\", \"NM\", \"NY\", \"NC\", \"ND\", \"OH\", \"OK\", \"OR\", \"PA\", \"RI\", \"SC\", \"SD\", \"TN\", \"TX\", \"UT\", \"VT\", \"VA\", \"WA\", \"WV\", \"WI\", \"WY\" ],\nz: [ 141, 140, 155, 147, 132, 146, 151, 137, 146, 136, 145, 141, 149, 151, 138, 158, 164, 141, 146, 145, 142, 150, 155, 160, 156, 161, 147, 164, 150, 152, 155, 167, 145, 146, 151, 154, 161, 145, 155, 150, 151, 162, 172, 169, 170, 151, 152, 173, 160, 176 ],\nzmin: 25, zmax: 280, colorbar: {y: 0, yanchor: \"bottom\", title: {text: \"US states\", side: \"right\"}}}\n ];\n\nvar layout = {map: {style: \"dark\", center: {lon: -110, lat: 50}, zoom: 0.8}, width: 600, height: 400, margin: {t: 0, b: 0}};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tile-county-choropleth/#basic-tile-using-mapbox","title":"basic-tile-using-mapbox","text":"

    > Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

    Earlier examples use traces that render with Maplibre GL JS. These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, which are now deprecated. Here's one of the earlier examples using the Mapbox-based choroplethmapbox trace

    var data = [{\n  type: \"choroplethmapbox\", locations: [\"NY\", \"MA\", \"VT\"], z: [-50, -10, -20],\n  geojson: \"https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json\"\n}];\n\nvar layout = {mapbox: {center: {lon: -74, lat: 43}, zoom: 3.5},\n              width: 600, height:400};\n\nvar config = {mapboxAccessToken: \"your access token\"};\n\nPlotly.newPlot('myDiv', data, layout, config);
    "},{"location":"examples/tile-density-heatmaps/","title":"tile-density-heatmaps","text":""},{"location":"examples/tile-density-heatmaps/#light-tile","title":"light-tile","text":"
    var data = [\n  {type: \"densitymap\", lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2],\n   radius: 50, colorbar: {y: 1, yanchor: 'top', len: 0.45}},\n  {type: 'densitymap', lon: [-10, -20, -30], lat: [15, 25, 35],\n   radius: [50, 100, 10],  colorbar: {y: 0, yanchor: 'bottom', len: 0.45}\n  }];\n\nvar layout = {map: {style: 'light', center: {lat: 20}}, width: 600, height: 400};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tile-density-heatmaps/#outdoors-tile","title":"outdoors-tile","text":"
    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/earthquakes-23k.csv',\n  function(err, rows){function unpack(rows, key) {return rows.map(function(row){ return row[key];\n})};\n\nvar data = [{\n  lon: unpack(rows, 'Longitude'), lat: unpack(rows, 'Latitude'), radius:10,\n  z: unpack(rows, 'Magnitude'), type: \"densitymap\", coloraxis: 'coloraxis',\n  hoverinfo: 'skip'}];\n\nvar layout = {\n    map: {center: {lon: 60, lat: 30}, style: \"outdoors\", zoom: 2},\n    coloraxis: {colorscale: \"Viridis\"}, title: {text: \"Earthquake Magnitude\"},\n    width: 600, height: 400, margin: {t: 30, b: 0}};\n\nPlotly.newPlot('myDiv', data, layout);\n})
    "},{"location":"examples/tile-density-heatmaps/#stamen-terrain-tile","title":"stamen-terrain-tile","text":"
    var data = [{type: 'densitymapbox', lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2]}];\n\nvar layout = {width: 600, height: 400, mapbox: {style: 'https://tiles.stadiamaps.com/styles/stamen_watercolor.json?api_key=YOUR-API-KEY'}};\n\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/tile-density-heatmaps/#light-tile-(mapbox)---requires-token","title":"light-tile-(mapbox)---requires-token","text":"

    Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

    Earlier examples use traces that render with Maplibre GL JS. These traces were introduced in Plotly.js 2.35.0 and replace Mapbox-based tile maps, which are now deprecated. Here's one of the earlier examples written using the Mapbox-based densitymapbox trace.

    var data = [\n  {type: \"densitymapbox\", lon: [10, 20, 30], lat: [15, 25, 35], z: [1, 3, 2],\n   radius: 50, colorbar: {y: 1, yanchor: 'top', len: 0.45}},\n  {type: 'densitymapbox', lon: [-10, -20, -30], lat: [15, 25, 35],\n   radius: [50, 100, 10],  colorbar: {y: 0, yanchor: 'bottom', len: 0.45}\n  }];\n\nvar layout = {mapbox: {style: 'light', center: {lat: 20}}, width: 600, height: 400};\n\nvar config = {mapboxAccessToken: \"your access token\"};\n\nPlotly.newPlot('myDiv', data, layout, config);
    "},{"location":"examples/tile-map-layers/","title":"tile-map-layers","text":""},{"location":"examples/tile-map-layers/#how-layers-work-in-tile-based-maps","title":"how-layers-work-in-tile-based-maps","text":"

    If your figure contains one or more traces of type Scattermap, Choroplethmap or Densitymap, the layout object in your figure contains configuration information for the map itself. The map is composed of various layers, of three different types.

    1. `layout.map.style` defines the lowest layers, also known as your \"base map\"
    2. The various traces in `data` are by default rendered above the base map (although this can be controlled via the `below` attribute).
    3. `layout.map.layers` is an array that defines more layers that are by default rendered above the traces in `data` (although this can also be controlled via the `below` attribute).
    "},{"location":"examples/tile-map-layers/#openstreetmap-tiles","title":"openstreetmap-tiles","text":"

    Here is a simple map rendered with \"open-street-map\" tiles.

    d3.csv(\n    \"https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv\",\n    function(err, rows) {\n        function unpack(rows, key) {\n            return rows.map(function(row) {\n                return row[key];\n            });\n        }\n\n        var data = [\n            {\n                type: \"scattermap\",\n                text: unpack(rows, \"Globvalue\"),\n                lon: unpack(rows, \"Lon\"),\n                lat: unpack(rows, \"Lat\"),\n                marker: { color: \"fuchsia\", size: 4 }\n            }\n        ];\n\n        var layout = {\n            dragmode: \"zoom\",\n            map: { style: \"open-street-map\", center: { lat: 38, lon: -90 }, zoom: 3 },\n            margin: { r: 0, t: 0, b: 0, l: 0 }\n        };\n\n        Plotly.newPlot(\"myDiv\", data, layout);\n    }\n);
    "},{"location":"examples/tile-map-layers/#using-","title":"using-\"layout.map.layers\"-to-specify-a-base-map","text":"

    If you have access to your own private tile servers, or wish to use a tile server not included in the list above, the recommended approach is to set layout.map.style to \"white-bg\" and to use layout.map.layers with below to specify a custom base map. If you omit the below attribute when using this approach, your data will likely be hidden by fully-opaque raster tiles!

    "},{"location":"examples/tile-map-layers/#base-tiles-from-the-usgs","title":"base-tiles-from-the-usgs","text":"

    Here is an example of a map which uses a public USGS imagery map, specified in layout.map.layers, and which is rendered below the data layer.

    d3.csv(\n    \"https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv\",\n    function(err, rows) {\n        function unpack(rows, key) {\n            return rows.map(function(row) {\n                return row[key];\n            });\n        }\n\nvar data = [\n    {\n        type: \"scattermap\",\n        text: unpack(rows, \"Globvalue\"),\n        lon: unpack(rows, \"Lon\"),\n        lat: unpack(rows, \"Lat\"),\n        marker: { color: \"fuchsia\", size: 4 }\n    }\n];\n\nvar layout = {\n    dragmode: \"zoom\",\n    map: {\n        style: \"white-bg\",\n        layers: [\n            {\n                sourcetype: \"raster\",\n                source: [\"https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}\"],\n                below: \"traces\"\n            }\n        ],\n        center: { lat: 38, lon: -90 },\n        zoom: 3\n    },\n    margin: { r: 0, t: 0, b: 0, l: 0 }\n};\n\nPlotly.newPlot(\"myDiv\", data, layout);\n    }\n);
    "},{"location":"examples/tile-map-layers/#base-tiles-from-the-usgs-radar-overlay-from-environment-canada","title":"base-tiles-from-the-usgs-radar-overlay-from-environment-canada","text":"

    Here is the same example, with in addition, a WMS layer from Environment Canada which displays near-real-time radar imagery in partly-transparent raster tiles, rendered above the go.Scattermap trace, as is the default.

    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/2015_06_30_precipitation.csv', function(err, rows){\n      function unpack(rows, key) {\n          return rows.map(function(row) { return row[key]; });\n        }\n\nvar data = [{\n        type: 'scattermap', text: unpack(rows, 'Globvalue'),\n        lon: unpack(rows, 'Lon'), lat: unpack(rows, 'Lat'),\n        marker: {color: 'fuchsia', size: 4}\n    }];\n\nvar layout = {\n    dragmode: 'zoom',\n    map: {\n        style: 'white-bg',\n        layers: [\n            {\n            \"below\": 'traces',\n            \"sourcetype\": \"raster\",\n            \"source\": [\n                \"https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}\"\n            ]\n        },\n            {\n             sourcetype: \"raster\",\n             source: [\"https://geo.weather.gc.ca/geomet/?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX={bbox-epsg-3857}&CRS=EPSG:3857&WIDTH=1000&HEIGHT=1000&LAYERS=RADAR_1KM_RDBR&TILED=true&FORMAT=image/png\"]}],\n        below: 'traces',\n        center: {lat: 38, lon: -90}, zoom: 4},\n    margin: {r: 0, t: 0, b: 0, l: 0},\n    showlegend: false};\n\nPlotly.newPlot('myDiv', data, layout);\n  });
    "},{"location":"examples/tile-map-layers/#dark-tiles","title":"dark-tiles","text":"
    var url = \"https://maplibre.org/maplibre-gl-js/docs/assets/significant-earthquakes-2015.geojson\";\n\nd3.json(url, (err, raw) => {\n  var lon = raw.features.map(f => f.geometry.coordinates[0]);\n  var lat = raw.features.map(f => f.geometry.coordinates[1]);\n  var z = raw.features.map(f => f.properties.mag);\n\n  var data = [\n    { type: \"scattermap\", lon: lon, lat: lat, z: z, hoverinfo: \"y\" }\n  ];\n\n  var layout = {\n    map: { style: \"dark\", zoom: 2, center: { lon: -150, lat: 60 } },\n    margin: { t: 0, b: 0 }\n  };\n\n  Plotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/tile-map-layers/#mapbox-maps-and-access-tokens","title":"mapbox-maps-and-access-tokens","text":"

    > Mapbox traces are deprecated and may be removed in a future version of Plotly.js.

    The word \"mapbox\" in the trace names and layout.mapbox refers to the Mapbox GL JS open-source library. If your basemap in layout.mapbox.style uses data from the Mapbox service, then you will need to register for a free account at https://mapbox.com/ and obtain a Mapbox Access token. If your basemap uses data from the Stadia Maps service (see below for details), you'll need to register for a Stadia Maps account and token.

    To use a token, provide it as mapboxAccessToken in the setPlotConfig function, or as a variable that would be passed as an argument of newPlot. If your layout.mapbox.style does not use data from the Mapbox service, you do not need to register for a Mapbox account.

    Base Maps in `layout.mapbox.style`

    The accepted values for layout.mapbox.style are one of the following tiles.

    1. `\"white-bg\"` yields an empty white canvas which results in no external HTTP requests
    2. `\"open-street-map\"`, `\"carto-positron\"`, or `\"carto-darkmatter\"` yield maps composed of *raster* tiles from various public tile servers which do not require signups or access tokens
    3. `\"stamen-terrain\"`, `\"stamen-toner\"` or `\"stamen-watercolor\"` yield maps composed of *raster* tiles from the [Stadia Maps service](https://stadiamaps.com/) and require a Stadia Maps account and token.
    4. `\"basic\"`, `\"streets\"`, `\"outdoors\"`, `\"light\"`, `\"dark\"`, `\"satellite\"`, or `\"satellite-streets\"` yield maps composed of *vector* tiles from the Mapbox service, and *do* require a Mapbox Access Token or an on-premise Mapbox installation.
    5. A Mapbox service style URL, which requires a Mapbox Access Token or an on-premise Mapbox installation.
    6. A Mapbox Style object as defined at https://docs.mapbox.com/mapbox-gl-js/style-spec/
    "},{"location":"examples/time-series/","title":"time-series","text":""},{"location":"examples/time-series/#date-strings","title":"date-strings","text":"
    var data = [\n  {\n    x: ['2013-10-04 22:23:00', '2013-11-04 22:23:00', '2013-12-04 22:23:00'],\n    y: [1, 3, 6],\n    type: 'scatter'\n  }\n];\n\nPlotly.newPlot('myDiv', data);
    "},{"location":"examples/time-series/#basic-time-series","title":"basic-time-series","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\n\nvar trace1 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  name: 'AAPL High',\n  x: unpack(rows, 'Date'),\n  y: unpack(rows, 'AAPL.High'),\n  line: {color: '#17BECF'}\n}\n\nvar trace2 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  name: 'AAPL Low',\n  x: unpack(rows, 'Date'),\n  y: unpack(rows, 'AAPL.Low'),\n  line: {color: '#7F7F7F'}\n}\n\nvar data = [trace1,trace2];\n\nvar layout = {\n  title: {\n    text: 'Date'\n  },\n};\n\nPlotly.newPlot('myDiv', data, layout);\n})
    "},{"location":"examples/time-series/#manually-set-range","title":"manually-set-range","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\n\nvar trace1 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  x: unpack(rows, 'Date'),\n  y: unpack(rows, 'AAPL.High'),\n  line: {color: '#17BECF'}\n}\n\nvar trace2 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  x: unpack(rows, 'Date'),\n  y: unpack(rows, 'AAPL.Low'),\n  line: {color: '#7F7F7F'}\n}\n\nvar data = [trace1,trace2];\n\nvar layout = {\n  title: {\n    text: 'Custom Range'\n  },\n  xaxis: {\n    range: ['2016-07-01', '2016-12-31'],\n    type: 'date'\n  },\n  yaxis: {\n    autorange: true,\n    range: [86.8700008333, 138.870004167],\n    type: 'linear'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n})
    "},{"location":"examples/time-series/#time-series-with-rangeslider","title":"time-series-with-rangeslider","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n}\n\n\nvar trace1 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  name: 'AAPL High',\n  x: unpack(rows, 'Date'),\n  y: unpack(rows, 'AAPL.High'),\n  line: {color: '#17BECF'}\n}\n\nvar trace2 = {\n  type: \"scatter\",\n  mode: \"lines\",\n  name: 'AAPL Low',\n  x: unpack(rows, 'Date'),\n  y: unpack(rows, 'AAPL.Low'),\n  line: {color: '#7F7F7F'}\n}\n\nvar data = [trace1,trace2];\n\nvar layout = {\n  title: {text: 'Time Series with Rangeslider'},\n  xaxis: {\n    autorange: true,\n    range: ['2015-02-17', '2017-02-16'],\n    rangeselector: {buttons: [\n        {\n          count: 1,\n          label: '1m',\n          step: 'month',\n          stepmode: 'backward'\n        },\n        {\n          count: 6,\n          label: '6m',\n          step: 'month',\n          stepmode: 'backward'\n        },\n        {step: 'all'}\n      ]},\n    rangeslider: {range: ['2015-02-17', '2017-02-16']},\n    type: 'date'\n  },\n  yaxis: {\n    autorange: true,\n    range: [86.8700008333, 138.870004167],\n    type: 'linear'\n  }\n};\n\nPlotly.newPlot('myDiv', data, layout);\n})
    "},{"location":"examples/treemaps/","title":"treemaps","text":""},{"location":"examples/treemaps/#basic-treemap","title":"basic-treemap","text":"

    Treemap charts visualize hierarchical data using nested rectangles. Same as Sunburst the hierarchy is defined by labels and parents attributes. Click on one sector to zoom in/out, which also displays a pathbar in the upper-left corner of your treemap. To zoom out you can use the path bar as well.

    data = [{\n      type: \"treemap\",\n      labels: [\"Eve\", \"Cain\", \"Seth\", \"Enos\", \"Noam\", \"Abel\", \"Awan\", \"Enoch\", \"Azura\"],\n      parents: [\"\", \"Eve\", \"Eve\", \"Seth\", \"Seth\", \"Eve\", \"Eve\", \"Awan\", \"Eve\" ]\n}]\n\nPlotly.newPlot('myDiv', data)
    "},{"location":"examples/treemaps/#set-different-attributes-in-treemap","title":"set-different-attributes-in-treemap","text":"

    This example uses the following attributes:

    1. [values](https://plotly.com/javascript/reference/treemap/#treemap-values): sets the values associated with each of the sectors.
    2. [textinfo](https://plotly.com/javascript/reference/treemap/#treemap-textinfo): determines which trace information appear on the graph that can be 'text', 'value', 'current path', 'percent root', 'percent entry', and 'percent parent', or any combination of them.
    3. [pathbar](https://plotly.com/javascript/reference/treemap/#treemap-pathbar): a main extra feature of treemap to display the current path of the visible portion of the hierarchical map. It may also be useful for zooming out of the graph.
    4. [branchvalues](https://plotly.com/javascript/reference/treemap/#treemap-branchvalues): determines how the items in `values` are summed. When set to \"total\", items in `values` are taken to be value of all its descendants. In the example below Eva = 65, which is equal to 14 + 12 + 10 + 2 + 6 + 6 + 1 + 4.

    When set to \"remainder\", items in values corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

    var labels = [\"Eve\", \"Cain\", \"Seth\", \"Enos\", \"Noam\", \"Abel\", \"Awan\", \"Enoch\", \"Azura\"]\nvar parents = [\"\", \"Eve\", \"Eve\", \"Seth\", \"Seth\", \"Eve\", \"Eve\", \"Awan\", \"Eve\"]\nvar data = [{\n      type: \"treemap\",\n      labels: labels,\n      parents: parents,\n      values:  [10, 14, 12, 10, 2, 6, 6, 1, 4],\n      textinfo: \"label+value+percent parent+percent entry\",\n      domain: {\"x\": [0, 0.48]},\n      outsidetextfont: {\"size\": 20, \"color\": \"#377eb8\"},\n      marker: {\"line\": {\"width\": 2}},\n      pathbar: {\"visible\": false}\n    },{\n      type: \"treemap\",\n      branchvalues: \"total\",\n      labels: labels,\n      parents: parents,\n      domain: {x: [0.52, 1]},\n      values: [65, 14, 12, 10, 2, 6, 6, 1, 4],\n      textinfo: \"label+value+percent parent+percent entry\",\n      outsidetextfont: {\"size\": 20, \"color\": \"#377eb8\"},\n      marker: {\"line\": {\"width\": 2}},\n      pathbar: {\"visible\": false}\n    }];\nvar layout = {\n  annotations: [{\n    showarrow: false,\n    text: \"branchvalues: <b>remainder</b>\",\n    x: 0.25,\n    xanchor: \"center\",\n    y: 1.1,\n    yanchor: \"bottom\"\n    }, {\n    showarrow: false,\n    text: \"branchvalues: <b>total</b>\",\n    x: 0.75,\n    xanchor: \"center\",\n    y: 1.1,\n    yanchor: \"bottom\"\n    }]}\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/treemaps/#set-color-of-treemap-sectors","title":"set-color-of-treemap-sectors","text":"

    There are three different ways to change the color of the sectors in Treemap: 1) marker.colors, 2) colorway, 3) colorscale. The following examples show how to use each of them.

    var labels = [\"A1\", \"A2\", \"A3\", \"A4\", \"A5\", \"B1\", \"B2\"];\nvar parents = [\"\", \"A1\", \"A2\", \"A3\", \"A4\", \"\", \"B1\"];\nvar data = [{\n  type: 'treemap',\n  labels: labels,\n  parents: parents,\n  marker: {colors: [\"pink\", \"royalblue\", \"lightgray\", \"purple\", \"cyan\", \"lightgray\", \"lightblue\"]}\n}]\n\nPlotly.newPlot('myDiv', data)
    "},{"location":"examples/treemaps/","title":"","text":"

    This example uses treemapcolorway attribute, which should be set in layout.

    var labels = [\"A1\", \"A2\", \"A3\", \"A4\", \"A5\", \"B1\", \"B2\"];\nvar parents = [\"\", \"A1\", \"A2\", \"A3\", \"A4\", \"\", \"B1\"];\nvar data = [{\n  type: 'treemap',\n  labels: labels,\n  parents: parents\n}]\nvar layout = {treemapcolorway: [\"pink\", \"lightgray\"]}\n\nPlotly.newPlot('myDiv', data, layout)
    "},{"location":"examples/treemaps/","title":"","text":"

    This example uses marker.colorscale to change the sector's color.

    var values = [\"11\", \"12\", \"13\", \"14\", \"15\", \"20\", \"30\"]\nvar labels = [\"A1\", \"A2\", \"A3\", \"A4\", \"A5\", \"B1\", \"B2\"]\nvar parents = [\"\", \"A1\", \"A2\", \"A3\", \"A4\", \"\", \"B1\"]\n\nvar data = [{\n  type: 'treemap',\n  values: values,\n  labels: labels,\n  parents: parents,\n  marker: {colorscale: 'Blues'}\n}]\n\nPlotly.newPlot('myDiv', data)
    "},{"location":"examples/treemaps/#nested-layers-in-treemap","title":"nested-layers-in-treemap","text":"

    The following example uses hierarchical data that includes layers and grouping. Treemap and Sunburst charts reveal insights into the data, and the format of your hierarchical data. maxdepth attribute sets the number of rendered sectors from the given level.

    d3.csv('https://raw.githubusercontent.com/plotly/datasets/master/coffee-flavors.csv', function(err, rows){\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]});\n}\n\nvar data = [{\n      type: \"treemap\",\n      ids: unpack(rows, 'ids'),\n      labels: unpack(rows, 'labels'),\n      parents: unpack(rows, 'parents')\n    }];\n\nPlotly.newPlot('myDiv', data);\n})
    "},{"location":"examples/trisurf/","title":"trisurf","text":""},{"location":"examples/trisurf/#basic-trisurf-plot","title":"basic-trisurf-plot","text":"
    function trisurf(Tri, X, Y, Z, C) {\n  var data = {\n    type: 'mesh3d',\n    x: X,\n    y: Y,\n    z: Z,\n    i: Tri.map(function(f) { return f[0] }),\n    j: Tri.map(function(f) { return f[1] }),\n    k: Tri.map(function(f) { return f[2] }),\n    facecolor: C,\n    flatshading: true,\n  }\n\n  Plotly.newPlot('myDiv', [data])\n}\n\n\n//Example usage\ntrisurf(\n  [\n    [0, 1, 2],\n    [0, 2, 3],\n    [0, 3, 1],\n    [1, 2, 3]\n  ], \n  [0, 1, 0, 0],\n  [0, 0, 1, 0],\n  [0, 0, 0, 1],\n  [ \n    'rgb(0, 0, 0)',\n    'rgb(255, 0, 0)',\n    'rgb(0, 255, 0)',\n    'rgb(0, 0, 255)'\n  ])
    "},{"location":"examples/trisurf/#trisurf-cube","title":"trisurf-cube","text":"
    var x = [0, 0, 1, 1, 0, 0, 1, 1]\nvar y = [0, 1, 1, 0, 0, 1, 1, 0]\nvar z = [0, 0, 0, 0, 1, 1, 1, 1]\nvar i = [7, 0, 0, 0, 4, 4, 2, 6, 4, 0, 3, 7]\nvar j = [3, 4, 1, 2, 5, 6, 5, 5, 0, 1, 2, 2]\nvar k = [0, 7, 2, 3, 6, 7, 1, 2, 5, 5, 7, 6]\n\nvar facecolor = [\n    'rgb(50, 200, 200)',\n    'rgb(100, 200, 255)',\n    'rgb(150, 200, 115)',\n    'rgb(200, 200, 50)',\n    'rgb(230, 200, 10)',\n    'rgb(255, 140, 0)'\n]\n\nfacecolor2 = new Array(facecolor.length * 2);\n\nfacecolor.forEach(function(x, i) {\n    facecolor2[i * 2 + 1] = facecolor2[i * 2] = x;\n});\n\nvar data = {\n    x: x,\n    y: y,\n    z: z,\n    i: i,\n    j: j,\n    k: k,\n    facecolor: facecolor2,\n    type: 'mesh3d'\n}\n\nPlotly.newPlot('myDiv', [data])
    "},{"location":"examples/trisurf/#extending-the-cube-example-for-boxes","title":"extending-the-cube-example-for-boxes","text":"
    // Note x, y, z define the vertices for a unit cube\n\nvar x = [0, 0, 1, 1, 0, 0, 1, 1];\nvar y = [0, 1, 1, 0, 0, 1, 1, 0];\nvar z = [0, 0, 0, 0, 1, 1, 1, 1];\nvar i = [7, 0, 0, 0, 4, 4, 2, 6, 4, 0, 3, 7];\nvar j = [3, 4, 1, 2, 5, 6, 5, 5, 0, 1, 2, 2];\nvar k = [0, 7, 2, 3, 6, 7, 1, 2, 5, 5, 7, 6];\n\nvar range_x = [-2, 2];\nvar range_y = [-3, 3];\nvar range_z = [-1, 1];\n\nfunction rectangle(x, y, z, range_x, range_y, range_z) {\n\n  if (range_x.length !== 2 || range_y.length !== 2 || range_z.length !== 2) {\n    throw 'Ranges must contain 2 values';\n  }\n    // we will forego other checks for to limit the length of the example\n    x = x.map(function(e, i) {\n    return range_x[e];\n  });\n\n  y = y.map(function(e, i) {\n    return range_y[e];\n  });\n\n  z = z.map(function(e, i) {\n    return range_z[e];\n  });\n\n    return {x: x, y: y, z: z};\n}\n\nresult = rectangle(x, y, z, range_x, range_y, range_z);\n\n// x, y, z now represent the vertices for the rectangular box with\n// the ranges specified above\nx = result.x;\ny = result.y;\nz = result.z;\n\nvar facecolor = [\n    'rgb(50, 200, 200)',\n    'rgb(100, 200, 255)',\n    'rgb(150, 200, 115)',\n    'rgb(200, 200, 50)',\n    'rgb(230, 200, 10)',\n    'rgb(255, 140, 0)'\n];\n\nfacecolor2 = new Array(facecolor.length * 2);\nfacecolor.forEach(function(x, i) {\n    facecolor2[i * 2 + 1] = facecolor2[i * 2] = x;\n});\n\nvar data = {\n    x: x,\n    y: y,\n    z: z,\n    i: i,\n    j: j,\n    k: k,\n    facecolor: facecolor2,\n    type: 'mesh3d'\n};\n\nPlotly.newPlot('myDiv', [data]);
    "},{"location":"examples/uirevision/","title":"uirevision","text":""},{"location":"examples/uirevision/#persist-user-changes","title":"persist-user-changes","text":"

    Adding a uirevision attribute and then keeping it the same during the next call to Plotly.react ensures that user interactions persist.

    const rand = () => Math.random();\nvar x = [1, 2, 3, 4, 5];\nconst new_data = (trace) => Object.assign(trace, {y: x.map(rand)});\n\n// add random data to three line traces\nvar data = [\n    {mode:'lines', line: {color: \"#b55400\"}},\n    {mode: 'lines', line: {color: \"#393e46\"}},\n    {mode: 'lines', line: {color: \"#222831\"}}\n].map(new_data);\n\nvar layout = {\n    title: {text: 'User Zoom Persists<br>When uirevision Unchanged'},\n    uirevision:'true',\n    xaxis: {autorange: true},\n    yaxis: {autorange: true}\n};\n\nPlotly.react('myDiv', data, layout);\n\nvar myPlot = document.getElementById('myDiv');\n\nvar cnt = 0;\nvar interval = setInterval(function() {\n    data = data.map(new_data);\n\n    // user interaction will mutate layout and set autorange to false\n    // so we need to reset it to true\n    layout.xaxis.autorange = true;\n    layout.yaxis.autorange = true;\n\n    // not changing uirevision will ensure that user interactions are unchanged\n    // layout.uirevision = rand();\n\n    Plotly.react('myDiv', data, layout);\n    if(cnt === 100) clearInterval(interval);\n}, 2500);
    "},{"location":"examples/uirevision/#reset-user-changes","title":"reset-user-changes","text":"

    Changing the uirevision attribute during a Plotly.react call will reset previous user interactions in the updated plot.

    const rand = () => Math.random();\nvar x = [1, 2, 3, 4, 5];\nconst new_data = (trace) => Object.assign(trace, {y: x.map(rand)});\n\n// add random data to three line traces\nvar data = [\n    {mode:'lines', line: {color: \"#b55400\"}},\n    {mode: 'lines', line: {color: \"#393e46\"}},\n    {mode: 'lines', line: {color: \"#222831\"}}\n].map(new_data);\n\nvar layout = {\n    title: {text: 'User Zoom Resets<br>When uirevision Changes'},\n    uirevision:'true',\n    xaxis: {autorange: true},\n    yaxis: {autorange: true}\n};\n\nPlotly.react('myDiv', data, layout);\n\nvar myPlot = document.getElementById('myDiv');\n\nvar cnt = 0;\nvar interval = setInterval(function() {\n    data = data.map(new_data);\n\n    // user interaction will mutate layout and set autorange to false\n    // so we need to reset it to true\n    layout.xaxis.autorange = true;\n    layout.yaxis.autorange = true;\n\n    // a new random number should ensure that uirevision will be different\n    // and so the graph will autorange after the Plotly.react\n    layout.uirevision = rand();\n\n    Plotly.react('myDiv', data, layout);\n  if(cnt === 100) clearInterval(interval);\n}, 2500);
    "},{"location":"examples/violin/","title":"violin","text":""},{"location":"examples/violin/#basic-violin-plot","title":"basic-violin-plot","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n  }\n\nvar data = [{\n  type: 'violin',\n  y: unpack(rows, 'total_bill'),\n  points: 'none',\n  box: {\n    visible: true\n  },\n  boxpoints: false,\n  line: {\n    color: 'black'\n  },\n  fillcolor: '#8dd3c7',\n  opacity: 0.6,\n  meanline: {\n    visible: true\n  },\n  x0: \"Total Bill\"\n}]\n\nvar layout = {\n  title: {\n    text: \"\"\n  },\n  yaxis: {\n    zeroline: false\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/violin/#grouped-violin-plot","title":"grouped-violin-plot","text":"
    // need to fix data\n\nd3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n  }\n\nvar data = [{\n  type: 'violin',\n  x: unpack(rows, 'day'),\n  y: unpack(rows, 'total_bill'),\n  legendgroup: 'M',\n  scalegroup: 'M',\n  name: 'M',\n  box: {\n    visible: true\n  },\n  line: {\n    color: 'blue',\n  },\n  meanline: {\n    visible: true\n  }\n}, {\n  type: 'violin',\n  x: unpack(rows, 'day'),\n  y: unpack(rows, 'total_bill'),\n  legendgroup: 'F',\n  scalegroup: 'F',\n  name: 'F',\n  box: {\n    visible: true\n  },\n  line: {\n    color: 'pink',\n  },\n  meanline: {\n    visible: true\n  }\n}]\n\nvar layout = {\n  title: {\n    text: \"Grouped Violin Plot\"\n  },\n  yaxis: {\n    zeroline: false\n  },\n  violinmode: 'group'\n}\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/violin/#horizontal-violin-plot","title":"horizontal-violin-plot","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n  }\n\nvar data = [{\n  type: 'violin',\n  x: unpack(rows, 'total_bill'),\n  points: 'none',\n  box: {\n    visible: true\n  },\n  boxpoints: false,\n  line: {\n    color: 'black'\n  },\n  fillcolor: '#8dd3c7',\n  opacity: 0.6,\n  meanline: {\n    visible: true\n  },\n  y0: \"Total Bill\"\n}]\n\nvar layout = {\n  title: {\n    text: \"Basic Horizontal Violin Plot\"\n  },\n  xaxis: {\n    zeroline: false\n  }\n}\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/violin/#split-violin-plot","title":"split-violin-plot","text":"
    d3.csv(\"https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv\", function(err, rows){\n\n  function unpack(rows, key) {\n  return rows.map(function(row) { return row[key]; });\n  }\n\nvar data = [{\n  type: 'violin',\n  x: unpack(rows, 'day'),\n  y: unpack(rows, 'total_bill'),\n  legendgroup: 'Yes',\n  scalegroup: 'Yes',\n  name: 'Yes',\n  side: 'negative',\n  box: {\n    visible: true\n  },\n  line: {\n    color: 'blue',\n    width: 2\n  },\n  meanline: {\n    visible: true\n  }\n}, {\n  type: 'violin',\n  x: unpack(rows, 'day'),\n  y: unpack(rows, 'total_bill'),\n  legendgroup: 'No',\n  scalegroup: 'No',\n  name: 'No',\n  side: 'positive',\n  box: {\n    visible: true\n  },\n  line: {\n    color: 'green',\n    width: 2\n  },\n  meanline: {\n    visible: true\n  }\n}]\n\nvar layout = {\n  title: {\n    text: \"Split Violin Plot\"\n  },\n  yaxis: {\n    zeroline: false\n  },\n  violingap: 0,\n  violingroupgap: 0,\n  violinmode: \"overlay\",\n}\n\nPlotly.newPlot('myDiv', data, layout);\n});
    "},{"location":"examples/violin/#advanced-violin-plot","title":"advanced-violin-plot","text":"
    var trace1 = {\n            text: \"sample length: 32\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"F\",\n            scalegroup: \"F\",\n            points: \"all\",\n            pointpos: 1,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#bebada\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: false,\n            side: \"positive\",\n            type: \"violin\",\n            name: \"F\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#bebada\"\n            },\n            y0: \"Thursday\",\n            x: [\n                10.07,\n                34.83,\n                10.65,\n                12.43,\n                24.08,\n                13.42,\n                12.48,\n                29.8,\n                14.52,\n                11.38,\n                20.27,\n                11.17,\n                12.26,\n                18.26,\n                8.51,\n                10.33,\n                14.15,\n                13.16,\n                17.47,\n                27.05,\n                16.43,\n                8.35,\n                18.64,\n                11.87,\n                19.81,\n                43.11,\n                13.0,\n                12.74,\n                13.0,\n                16.4,\n                16.47,\n                18.78\n            ],\n            orientation: \"h\"\n        }\n\n\nvar trace2 = {\n            text: \"sample length: 30\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"M\",\n            scalegroup: \"M\",\n            points: \"all\",\n            pointpos: -0.6,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#8dd3c7\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: false,\n            side: \"negative\",\n            type: \"violin\",\n            name: \"M\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#8dd3c7\"\n            },\n            y0: \"Thursday\",\n            x: [\n                27.2,\n                22.76,\n                17.29,\n                19.44,\n                16.66,\n                32.68,\n                15.98,\n                13.03,\n                18.28,\n                24.71,\n                21.16,\n                11.69,\n                14.26,\n                15.95,\n                8.52,\n                22.82,\n                19.08,\n                16.0,\n                34.3,\n                41.19,\n                9.78,\n                7.51,\n                28.44,\n                15.48,\n                16.58,\n                7.56,\n                10.34,\n                13.51,\n                18.71,\n                20.53\n            ],\n            orientation: \"h\"\n        }\n\nvar trace3 = {\n            text: \"sample length: 9\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"F\",\n            scalegroup: \"F\",\n            points: \"all\",\n            pointpos: 0.4,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#bebada\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: false,\n            side: \"positive\",\n            type: \"violin\",\n            name: \"F\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#bebada\"\n            },\n            y0: \"Friday\",\n            x: [\n                5.75,\n                16.32,\n                22.75,\n                11.35,\n                15.38,\n                13.42,\n                15.98,\n                16.27,\n                10.09\n            ],\n            orientation: \"h\"\n        }\n\n\nvar trace4= {\n            text: \"sample length: 10\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"M\",\n            scalegroup: \"M\",\n            points: \"all\",\n            pointpos: -0.3,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#8dd3c7\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: false,\n            side: \"negative\",\n            type: \"violin\",\n            name: \"M\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#8dd3c7\"\n            },\n            y0: \"Friday\",\n            x: [\n                28.97,\n                22.49,\n                40.17,\n                27.28,\n                12.03,\n                21.01,\n                12.46,\n                12.16,\n                8.58,\n                13.42\n            ],\n            orientation: \"h\"\n        }\n\nvar trace5 = {\n            text: \"sample length: 28\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"F\",\n            scalegroup: \"F\",\n            points: \"all\",\n            pointpos: 0.55,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#bebada\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: true,\n            side: \"positive\",\n            type: \"violin\",\n            name: \"F\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#bebada\"\n            },\n            y0: \"Saturday\",\n            x: [\n                20.29,\n                15.77,\n                19.65,\n                15.06,\n                20.69,\n                16.93,\n                26.41,\n                16.45,\n                3.07,\n                17.07,\n                26.86,\n                25.28,\n                14.73,\n                44.3,\n                22.42,\n                20.92,\n                14.31,\n                7.25,\n                10.59,\n                10.63,\n                12.76,\n                13.27,\n                28.17,\n                12.9,\n                30.14,\n                22.12,\n                35.83,\n                27.18\n            ],\n            orientation: \"h\"\n        }\n\nvar trace4 = {\n            text: \"sample length: 59\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"M\",\n            scalegroup: \"M\",\n            points: \"all\",\n            pointpos: -1.1,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#8dd3c7\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: true,\n            side: \"negative\",\n            type: \"violin\",\n            name: \"M\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#8dd3c7\"\n            },\n            y0: \"Saturday\",\n            x: [\n                20.65,\n                17.92,\n                39.42,\n                19.82,\n                17.81,\n                13.37,\n                12.69,\n                21.7,\n                9.55,\n                18.35,\n                17.78,\n                24.06,\n                16.31,\n                18.69,\n                31.27,\n                16.04,\n                38.01,\n                11.24,\n                48.27,\n                20.29,\n                13.81,\n                11.02,\n                18.29,\n                17.59,\n                20.08,\n                20.23,\n                15.01,\n                12.02,\n                10.51,\n                17.92,\n                15.36,\n                20.49,\n                25.21,\n                18.24,\n                14.0,\n                50.81,\n                15.81,\n                26.59,\n                38.73,\n                24.27,\n                30.06,\n                25.89,\n                48.33,\n                28.15,\n                11.59,\n                7.74,\n                20.45,\n                13.28,\n                24.01,\n                15.69,\n                11.61,\n                10.77,\n                15.53,\n                10.07,\n                12.6,\n                32.83,\n                29.03,\n                22.67,\n                17.82\n            ],\n            orientation: \"h\"\n        }\n\nvar trace6 = {\n            text: \"sample length: 18\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"F\",\n            scalegroup: \"F\",\n            points: \"all\",\n            pointpos: 0.45,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#bebada\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: false,\n            side: \"positive\",\n            type: \"violin\",\n            name: \"F\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#bebada\"\n            },\n            y0: \"Sunday\",\n            x: [\n                16.99,\n                24.59,\n                35.26,\n                14.83,\n                10.33,\n                16.97,\n                10.29,\n                34.81,\n                25.71,\n                17.31,\n                29.85,\n                25.0,\n                13.39,\n                16.21,\n                17.51,\n                9.6,\n                20.9,\n                18.15\n            ],\n            orientation: \"h\"\n        }\n\nvar trace7 = {\n            text: \"sample length: 58\",\n            hoveron: \"points+kde\",\n            meanline: {\n                visible: true\n            },\n            legendgroup: \"M\",\n            scalegroup: \"M\",\n            points: \"all\",\n            pointpos: -0.9,\n            box: {\n                visible: true\n            },\n            jitter: 0,\n            scalemode: \"count\",\n            marker: {\n                line: {\n                    width: 2,\n                    color: \"#8dd3c7\"\n                },\n                symbol: \"line-ns\"\n            },\n            showlegend: false,\n            side: \"negative\",\n            type: \"violin\",\n            name: \"M\",\n            span: [\n                0\n            ],\n            line: {\n                color: \"#8dd3c7\"\n            },\n            y0: \"Sunday\",\n            x: [\n                10.34,\n                21.01,\n                23.68,\n                25.29,\n                8.77,\n                26.88,\n                15.04,\n                14.78,\n                10.27,\n                15.42,\n                18.43,\n                21.58,\n                16.29,\n                17.46,\n                13.94,\n                9.68,\n                30.4,\n                18.29,\n                22.23,\n                32.4,\n                28.55,\n                18.04,\n                12.54,\n                9.94,\n                25.56,\n                19.49,\n                38.07,\n                23.95,\n                29.93,\n                14.07,\n                13.13,\n                17.26,\n                24.55,\n                19.77,\n                48.17,\n                16.49,\n                21.5,\n                12.66,\n                13.81,\n                24.52,\n                20.76,\n                31.71,\n                7.25,\n                31.85,\n                16.82,\n                32.9,\n                17.89,\n                14.48,\n                34.63,\n                34.65,\n                23.33,\n                45.35,\n                23.17,\n                40.55,\n                20.69,\n                30.46,\n                23.1,\n                15.69\n            ],\n            orientation: \"h\"\n        }\n\nvar data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7]\n\nvar layout = {\n        hovermode: \"closest\",\n        width: 400,\n        yaxis: {\n            showgrid: true\n        },\n        title: {\n            text: \"Total bill distribution<br><i>scaled by number of bills per gender\"\n        },\n        legend: {\n            tracegroupgap: 0\n        },\n        violingap: 0,\n        violingroupgap: 0,\n        violinmode: \"overlay\",\n        height: 700\n    }\n\nPlotly.newPlot(\"myDiv\", data, layout)
    "},{"location":"examples/waterfall-charts/","title":"waterfall-charts","text":""},{"location":"examples/waterfall-charts/#basic-waterfall-chart","title":"basic-waterfall-chart","text":"
    var data = [\n        {\n            name: \"2018\",\n            type: \"waterfall\",\n            orientation: \"v\",\n            measure: [\n                \"relative\",\n                \"relative\",\n                \"total\",\n                \"relative\",\n                \"relative\",\n                \"total\"\n            ],\n            x: [\n                \"Sales\",\n                \"Consulting\",\n                \"Net revenue\",\n                \"Purchases\",\n                \"Other expenses\",\n                \"Profit before tax\"\n            ],\n            textposition: \"outside\",\n            text: [\n                \"+60\",\n                \"+80\",\n                \"\",\n                \"-40\",\n                \"-20\",\n                \"Total\"\n            ],          \n            y: [\n                60,\n                80,\n                0,\n                -40,\n                -20,\n                0\n            ],\n            connector: {\n              line: {\n                color: \"rgb(63, 63, 63)\"\n              }\n            },\n        }\n    ];\n layout = {\n        title: {\n            text: \"Profit and loss statement 2018\"\n        },\n        xaxis: {\n            type: \"category\"\n        },\n        yaxis: {\n            type: \"linear\"\n        },\n        autosize: true,\n        showlegend: true\n    };\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/waterfall-charts/#multi-category-waterfall-chart","title":"multi-category-waterfall-chart","text":"
    var gd = document.getElementById('myDiv');\nvar data = [\n    {\n      type: \"waterfall\",\n      x: [\n        [\"2016\", \"2017\", \"2017\", \"2017\", \"2017\", \"2018\", \"2018\", \"2018\", \"2018\"],\n        [\"initial\", \"q1\", \"q2\", \"q3\", \"total\", \"q1\", \"q2\", \"q3\", \"total\" ]\n      ],\n      measure: [\"absolute\", \"relative\", \"relative\", \"relative\", \"total\", \"relative\", \"relative\", \"relative\", \"total\"],\n      y: [1, 2, 3, -1, null, 1, 2, -4, null],\n      base: 1000\n    },\n    {\n      type: \"waterfall\",\n      x: [\n        [\"2016\", \"2017\", \"2017\", \"2017\", \"2017\", \"2018\", \"2018\", \"2018\", \"2018\"],\n        [\"initial\", \"q1\", \"q2\", \"q3\", \"total\", \"q1\", \"q2\", \"q3\", \"total\" ]\n      ],\n      measure: [\"absolute\", \"relative\", \"relative\", \"relative\", \"total\", \"relative\", \"relative\", \"relative\", \"total\"],\n      y: [1.1, 2.2, 3.3, -1.1, null, 1.1, 2.2, -4.4, null],\n      base: 1000\n    }\n  ];\nvar layout = {\n    waterfallgroupgap : 0.5,\n    xaxis: {\n      title: {\n        text: \"MULTI-CATEGORY\",\n      },\n      tickfont: {size: 16},\n      ticks: \"outside\"\n    }\n  }\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/waterfall-charts/#horizontal-waterfall-chart","title":"horizontal-waterfall-chart","text":"
    var gd = document.getElementById('myDiv');\nvar data = [\n        {\n            name: \"2018\",\n            type: \"waterfall\",\n            orientation: \"h\",\n            measure: [\n                \"relative\",\n                \"relative\",\n                \"relative\",\n                \"relative\",\n                \"total\",\n                \"relative\",\n                \"relative\",\n                \"relative\",\n                \"relative\",\n                \"total\",\n                \"relative\",\n                \"relative\",\n                \"total\",\n                \"relative\",\n                \"total\"\n            ],\n            y: [\n                \"Sales\",\n                \"Consulting\",\n                \"Maintenance\",\n                \"Other revenue\",\n                \"Net revenue\",\n                \"Purchases\",\n                \"Material expenses\",\n                \"Personnel expenses\",\n                \"Other expenses\",\n                \"Operating profit\",\n                \"Investment income\",\n                \"Financial income\",\n                \"Profit before tax\",\n                \"Income tax (15%)\",\n                \"Profit after tax\"\n            ],\n            x: [\n                375,\n                128,\n                78,\n                27,\n                null,\n                -327,\n                -12,\n                -78,\n                -12,\n                null,\n                32,\n                89,\n                null,\n                -45,\n                null\n            ],\n            connector: {\n                mode: \"between\",\n                line: {\n                    width: 4,\n                    color: \"rgb(0, 0, 0)\",\n                    dash: 0\n                }\n            }\n        }\n    ];\nvar layout = {title: {\n            text: \"Profit and loss statement 2018<br>waterfall chart displaying positive and negative\"\n        },\n        yaxis: {\n            type: \"category\",\n            autorange: \"reversed\"\n        },\n        xaxis: {\n            type: \"linear\"\n        },\n        margin: { l: 150 },\n        showlegend: true\n    }\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/waterfall-charts/#style-waterfall-chart","title":"style-waterfall-chart","text":"
    var gd = document.getElementById('myDiv');\nvar data = [\n    {\n      type: \"waterfall\",\n      x: [\n        [\"2016\", \"2017\", \"2017\", \"2017\", \"2017\", \"2018\", \"2018\", \"2018\", \"2018\"],\n        [\"initial\", \"q1\", \"q2\", \"q3\", \"total\", \"q1\", \"q2\", \"q3\", \"total\" ]\n      ],\n      measure: [\"absolute\", \"relative\", \"relative\", \"relative\", \"total\", \"relative\", \"relative\", \"relative\", \"total\"],\n      y: [10, 20, 30, -10, null, 10, 20, -40, null],\n      base: 300,\n    decreasing: { marker: { color: \"Maroon\" , line:{color : \"red\", width :2}}},\n    increasing: { marker: { color: \"Teal\"} },\n    totals: { marker: { color: \"deep sky blue\", line:{color:'blue',width:3}} }\n    }];\nvar layout = {title: {\n            text: \"Profit and loss statement\"\n        },\n    waterfallgap : 0.3,\n    xaxis: {\n      title: { text: \"\"},\n      tickfont: {size: 15},\n      ticks: \"outside\"\n    }\n  }\nPlotly.newPlot('myDiv', data, layout);
    "},{"location":"examples/webgl-vs-svg/","title":"webgl-vs-svg","text":""},{"location":"examples/webgl-vs-svg/#webgl-with-100000-points","title":"webgl-with-100000-points","text":"
    function gaussianRand() {\n  var rand = 0;\n  for (var i = 0; i < 6; i += 1) {\n    rand += Math.random();\n  }\n  return (rand / 6)-0.5;\n}\n\nvar X = [],\n    Y = [],\n    n = 100000,\n    i;\n\nfor (i = 0; i < n; i += 1) {\n  X.push(gaussianRand());\n  Y.push(gaussianRand());\n}\n\nvar data = [{\n    type: \"scattergl\",\n    mode: \"markers\",\n    marker: {\n        line: {\n            width: 1,\n            color: '#404040'}\n    },\n    x: X,\n    y: Y\n}]\n\nPlotly.newPlot('myDiv', data)
    "},{"location":"examples/webgl-vs-svg/#webgl-with-1-million-points","title":"webgl-with-1-million-points","text":"
    function gaussianRand() {\n  var rand = 0;\n  for (var i = 0; i < 6; i += 1) {\n    rand += Math.random();\n  }\n  return (rand / 6)-0.5;\n}\n\nvar X = [],\n    Y = [],\n    n = 1000000,\n    i;\n\nfor (i = 0; i < n; i += 1) {\n  X.push(gaussianRand());\n  Y.push(gaussianRand());\n}\n\nvar data = [{\n    type: \"scattergl\",\n    mode: \"markers\",\n    marker: {\n        color : 'rgb(152, 0, 0)',\n        line: {\n            width: 1,\n            color: 'rgb(0,0,0)'}\n    },\n    x: X,\n    y: Y\n}]\n\nPlotly.newPlot('myDiv', data)
    "},{"location":"examples/webgl-vs-svg/#webgl-with-many-traces","title":"webgl-with-many-traces","text":"
    function gaussianRand() {\n  var rand = 0;\n  for (var i = 0; i < 6; i += 1) {\n    rand += Math.random();\n  }\n  return (rand / 6)-0.5;\n}\n\n\nvar start_value = 0,\n     stop_value = 1,\n     point_num = 5000,\n     trace_num = 10;\nvar curr_value = start_value;\nvar step = (stop_value - start_value) / (point_num - 1);\n\nvar data = [];\nfor (var j = 0; j < trace_num; j++) {\n    var X = [],\n         Y = [];\n    for (var i = 0; i < point_num; i++) {\n        X.push(curr_value + (step * i));\n        Y.push((gaussianRand()*8)+(j*5));\n    }\n    data.push({\n        type: \"scattergl\",\n        mode: \"line\",\n        x: X,\n        y: Y\n    })\n}\nvar layout = {showlegend: false}\nPlotly.newPlot('myDiv', data = data, layout = layout)
    "},{"location":"examples/wind-rose-charts/","title":"wind-rose-charts","text":""},{"location":"examples/wind-rose-charts/#wind-rose-chart","title":"wind-rose-chart","text":"
    var data = [{\n    r: [77.5, 72.5, 70.0, 45.0, 22.5, 42.5, 40.0, 62.5],\n    theta: [\"North\", \"N-E\", \"East\", \"S-E\", \"South\", \"S-W\", \"West\", \"N-W\"],\n    name: \"11-14 m/s\",\n    marker: {color: \"rgb(106,81,163)\"},\n    type: \"barpolar\"\n  }, {\n    r: [57.5, 50.0, 45.0, 35.0, 20.0, 22.5, 37.5, 55.0],\n    theta: [\"North\", \"N-E\", \"East\", \"S-E\", \"South\", \"S-W\", \"West\", \"N-W\"],\n    name: \"8-11 m/s\",\n    marker: {color: \"rgb(158,154,200)\"},\n    type: \"barpolar\"\n  }, {\n    r: [40.0, 30.0, 30.0, 35.0, 7.5, 7.5, 32.5, 40.0],\n    theta: [\"North\", \"N-E\", \"East\", \"S-E\", \"South\", \"S-W\", \"West\", \"N-W\"],\n    name: \"5-8 m/s\",\n    marker: {color: \"rgb(203,201,226)\"},\n    type: \"barpolar\"\n  }, {\n    r: [20.0, 7.5, 15.0, 22.5, 2.5, 2.5, 12.5, 22.5],\n    theta: [\"North\", \"N-E\", \"East\", \"S-E\", \"South\", \"S-W\", \"West\", \"N-W\"],\n    name: \"< 5 m/s\",\n    marker: {color: \"rgb(242,240,247)\"},\n    type: \"barpolar\"\n  }]\nvar layout = {\n    title: {\n      text: \"Wind Speed Distribution in Laurel, NE\"\n    },\n    font: {size: 16},\n    legend: {font: {size: 16}},\n    polar: {\n      barmode: \"overlay\",\n      bargap: 0,\n      radialaxis: {ticksuffix: \"%\", angle: 45, dtick: 20},\n      angularaxis: {direction: \"clockwise\"}\n    }\n  }\n\nPlotly.newPlot(\"myDiv\", data, layout)
    "},{"location":"examples/zoom-events/","title":"zoom-events","text":""},{"location":"examples/zoom-events/#binding-to-zoom-events","title":"binding-to-zoom-events","text":"
    var graphDiv = document.getElementById('myDiv');\n\nvar N = 40,\n    x = d3.range(N),\n    y = d3.range(N).map( d3.random.normal() ),\n    data = [ { x:x, y:y } ];\n    layout = { title: {text: 'Click-drag to zoom' }};\n\nPlotly.newPlot(graphDiv, data, layout);\n\ngraphDiv.on('plotly_relayout',\n    function(eventdata){\n        alert( 'ZOOM!' + '\\n\\n' +\n            'Event data:' + '\\n' +\n             JSON.stringify(eventdata) + '\\n\\n' +\n            'x-axis start:' + eventdata['xaxis.range[0]'] + '\\n' +\n            'x-axis end:' + eventdata['xaxis.range[1]'] );\n    });
    "},{"location":"reference/SUMMARY/","title":"SUMMARY","text":"
    • bar
    • barpolar
    • box
    • candlestick
    • carpet
    • choropleth
    • choroplethmap
    • choroplethmapbox
    • cone
    • contour
    • contourcarpet
    • densitymap
    • densitymapbox
    • funnel
    • funnelarea
    • heatmap
    • histogram
    • histogram2d
    • histogram2dcontour
    • icicle
    • image
    • indicator
    • isosurface
    • layout
    • mesh3d
    • ohlc
    • parcats
    • parcoords
    • pie
    • sankey
    • scatter
    • scatter3d
    • scattercarpet
    • scattergeo
    • scattergl
    • scattermap
    • scattermapbox
    • scatterpolar
    • scatterpolargl
    • scattersmith
    • scatterternary
    • splom
    • streamtube
    • sunburst
    • surface
    • table
    • treemap
    • violin
    • volume
    • waterfall
    "},{"location":"reference/bar/","title":"bar","text":"A bar trace is an object with the key \"type\" equal to \"bar\" (i.e. {\"type\": \"bar\"}) and any of the keys listed below. The data visualized by the span of the bars is set in `y` if `orientation` is set to \"v\" (the default) and the labels are set in `x`. By setting `orientation` to \"h\", the roles are interchanged.
    • alignmentgroup Parent: data[type=bar] Type: string

      Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    • base Parent: data[type=bar] Type: number or categorical coordinate string

      Sets where the bar base is drawn (in position axis units). In \"stack\" or \"relative\" barmode, traces that set \"base\" will be excluded and drawn in \"overlay\" mode instead.

    • cliponaxis Parent: data[type=bar] Type: boolean Default: true

      Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • constraintext Parent: data[type=bar] Type: enumerated , one of ( \"inside\"| \"outside\"| \"both\"| \"none\" ) Default: \"both\"

      Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    • customdata Parent: data[type=bar] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=bar] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • dy Parent: data[type=bar] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • error_x Parent: data[type=bar] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=bar].error_x Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=bar].error_x Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=bar].error_x Type: color

        Sets the stroke color of the error bars.

      • copy_ystyle Parent: data[type=bar].error_x Type: boolean
      • symmetric Parent: data[type=bar].error_x Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=bar].error_x Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=bar].error_x Type: integer
      • tracerefminus Parent: data[type=bar].error_x Type: integer
      • type Parent: data[type=bar].error_x Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=bar].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=bar].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=bar].error_x Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=bar].error_x Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • error_y Parent: data[type=bar] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=bar].error_y Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=bar].error_y Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=bar].error_y Type: color

        Sets the stroke color of the error bars.

      • symmetric Parent: data[type=bar].error_y Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=bar].error_y Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=bar].error_y Type: integer
      • tracerefminus Parent: data[type=bar].error_y Type: integer
      • type Parent: data[type=bar].error_y Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=bar].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=bar].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=bar].error_y Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=bar].error_y Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • hoverinfo Parent: data[type=bar] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=bar] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=bar].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=bar].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=bar].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=bar].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=bar].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=bar].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=bar].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=bar].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=bar].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=bar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=bar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=bar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=bar].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=bar].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=bar] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=bar] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=bar] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextanchor Parent: data[type=bar] Type: enumerated , one of ( \"end\"| \"middle\"| \"start\" ) Default: \"end\"

      Determines if texts are kept at center or start/end points in `textposition` \"inside\" mode.

    • insidetextfont Parent: data[type=bar] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying inside the bar.

      • color Parent: data[type=bar].insidetextfont Type: color or array of colors
      • family Parent: data[type=bar].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=bar].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=bar].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=bar].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=bar].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=bar].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=bar].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=bar].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • legend Parent: data[type=bar] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=bar] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=bar] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=bar].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=bar].legendgrouptitle.font Type: color
        • family Parent: data[type=bar].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=bar].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=bar].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=bar].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=bar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=bar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=bar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=bar].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=bar].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=bar] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=bar] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=bar] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=bar].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=bar].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=bar].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=bar].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=bar].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=bar].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=bar].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=bar].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=bar].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=bar].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=bar].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=bar].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=bar].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=bar].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=bar].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=bar].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=bar].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=bar].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=bar].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=bar].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=bar].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=bar].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=bar].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=bar].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=bar].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=bar].marker.colorbar.tickfont Type: color
          • family Parent: data[type=bar].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=bar].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=bar].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=bar].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=bar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=bar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=bar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=bar].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=bar].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=bar].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=bar].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=bar].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=bar].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=bar].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=bar].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=bar].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=bar].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=bar].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=bar].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=bar].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=bar].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=bar].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=bar].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=bar].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=bar].marker.colorbar.title.font Type: color
            • family Parent: data[type=bar].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=bar].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=bar].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=bar].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=bar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=bar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=bar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=bar].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=bar].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=bar].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=bar].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=bar].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=bar].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=bar].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=bar].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=bar].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • cornerradius Parent: data[type=bar].marker Type: number or categorical coordinate string

        Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`. In stack or relative barmode, the first trace to set cornerradius is used for the whole stack.

      • line Parent: data[type=bar].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=bar].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=bar].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=bar].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=bar].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=bar].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=bar].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=bar].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=bar].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=bar].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=bar].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=bar].marker Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the opacity of the bars.

      • pattern Parent: data[type=bar].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=bar].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=bar].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=bar].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=bar].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=bar].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=bar].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=bar].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=bar].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

      • reversescale Parent: data[type=bar].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=bar].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

    • meta Parent: data[type=bar] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=bar] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • offset Parent: data[type=bar] Type: number or array of numbers

      Shifts the position where the bar is drawn (in position axis units). In \"group\" barmode, traces that set \"offset\" will be excluded and drawn in \"overlay\" mode instead.

    • offsetgroup Parent: data[type=bar] Type: string

      Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    • opacity Parent: data[type=bar] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • orientation Parent: data[type=bar] Type: enumerated , one of ( \"v\"| \"h\" )

      Sets the orientation of the bars. With \"v\" (\"h\"), the value of the each bar spans along the vertical (horizontal).

    • outsidetextfont Parent: data[type=bar] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying outside the bar.

      • color Parent: data[type=bar].outsidetextfont Type: color or array of colors
      • family Parent: data[type=bar].outsidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=bar].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=bar].outsidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=bar].outsidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=bar].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=bar].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=bar].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=bar].outsidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • selected Parent: data[type=bar] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=bar].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=bar].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=bar].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

      • textfont Parent: data[type=bar].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=bar].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=bar] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=bar] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=bar] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textangle Parent: data[type=bar] Type: angle Default: \"auto\"

      Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With \"auto\" the texts may automatically be rotated to fit with the maximum size in bars.

    • textfont Parent: data[type=bar] Type: object containing one or more of the keys listed below.

      Sets the font used for `text`.

      • color Parent: data[type=bar].textfont Type: color or array of colors
      • family Parent: data[type=bar].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=bar].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=bar].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=bar].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=bar].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=bar].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=bar].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=bar].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=bar] Type: enumerated or array of enumerateds , one of ( \"inside\"| \"outside\"| \"auto\"| \"none\" ) Default: \"auto\"

      Specifies the location of the `text`. \"inside\" positions `text` inside, next to the bar end (rotated and scaled if needed). \"outside\" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. \"auto\" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If \"none\", no text appears.

    • texttemplate Parent: data[type=bar] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`.

    • type Parent: data[type=bar] Type: \"bar\"
    • uid Parent: data[type=bar] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=bar] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=bar] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=bar].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=bar].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=bar].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=bar].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=bar].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=bar] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • width Parent: data[type=bar] Type: number or array of numbers

      Sets the bar width (in position axis units).

    • x Parent: data[type=bar] Type: data_array

      Sets the x coordinates.

    • x0 Parent: data[type=bar] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • xaxis Parent: data[type=bar] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=bar] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=bar] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=bar] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=bar] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=bar] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • y Parent: data[type=bar] Type: data_array

      Sets the y coordinates.

    • y0 Parent: data[type=bar] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • yaxis Parent: data[type=bar] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ycalendar Parent: data[type=bar] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=bar] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=bar] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=bar] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=bar] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    • zorder Parent: data[type=bar] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/barpolar/","title":"barpolar","text":"A barpolar trace is an object with the key \"type\" equal to \"barpolar\" (i.e. {\"type\": \"barpolar\"}) and any of the keys listed below. The data visualized by the radial span of the bars is set in `r`
    • base Parent: data[type=barpolar] Type: number or categorical coordinate string

      Sets where the bar base is drawn (in radial axis units). In \"stack\" barmode, traces that set \"base\" will be excluded and drawn in \"overlay\" mode instead.

    • customdata Parent: data[type=barpolar] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dr Parent: data[type=barpolar] Type: number Default: 1

      Sets the r coordinate step.

    • dtheta Parent: data[type=barpolar] Type: number

      Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.

    • hoverinfo Parent: data[type=barpolar] Type: flaglist string. Any combination of \"r\", \"theta\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"r\", \"theta\", \"r+theta\", \"r+theta+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=barpolar] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=barpolar].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=barpolar].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=barpolar].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=barpolar].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=barpolar].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=barpolar].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=barpolar].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=barpolar].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=barpolar].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=barpolar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=barpolar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=barpolar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=barpolar].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=barpolar].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=barpolar] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=barpolar] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=barpolar] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=barpolar] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=barpolar] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=barpolar] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=barpolar].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=barpolar].legendgrouptitle.font Type: color
        • family Parent: data[type=barpolar].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=barpolar].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=barpolar].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=barpolar].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=barpolar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=barpolar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=barpolar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=barpolar].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=barpolar].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=barpolar] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=barpolar] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=barpolar] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=barpolar].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=barpolar].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=barpolar].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=barpolar].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=barpolar].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=barpolar].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=barpolar].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=barpolar].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=barpolar].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=barpolar].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=barpolar].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=barpolar].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=barpolar].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=barpolar].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=barpolar].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=barpolar].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=barpolar].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=barpolar].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=barpolar].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=barpolar].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=barpolar].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=barpolar].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=barpolar].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=barpolar].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=barpolar].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=barpolar].marker.colorbar.tickfont Type: color
          • family Parent: data[type=barpolar].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=barpolar].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=barpolar].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=barpolar].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=barpolar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=barpolar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=barpolar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=barpolar].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=barpolar].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=barpolar].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=barpolar].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=barpolar].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=barpolar].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=barpolar].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=barpolar].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=barpolar].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=barpolar].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=barpolar].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=barpolar].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=barpolar].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=barpolar].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=barpolar].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=barpolar].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=barpolar].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=barpolar].marker.colorbar.title.font Type: color
            • family Parent: data[type=barpolar].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=barpolar].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=barpolar].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=barpolar].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=barpolar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=barpolar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=barpolar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=barpolar].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=barpolar].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=barpolar].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=barpolar].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=barpolar].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=barpolar].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=barpolar].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=barpolar].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=barpolar].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=barpolar].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=barpolar].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=barpolar].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=barpolar].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=barpolar].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=barpolar].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=barpolar].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=barpolar].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=barpolar].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=barpolar].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=barpolar].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=barpolar].marker Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the opacity of the bars.

      • pattern Parent: data[type=barpolar].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=barpolar].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=barpolar].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=barpolar].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=barpolar].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=barpolar].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=barpolar].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=barpolar].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=barpolar].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

      • reversescale Parent: data[type=barpolar].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=barpolar].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

    • meta Parent: data[type=barpolar] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=barpolar] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • offset Parent: data[type=barpolar] Type: number or array of numbers

      Shifts the angular position where the bar is drawn (in \"thetatunit\" units).

    • opacity Parent: data[type=barpolar] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • r Parent: data[type=barpolar] Type: data_array

      Sets the radial coordinates

    • r0 Parent: data[type=barpolar] Type: number or categorical coordinate string

      Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.

    • selected Parent: data[type=barpolar] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=barpolar].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=barpolar].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=barpolar].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

      • textfont Parent: data[type=barpolar].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=barpolar].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=barpolar] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=barpolar] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • subplot Parent: data[type=barpolar] Type: subplotid Default: polar

      Sets a reference between this trace's data coordinates and a polar subplot. If \"polar\" (the default value), the data refer to `layout.polar`. If \"polar2\", the data refer to `layout.polar2`, and so on.

    • text Parent: data[type=barpolar] Type: string or array of strings

      Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.

    • theta Parent: data[type=barpolar] Type: data_array

      Sets the angular coordinates

    • theta0 Parent: data[type=barpolar] Type: number or categorical coordinate string

      Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.

    • thetaunit Parent: data[type=barpolar] Type: enumerated , one of ( \"radians\"| \"degrees\"| \"gradians\" ) Default: \"degrees\"

      Sets the unit of input \"theta\" values. Has an effect only when on \"linear\" angular axes.

    • type Parent: data[type=barpolar] Type: \"barpolar\"
    • uid Parent: data[type=barpolar] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=barpolar] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=barpolar] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=barpolar].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=barpolar].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=barpolar].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=barpolar].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=barpolar].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=barpolar] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • width Parent: data[type=barpolar] Type: number or array of numbers

      Sets the bar angular width (in \"thetaunit\" units).

    "},{"location":"reference/box/","title":"box","text":"A box trace is an object with the key \"type\" equal to \"box\" (i.e. {\"type\": \"box\"}) and any of the keys listed below. Each box spans from quartile 1 (Q1) to quartile 3 (Q3). The second quartile (Q2, i.e. the median) is marked by a line inside the box. The fences grow outward from the boxes' edges, by default they span +/- 1.5 times the interquartile range (IQR: Q3-Q1), The sample mean and standard deviation as well as notches and the sample, outlier and suspected outliers points can be optionally added to the box plot. The values and positions corresponding to each boxes can be input using two signatures. The first signature expects users to supply the sample values in the `y` data array for vertical boxes (`x` for horizontal boxes). By supplying an `x` (`y`) array, one box per distinct `x` (`y`) value is drawn If no `x` (`y`) array is provided, a single box is drawn. In this case, the box is positioned with the trace `name` or with `x0` (`y0`) if provided. The second signature expects users to supply the boxes corresponding Q1, median and Q3 statistics in the `q1`, `median` and `q3` data arrays respectively. Other box features relying on statistics namely `lowerfence`, `upperfence`, `notchspan` can be set directly by the users. To have plotly compute them or to show sample points besides the boxes, users can set the `y` data array for vertical boxes (`x` for horizontal boxes) to a 2D array with the outer length corresponding to the number of boxes in the traces and the inner length corresponding the sample size.
    • alignmentgroup Parent: data[type=box] Type: string

      Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    • boxmean Parent: data[type=box] Type: enumerated , one of ( true| \"sd\"| false )

      If \"true\", the mean of the box(es)' underlying distribution is drawn as a dashed line inside the box(es). If \"sd\" the standard deviation is also drawn. Defaults to \"true\" when `mean` is set. Defaults to \"sd\" when `sd` is set Otherwise defaults to \"false\".

    • boxpoints Parent: data[type=box] Type: enumerated , one of ( \"all\"| \"outliers\"| \"suspectedoutliers\"| false )

      If \"outliers\", only the sample points lying outside the whiskers are shown If \"suspectedoutliers\", the outlier points are shown and points either less than 4\"Q1-3\"Q3 or greater than 4\"Q3-3\"Q1 are highlighted (see `outliercolor`) If \"all\", all sample points are shown If \"false\", only the box(es) are shown with no sample points Defaults to \"suspectedoutliers\" when `marker.outliercolor` or `marker.line.outliercolor` is set. Defaults to \"all\" under the q1/median/q3 signature. Otherwise defaults to \"outliers\".

    • customdata Parent: data[type=box] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=box] Type: number

      Sets the x coordinate step for multi-box traces set using q1/median/q3.

    • dy Parent: data[type=box] Type: number

      Sets the y coordinate step for multi-box traces set using q1/median/q3.

    • fillcolor Parent: data[type=box] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=box] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=box] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=box].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=box].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=box].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=box].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=box].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=box].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=box].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=box].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=box].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=box].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=box].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=box].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=box].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=box].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoveron Parent: data[type=box] Type: flaglist string. Any combination of \"boxes\", \"points\" joined with a \"+\" OR . Examples: \"boxes\", \"points\", \"boxes+points\", Default: \"boxes+points\"

      Do the hover effects highlight individual boxes or sample points or both?

    • hovertemplate Parent: data[type=box] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=box] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=box] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • jitter Parent: data[type=box] Type: number less than or equal to 1

      Sets the amount of jitter in the sample points drawn. If \"0\", the sample points align along the distribution axis. If \"1\", the sample points are drawn in a random jitter of width equal to the width of the box(es).

    • legend Parent: data[type=box] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=box] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=box] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=box].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=box].legendgrouptitle.font Type: color
        • family Parent: data[type=box].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=box].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=box].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=box].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=box].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=box].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=box].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=box].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=box].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=box] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=box] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=box] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=box].line Type: color

        Sets the color of line bounding the box(es).

      • width Parent: data[type=box].line Type: number Default: 2

        Sets the width (in px) of line bounding the box(es).

    • lowerfence Parent: data[type=box] Type: data_array

      Sets the lower fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR.

    • marker Parent: data[type=box] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=box].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • color Parent: data[type=box].marker Type: color

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • line Parent: data[type=box].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=box].marker.line Type: color Default: \"#444\"

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • outliercolor Parent: data[type=box].marker.line Type: color

          Sets the border line color of the outlier sample points. Defaults to marker.color

        • outlierwidth Parent: data[type=box].marker.line Type: number Default: 1

          Sets the border line width (in px) of the outlier sample points.

        • width Parent: data[type=box].marker.line Type: number

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=box].marker Type: number less than or equal to 1 Default: 1

        Sets the marker opacity.

      • outliercolor Parent: data[type=box].marker Type: color Default: \"rgba(0, 0, 0, 0)\"

        Sets the color of the outlier sample points.

      • size Parent: data[type=box].marker Type: number Default: 6

        Sets the marker size (in px).

      • symbol Parent: data[type=box].marker Type: enumerated , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • mean Parent: data[type=box] Type: data_array

      Sets the mean values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values.

    • median Parent: data[type=box] Type: data_array

      Sets the median values. There should be as many items as the number of boxes desired.

    • meta Parent: data[type=box] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=box] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover. For box traces, the name will also be used for the position coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are missing and the position axis is categorical

    • notched Parent: data[type=box] Type: boolean

      Determines whether or not notches are drawn. Notches displays a confidence interval around the median. We compute the confidence interval as median +/- 1.57 \" IQR / sqrt(N), where IQR is the interquartile range and N is the sample size. If two boxes' notches do not overlap there is 95% confidence their medians differ. See https://sites.google.com/site/davidsstatistics/home/notched-box-plots for more info. Defaults to \"false\" unless `notchwidth` or `notchspan` is set.

    • notchspan Parent: data[type=box] Type: data_array

      Sets the notch span from the boxes' `median` values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 \" IQR / sqrt(N), where N is the sample size.

    • notchwidth Parent: data[type=box] Type: number less than or equal to 0.5 Default: 0.25

      Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).

    • offsetgroup Parent: data[type=box] Type: string

      Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    • opacity Parent: data[type=box] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • orientation Parent: data[type=box] Type: enumerated , one of ( \"v\"| \"h\" )

      Sets the orientation of the box(es). If \"v\" (\"h\"), the distribution is visualized along the vertical (horizontal).

    • pointpos Parent: data[type=box] Type: number between or equal to -2 and 2

      Sets the position of the sample points in relation to the box(es). If \"0\", the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes

    • q1 Parent: data[type=box] Type: data_array

      Sets the Quartile 1 values. There should be as many items as the number of boxes desired.

    • q3 Parent: data[type=box] Type: data_array

      Sets the Quartile 3 values. There should be as many items as the number of boxes desired.

    • quartilemethod Parent: data[type=box] Type: enumerated , one of ( \"linear\"| \"exclusive\"| \"inclusive\" ) Default: \"linear\"

      Sets the method used to compute the sample's Q1 and Q3 quartiles. The \"linear\" method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://jse.amstat.org/v14n3/langford.html). The \"exclusive\" method uses the median to divide the ordered dataset into two halves if the sample is odd, it does not include the median in either half - Q1 is then the median of the lower half and Q3 the median of the upper half. The \"inclusive\" method also uses the median to divide the ordered dataset into two halves but if the sample is odd, it includes the median in both halves - Q1 is then the median of the lower half and Q3 the median of the upper half.

    • sd Parent: data[type=box] Type: data_array

      Sets the standard deviation values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `sd` is not provided but a sample (in `y` or `x`) is set, we compute the standard deviation for each box using the sample values.

    • sdmultiple Parent: data[type=box] Type: number Default: 1

      Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev

    • selected Parent: data[type=box] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=box].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=box].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=box].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=box].selected.marker Type: number

          Sets the marker size of selected points.

    • selectedpoints Parent: data[type=box] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=box] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showwhiskers Parent: data[type=box] Type: boolean

      Determines whether or not whiskers are visible. Defaults to true for `sizemode` \"quartiles\", false for \"sd\".

    • sizemode Parent: data[type=box] Type: enumerated , one of ( \"quartiles\"| \"sd\" ) Default: \"quartiles\"

      Sets the upper and lower bound for the boxes quartiles means box is drawn between Q1 and Q3 SD means the box is drawn between Mean +- Standard Deviation Argument sdmultiple (default 1) to scale the box size So it could be drawn 1-stddev, 3-stddev etc

    • text Parent: data[type=box] Type: string or array of strings

      Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • type Parent: data[type=box] Type: \"box\"
    • uid Parent: data[type=box] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=box] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=box] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=box].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=box].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=box].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=box].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

    • upperfence Parent: data[type=box] Type: data_array

      Sets the upper fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the upper as the last sample point above 1.5 times the IQR.

    • visible Parent: data[type=box] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • whiskerwidth Parent: data[type=box] Type: number less than or equal to 1 Default: 0.5

      Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).

    • width Parent: data[type=box] Type: number

      Sets the width of the box in data coordinate If \"0\" (default value) the width is automatically selected based on the positions of other box traces in the same subplot.

    • x Parent: data[type=box] Type: data_array

      Sets the x sample data or coordinates. See overview for more info.

    • x0 Parent: data[type=box] Type: number or categorical coordinate string

      Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    • xaxis Parent: data[type=box] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=box] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=box] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=box] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=box] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=box] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • y Parent: data[type=box] Type: data_array

      Sets the y sample data or coordinates. See overview for more info.

    • y0 Parent: data[type=box] Type: number or categorical coordinate string

      Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    • yaxis Parent: data[type=box] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ycalendar Parent: data[type=box] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=box] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=box] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=box] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=box] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    • zorder Parent: data[type=box] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/candlestick/","title":"candlestick","text":"A candlestick trace is an object with the key \"type\" equal to \"candlestick\" (i.e. {\"type\": \"candlestick\"}) and any of the keys listed below. The candlestick is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The boxes represent the spread between the `open` and `close` values and the lines represent the spread between the `low` and `high` values Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing candles are drawn in green whereas decreasing are drawn in red.
    • close Parent: data[type=candlestick] Type: data_array

      Sets the close values.

    • customdata Parent: data[type=candlestick] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • decreasing Parent: data[type=candlestick] Type: object containing one or more of the keys listed below.
      • fillcolor Parent: data[type=candlestick].decreasing Type: color

        Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

      • line Parent: data[type=candlestick].decreasing Type: object containing one or more of the keys listed below.
        • color Parent: data[type=candlestick].decreasing.line Type: color Default: \"#FF4136\"

          Sets the color of line bounding the box(es).

        • width Parent: data[type=candlestick].decreasing.line Type: number Default: 2

          Sets the width (in px) of line bounding the box(es).

    • high Parent: data[type=candlestick] Type: data_array

      Sets the high values.

    • hoverinfo Parent: data[type=candlestick] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=candlestick] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=candlestick].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=candlestick].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=candlestick].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=candlestick].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=candlestick].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=candlestick].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=candlestick].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=candlestick].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=candlestick].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=candlestick].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=candlestick].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=candlestick].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=candlestick].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=candlestick].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      • split Parent: data[type=candlestick].hoverlabel Type: boolean

        Show hover information (open, close, high, low) in separate labels.

    • hovertext Parent: data[type=candlestick] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=candlestick] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • increasing Parent: data[type=candlestick] Type: object containing one or more of the keys listed below.
      • fillcolor Parent: data[type=candlestick].increasing Type: color

        Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

      • line Parent: data[type=candlestick].increasing Type: object containing one or more of the keys listed below.
        • color Parent: data[type=candlestick].increasing.line Type: color Default: \"#3D9970\"

          Sets the color of line bounding the box(es).

        • width Parent: data[type=candlestick].increasing.line Type: number Default: 2

          Sets the width (in px) of line bounding the box(es).

    • legend Parent: data[type=candlestick] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=candlestick] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=candlestick] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=candlestick].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=candlestick].legendgrouptitle.font Type: color
        • family Parent: data[type=candlestick].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=candlestick].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=candlestick].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=candlestick].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=candlestick].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=candlestick].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=candlestick].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=candlestick].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=candlestick].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=candlestick] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=candlestick] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=candlestick] Type: object containing one or more of the keys listed below.
      • width Parent: data[type=candlestick].line Type: number Default: 2

        Sets the width (in px) of line bounding the box(es). Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.

    • low Parent: data[type=candlestick] Type: data_array

      Sets the low values.

    • meta Parent: data[type=candlestick] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=candlestick] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=candlestick] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • open Parent: data[type=candlestick] Type: data_array

      Sets the open values.

    • selectedpoints Parent: data[type=candlestick] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=candlestick] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=candlestick] Type: string or array of strings

      Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.

    • type Parent: data[type=candlestick] Type: \"candlestick\"
    • uid Parent: data[type=candlestick] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=candlestick] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=candlestick] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • whiskerwidth Parent: data[type=candlestick] Type: number less than or equal to 1

      Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).

    • x Parent: data[type=candlestick] Type: data_array

      Sets the x coordinates. If absent, linear coordinate will be generated.

    • xaxis Parent: data[type=candlestick] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=candlestick] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=candlestick] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=candlestick] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=candlestick] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=candlestick] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • yaxis Parent: data[type=candlestick] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • yhoverformat Parent: data[type=candlestick] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • zorder Parent: data[type=candlestick] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/carpet/","title":"carpet","text":"A carpet trace is an object with the key \"type\" equal to \"carpet\" (i.e. {\"type\": \"carpet\"}) and any of the keys listed below. The data describing carpet axis layout is set in `y` and (optionally) also `x`. If only `y` is present, `x` the plot is interpreted as a cheater plot and is filled in using the `y` values. `x` and `y` may either be 2D arrays matching with each dimension matching that of `a` and `b`, or they may be 1D arrays with total length equal to that of `a` and `b`.
    • a Parent: data[type=carpet] Type: data_array

      An array containing values of the first parameter value

    • a0 Parent: data[type=carpet] Type: number

      Alternate to `a`. Builds a linear space of a coordinates. Use with `da` where `a0` is the starting coordinate and `da` the step.

    • aaxis Parent: data[type=carpet] Type: object containing one or more of the keys listed below.
      • arraydtick Parent: data[type=carpet].aaxis Type: integer greater than or equal to 1 Default: 1

        The stride between grid lines along the axis

      • arraytick0 Parent: data[type=carpet].aaxis Type: integer

        The starting index of grid lines along the axis

      • autorange Parent: data[type=carpet].aaxis Type: enumerated , one of ( true| false| \"reversed\" ) Default: \"True\"

        Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to \"false\".

      • autotypenumbers Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"convert types\"| \"strict\" ) Default: \"convert types\"

        Using \"strict\" a numeric string in trace data is not converted to a number. Using \"convert types\" a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.

      • categoryarray Parent: data[type=carpet].aaxis Type: data_array

        Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to \"array\". Used with `categoryorder`.

      • categoryorder Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"trace\"| \"category ascending\"| \"category descending\"| \"array\" ) Default: \"trace\"

        Specifies the ordering logic for the case of categorical variables. By default, plotly uses \"trace\", which specifies the order that is present in the data supplied. Set `categoryorder` to \"category ascending\" or \"category descending\" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to \"array\" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the \"trace\" mode. The unspecified categories will follow the categories in `categoryarray`.

      • cheatertype Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"index\"| \"value\" ) Default: \"value\"
      • color Parent: data[type=carpet].aaxis Type: color

        Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

      • dtick Parent: data[type=carpet].aaxis Type: number Default: 1

        The stride between grid lines along the axis

      • endline Parent: data[type=carpet].aaxis Type: boolean

        Determines whether or not a line is drawn at along the final value of this axis. If \"true\", the end line is drawn on top of the grid lines.

      • endlinecolor Parent: data[type=carpet].aaxis Type: color

        Sets the line color of the end line.

      • endlinewidth Parent: data[type=carpet].aaxis Type: number Default: 1

        Sets the width (in px) of the end line.

      • exponentformat Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • fixedrange Parent: data[type=carpet].aaxis Type: boolean

        Determines whether or not this axis is zoom-able. If true, then zoom is disabled.

      • gridcolor Parent: data[type=carpet].aaxis Type: color

        Sets the axis line color.

      • griddash Parent: data[type=carpet].aaxis Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • gridwidth Parent: data[type=carpet].aaxis Type: number Default: 1

        Sets the width (in px) of the axis line.

      • labelalias Parent: data[type=carpet].aaxis Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • labelpadding Parent: data[type=carpet].aaxis Type: integer Default: 10

        Extra padding between label and the axis

      • labelprefix Parent: data[type=carpet].aaxis Type: string

        Sets a axis label prefix.

      • labelsuffix Parent: data[type=carpet].aaxis Type: string

        Sets a axis label suffix.

      • linecolor Parent: data[type=carpet].aaxis Type: color Default: \"#444\"

        Sets the axis line color.

      • linewidth Parent: data[type=carpet].aaxis Type: number Default: 1

        Sets the width (in px) of the axis line.

      • minexponent Parent: data[type=carpet].aaxis Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number

      • minorgridcolor Parent: data[type=carpet].aaxis Type: color Default: \"#eee\"

        Sets the color of the grid lines.

      • minorgridcount Parent: data[type=carpet].aaxis Type: integer

        Sets the number of minor grid ticks per major grid tick

      • minorgriddash Parent: data[type=carpet].aaxis Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • minorgridwidth Parent: data[type=carpet].aaxis Type: number Default: 1

        Sets the width (in px) of the grid lines.

      • nticks Parent: data[type=carpet].aaxis Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • range Parent: data[type=carpet].aaxis {inner}Type: {array}

        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\", it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is \"category\", it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.

      • rangemode Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"normal\"| \"tozero\"| \"nonnegative\" ) Default: \"normal\"

        If \"normal\", the range is computed in relation to the extrema of the input data. If \"tozero\"`, the range extends to 0, regardless of the input data If \"nonnegative\", the range is non-negative, regardless of the input data.

      • separatethousands Parent: data[type=carpet].aaxis Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showgrid Parent: data[type=carpet].aaxis Type: boolean Default: true

        Determines whether or not grid lines are drawn. If \"true\", the grid lines are drawn at every tick mark.

      • showline Parent: data[type=carpet].aaxis Type: boolean

        Determines whether or not a line bounding this axis is drawn.

      • showticklabels Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"start\"| \"end\"| \"both\"| \"none\" ) Default: \"start\"

        Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.

      • showtickprefix Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • smoothing Parent: data[type=carpet].aaxis Type: number less than or equal to 1.3 Default: 1
      • startline Parent: data[type=carpet].aaxis Type: boolean

        Determines whether or not a line is drawn at along the starting value of this axis. If \"true\", the start line is drawn on top of the grid lines.

      • startlinecolor Parent: data[type=carpet].aaxis Type: color

        Sets the line color of the start line.

      • startlinewidth Parent: data[type=carpet].aaxis Type: number Default: 1

        Sets the width (in px) of the start line.

      • tick0 Parent: data[type=carpet].aaxis Type: number

        The starting index of grid lines along the axis

      • tickangle Parent: data[type=carpet].aaxis Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickfont Parent: data[type=carpet].aaxis Type: object containing one or more of the keys listed below.

        Sets the tick font.

        • color Parent: data[type=carpet].aaxis.tickfont Type: color
        • family Parent: data[type=carpet].aaxis.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=carpet].aaxis.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=carpet].aaxis.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=carpet].aaxis.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=carpet].aaxis.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=carpet].aaxis.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=carpet].aaxis.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=carpet].aaxis.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=carpet].aaxis Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=carpet].aaxis Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=carpet].aaxis.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=carpet].aaxis.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=carpet].aaxis.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=carpet].aaxis.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=carpet].aaxis.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • tickmode Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"linear\"| \"array\" ) Default: \"array\"
      • tickprefix Parent: data[type=carpet].aaxis Type: string

        Sets a tick label prefix.

      • ticksuffix Parent: data[type=carpet].aaxis Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=carpet].aaxis Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=carpet].aaxis Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • title Parent: data[type=carpet].aaxis Type: object containing one or more of the keys listed below.
        • font Parent: data[type=carpet].aaxis.title Type: object containing one or more of the keys listed below.

          Sets this axis' title font.

          • color Parent: data[type=carpet].aaxis.title.font Type: color
          • family Parent: data[type=carpet].aaxis.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=carpet].aaxis.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=carpet].aaxis.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=carpet].aaxis.title.font Type: number greater than or equal to 1
          • style Parent: data[type=carpet].aaxis.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=carpet].aaxis.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=carpet].aaxis.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=carpet].aaxis.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • offset Parent: data[type=carpet].aaxis.title Type: number Default: 10

          An additional amount by which to offset the title from the tick labels, given in pixels.

        • text Parent: data[type=carpet].aaxis.title Type: string

          Sets the title of this axis.

      • type Parent: data[type=carpet].aaxis Type: enumerated , one of ( \"-\"| \"linear\"| \"date\"| \"category\" ) Default: \"-\"

        Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.

    • b Parent: data[type=carpet] Type: data_array

      A two dimensional array of y coordinates at each carpet point.

    • b0 Parent: data[type=carpet] Type: number

      Alternate to `b`. Builds a linear space of a coordinates. Use with `db` where `b0` is the starting coordinate and `db` the step.

    • baxis Parent: data[type=carpet] Type: object containing one or more of the keys listed below.
      • arraydtick Parent: data[type=carpet].baxis Type: integer greater than or equal to 1 Default: 1

        The stride between grid lines along the axis

      • arraytick0 Parent: data[type=carpet].baxis Type: integer

        The starting index of grid lines along the axis

      • autorange Parent: data[type=carpet].baxis Type: enumerated , one of ( true| false| \"reversed\" ) Default: \"True\"

        Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided, then `autorange` is set to \"false\".

      • autotypenumbers Parent: data[type=carpet].baxis Type: enumerated , one of ( \"convert types\"| \"strict\" ) Default: \"convert types\"

        Using \"strict\" a numeric string in trace data is not converted to a number. Using \"convert types\" a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.

      • categoryarray Parent: data[type=carpet].baxis Type: data_array

        Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to \"array\". Used with `categoryorder`.

      • categoryorder Parent: data[type=carpet].baxis Type: enumerated , one of ( \"trace\"| \"category ascending\"| \"category descending\"| \"array\" ) Default: \"trace\"

        Specifies the ordering logic for the case of categorical variables. By default, plotly uses \"trace\", which specifies the order that is present in the data supplied. Set `categoryorder` to \"category ascending\" or \"category descending\" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to \"array\" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the \"trace\" mode. The unspecified categories will follow the categories in `categoryarray`.

      • cheatertype Parent: data[type=carpet].baxis Type: enumerated , one of ( \"index\"| \"value\" ) Default: \"value\"
      • color Parent: data[type=carpet].baxis Type: color

        Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

      • dtick Parent: data[type=carpet].baxis Type: number Default: 1

        The stride between grid lines along the axis

      • endline Parent: data[type=carpet].baxis Type: boolean

        Determines whether or not a line is drawn at along the final value of this axis. If \"true\", the end line is drawn on top of the grid lines.

      • endlinecolor Parent: data[type=carpet].baxis Type: color

        Sets the line color of the end line.

      • endlinewidth Parent: data[type=carpet].baxis Type: number Default: 1

        Sets the width (in px) of the end line.

      • exponentformat Parent: data[type=carpet].baxis Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • fixedrange Parent: data[type=carpet].baxis Type: boolean

        Determines whether or not this axis is zoom-able. If true, then zoom is disabled.

      • gridcolor Parent: data[type=carpet].baxis Type: color

        Sets the axis line color.

      • griddash Parent: data[type=carpet].baxis Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • gridwidth Parent: data[type=carpet].baxis Type: number Default: 1

        Sets the width (in px) of the axis line.

      • labelalias Parent: data[type=carpet].baxis Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • labelpadding Parent: data[type=carpet].baxis Type: integer Default: 10

        Extra padding between label and the axis

      • labelprefix Parent: data[type=carpet].baxis Type: string

        Sets a axis label prefix.

      • labelsuffix Parent: data[type=carpet].baxis Type: string

        Sets a axis label suffix.

      • linecolor Parent: data[type=carpet].baxis Type: color Default: \"#444\"

        Sets the axis line color.

      • linewidth Parent: data[type=carpet].baxis Type: number Default: 1

        Sets the width (in px) of the axis line.

      • minexponent Parent: data[type=carpet].baxis Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number

      • minorgridcolor Parent: data[type=carpet].baxis Type: color Default: \"#eee\"

        Sets the color of the grid lines.

      • minorgridcount Parent: data[type=carpet].baxis Type: integer

        Sets the number of minor grid ticks per major grid tick

      • minorgriddash Parent: data[type=carpet].baxis Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • minorgridwidth Parent: data[type=carpet].baxis Type: number Default: 1

        Sets the width (in px) of the grid lines.

      • nticks Parent: data[type=carpet].baxis Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • range Parent: data[type=carpet].baxis {inner}Type: {array}

        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\", it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is \"category\", it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.

      • rangemode Parent: data[type=carpet].baxis Type: enumerated , one of ( \"normal\"| \"tozero\"| \"nonnegative\" ) Default: \"normal\"

        If \"normal\", the range is computed in relation to the extrema of the input data. If \"tozero\"`, the range extends to 0, regardless of the input data If \"nonnegative\", the range is non-negative, regardless of the input data.

      • separatethousands Parent: data[type=carpet].baxis Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=carpet].baxis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showgrid Parent: data[type=carpet].baxis Type: boolean Default: true

        Determines whether or not grid lines are drawn. If \"true\", the grid lines are drawn at every tick mark.

      • showline Parent: data[type=carpet].baxis Type: boolean

        Determines whether or not a line bounding this axis is drawn.

      • showticklabels Parent: data[type=carpet].baxis Type: enumerated , one of ( \"start\"| \"end\"| \"both\"| \"none\" ) Default: \"start\"

        Determines whether axis labels are drawn on the low side, the high side, both, or neither side of the axis.

      • showtickprefix Parent: data[type=carpet].baxis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=carpet].baxis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • smoothing Parent: data[type=carpet].baxis Type: number less than or equal to 1.3 Default: 1
      • startline Parent: data[type=carpet].baxis Type: boolean

        Determines whether or not a line is drawn at along the starting value of this axis. If \"true\", the start line is drawn on top of the grid lines.

      • startlinecolor Parent: data[type=carpet].baxis Type: color

        Sets the line color of the start line.

      • startlinewidth Parent: data[type=carpet].baxis Type: number Default: 1

        Sets the width (in px) of the start line.

      • tick0 Parent: data[type=carpet].baxis Type: number

        The starting index of grid lines along the axis

      • tickangle Parent: data[type=carpet].baxis Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickfont Parent: data[type=carpet].baxis Type: object containing one or more of the keys listed below.

        Sets the tick font.

        • color Parent: data[type=carpet].baxis.tickfont Type: color
        • family Parent: data[type=carpet].baxis.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=carpet].baxis.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=carpet].baxis.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=carpet].baxis.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=carpet].baxis.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=carpet].baxis.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=carpet].baxis.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=carpet].baxis.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=carpet].baxis Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=carpet].baxis Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=carpet].baxis.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=carpet].baxis.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=carpet].baxis.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=carpet].baxis.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=carpet].baxis.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • tickmode Parent: data[type=carpet].baxis Type: enumerated , one of ( \"linear\"| \"array\" ) Default: \"array\"
      • tickprefix Parent: data[type=carpet].baxis Type: string

        Sets a tick label prefix.

      • ticksuffix Parent: data[type=carpet].baxis Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=carpet].baxis Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=carpet].baxis Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • title Parent: data[type=carpet].baxis Type: object containing one or more of the keys listed below.
        • font Parent: data[type=carpet].baxis.title Type: object containing one or more of the keys listed below.

          Sets this axis' title font.

          • color Parent: data[type=carpet].baxis.title.font Type: color
          • family Parent: data[type=carpet].baxis.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=carpet].baxis.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=carpet].baxis.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=carpet].baxis.title.font Type: number greater than or equal to 1
          • style Parent: data[type=carpet].baxis.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=carpet].baxis.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=carpet].baxis.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=carpet].baxis.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • offset Parent: data[type=carpet].baxis.title Type: number Default: 10

          An additional amount by which to offset the title from the tick labels, given in pixels.

        • text Parent: data[type=carpet].baxis.title Type: string

          Sets the title of this axis.

      • type Parent: data[type=carpet].baxis Type: enumerated , one of ( \"-\"| \"linear\"| \"date\"| \"category\" ) Default: \"-\"

        Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question.

    • carpet Parent: data[type=carpet] Type: string

      An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie

    • cheaterslope Parent: data[type=carpet] Type: number Default: 1

      The shift applied to each successive row of data in creating a cheater plot. Only used if `x` is been omitted.

    • color Parent: data[type=carpet] Type: color Default: \"#444\"

      Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

    • customdata Parent: data[type=carpet] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • da Parent: data[type=carpet] Type: number Default: 1

      Sets the a coordinate step. See `a0` for more info.

    • db Parent: data[type=carpet] Type: number Default: 1

      Sets the b coordinate step. See `b0` for more info.

    • font Parent: data[type=carpet] Type: object containing one or more of the keys listed below.

      The default font used for axis & tick labels on this carpet

      • color Parent: data[type=carpet].font Type: color Default: \"#444\"
      • family Parent: data[type=carpet].font Type: string Default: \"\"Open Sans\", verdana, arial, sans-serif\"

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=carpet].font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=carpet].font Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=carpet].font Type: number greater than or equal to 1 Default: 12
      • style Parent: data[type=carpet].font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=carpet].font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=carpet].font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=carpet].font Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • ids Parent: data[type=carpet] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=carpet] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=carpet] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=carpet].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=carpet].legendgrouptitle.font Type: color
        • family Parent: data[type=carpet].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=carpet].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=carpet].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=carpet].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=carpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=carpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=carpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=carpet].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=carpet].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=carpet] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=carpet] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • meta Parent: data[type=carpet] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=carpet] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=carpet] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • type Parent: data[type=carpet] Type: \"carpet\"
    • uid Parent: data[type=carpet] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=carpet] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=carpet] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=carpet] Type: data_array

      A two dimensional array of x coordinates at each carpet point. If omitted, the plot is a cheater plot and the xaxis is hidden by default.

    • xaxis Parent: data[type=carpet] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • y Parent: data[type=carpet] Type: data_array

      A two dimensional array of y coordinates at each carpet point.

    • yaxis Parent: data[type=carpet] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • zorder Parent: data[type=carpet] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/choropleth/","title":"choropleth","text":"A choropleth trace is an object with the key \"type\" equal to \"choropleth\" (i.e. {\"type\": \"choropleth\"}) and any of the keys listed below. The data that describes the choropleth value-to-color mapping is set in `z`. The geographic locations corresponding to each value in `z` are set in `locations`.
    • autocolorscale Parent: data[type=choropleth] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • coloraxis Parent: data[type=choropleth] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=choropleth] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=choropleth].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=choropleth].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=choropleth].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=choropleth].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=choropleth].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=choropleth].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=choropleth].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=choropleth].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=choropleth].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=choropleth].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=choropleth].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=choropleth].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=choropleth].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=choropleth].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=choropleth].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=choropleth].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=choropleth].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=choropleth].colorbar.tickfont Type: color
        • family Parent: data[type=choropleth].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choropleth].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choropleth].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choropleth].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=choropleth].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choropleth].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choropleth].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choropleth].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=choropleth].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=choropleth].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=choropleth].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=choropleth].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=choropleth].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=choropleth].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=choropleth].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=choropleth].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=choropleth].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=choropleth].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=choropleth].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=choropleth].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=choropleth].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=choropleth].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=choropleth].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=choropleth].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=choropleth].colorbar.title.font Type: color
          • family Parent: data[type=choropleth].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=choropleth].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=choropleth].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=choropleth].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=choropleth].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=choropleth].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=choropleth].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=choropleth].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=choropleth].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=choropleth].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=choropleth].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=choropleth].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=choropleth].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=choropleth].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=choropleth].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=choropleth] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=choropleth] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • featureidkey Parent: data[type=choropleth] Type: string Default: \"id\"

      Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example \"properties.name\".

    • geo Parent: data[type=choropleth] Type: subplotid Default: geo

      Sets a reference between this trace's geospatial coordinates and a geographic map. If \"geo\" (the default value), the geospatial coordinates refer to `layout.geo`. If \"geo2\", the geospatial coordinates refer to `layout.geo2`, and so on.

    • geojson Parent: data[type=choropleth] Type: number or categorical coordinate string

      Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type \"FeatureCollection\" or \"Feature\" with geometries of type \"Polygon\" or \"MultiPolygon\".

    • hoverinfo Parent: data[type=choropleth] Type: flaglist string. Any combination of \"location\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"location\", \"z\", \"location+z\", \"location+z+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=choropleth] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=choropleth].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=choropleth].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=choropleth].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=choropleth].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=choropleth].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=choropleth].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choropleth].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choropleth].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choropleth].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=choropleth].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choropleth].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choropleth].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choropleth].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=choropleth].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=choropleth] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=choropleth] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=choropleth] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=choropleth] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=choropleth] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=choropleth] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=choropleth].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=choropleth].legendgrouptitle.font Type: color
        • family Parent: data[type=choropleth].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choropleth].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choropleth].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choropleth].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=choropleth].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choropleth].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choropleth].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choropleth].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=choropleth].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=choropleth] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=choropleth] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • locationmode Parent: data[type=choropleth] Type: enumerated , one of ( \"ISO-3\"| \"USA-states\"| \"country names\"| \"geojson-id\" ) Default: \"ISO-3\"

      Determines the set of locations used to match entries in `locations` to regions on the map. Values \"ISO-3\", \"USA-states\", \"country names\" correspond to features on the base map and value \"geojson-id\" corresponds to features from a custom GeoJSON linked to the `geojson` attribute.

    • locations Parent: data[type=choropleth] Type: data_array

      Sets the coordinates via location IDs or names. See `locationmode` for more info.

    • marker Parent: data[type=choropleth] Type: object containing one or more of the keys listed below.
      • line Parent: data[type=choropleth].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=choropleth].marker.line Type: color or array of colors Default: \"#444\"

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • width Parent: data[type=choropleth].marker.line Type: number or array of numbers Default: 1

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=choropleth].marker Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the opacity of the locations.

    • meta Parent: data[type=choropleth] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=choropleth] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • reversescale Parent: data[type=choropleth] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • selected Parent: data[type=choropleth] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=choropleth].selected Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=choropleth].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

    • selectedpoints Parent: data[type=choropleth] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=choropleth] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=choropleth] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • text Parent: data[type=choropleth] Type: string or array of strings

      Sets the text elements associated with each location.

    • type Parent: data[type=choropleth] Type: \"choropleth\"
    • uid Parent: data[type=choropleth] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=choropleth] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=choropleth] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=choropleth].unselected Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=choropleth].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

    • visible Parent: data[type=choropleth] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • z Parent: data[type=choropleth] Type: data_array

      Sets the color values.

    • zauto Parent: data[type=choropleth] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zmax Parent: data[type=choropleth] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=choropleth] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=choropleth] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    "},{"location":"reference/choroplethmap/","title":"choroplethmap","text":"A choroplethmap trace is an object with the key \"type\" equal to \"choroplethmap\" (i.e. {\"type\": \"choroplethmap\"}) and any of the keys listed below. GeoJSON features to be filled are set in `geojson` The data that describes the choropleth value-to-color mapping is set in `locations` and `z`.
    • autocolorscale Parent: data[type=choroplethmap] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • below Parent: data[type=choroplethmap] Type: string

      Determines if the choropleth polygons will be inserted before the layer with the specified ID. By default, choroplethmap traces are placed above the water layers. If set to '', the layer will be inserted above every existing layer.

    • coloraxis Parent: data[type=choroplethmap] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=choroplethmap] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=choroplethmap].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=choroplethmap].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=choroplethmap].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=choroplethmap].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=choroplethmap].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=choroplethmap].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=choroplethmap].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=choroplethmap].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=choroplethmap].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=choroplethmap].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=choroplethmap].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=choroplethmap].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=choroplethmap].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=choroplethmap].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=choroplethmap].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=choroplethmap].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=choroplethmap].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=choroplethmap].colorbar.tickfont Type: color
        • family Parent: data[type=choroplethmap].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choroplethmap].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choroplethmap].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choroplethmap].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=choroplethmap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choroplethmap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choroplethmap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choroplethmap].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=choroplethmap].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=choroplethmap].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=choroplethmap].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=choroplethmap].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=choroplethmap].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=choroplethmap].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=choroplethmap].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=choroplethmap].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=choroplethmap].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=choroplethmap].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=choroplethmap].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=choroplethmap].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=choroplethmap].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=choroplethmap].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=choroplethmap].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=choroplethmap].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=choroplethmap].colorbar.title.font Type: color
          • family Parent: data[type=choroplethmap].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=choroplethmap].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=choroplethmap].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=choroplethmap].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=choroplethmap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=choroplethmap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=choroplethmap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=choroplethmap].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=choroplethmap].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=choroplethmap].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=choroplethmap].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=choroplethmap].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=choroplethmap].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=choroplethmap].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=choroplethmap].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=choroplethmap] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=choroplethmap] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • featureidkey Parent: data[type=choroplethmap] Type: string Default: \"id\"

      Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Support nested property, for example \"properties.name\".

    • geojson Parent: data[type=choroplethmap] Type: number or categorical coordinate string

      Sets the GeoJSON data associated with this trace. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type \"FeatureCollection\" or \"Feature\" with geometries of type \"Polygon\" or \"MultiPolygon\".

    • hoverinfo Parent: data[type=choroplethmap] Type: flaglist string. Any combination of \"location\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"location\", \"z\", \"location+z\", \"location+z+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=choroplethmap] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=choroplethmap].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=choroplethmap].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=choroplethmap].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=choroplethmap].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=choroplethmap].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=choroplethmap].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choroplethmap].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choroplethmap].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choroplethmap].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=choroplethmap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choroplethmap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choroplethmap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choroplethmap].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=choroplethmap].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=choroplethmap] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `properties` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=choroplethmap] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=choroplethmap] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=choroplethmap] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=choroplethmap] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=choroplethmap] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=choroplethmap].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=choroplethmap].legendgrouptitle.font Type: color
        • family Parent: data[type=choroplethmap].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choroplethmap].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choroplethmap].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choroplethmap].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=choroplethmap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choroplethmap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choroplethmap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choroplethmap].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=choroplethmap].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=choroplethmap] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=choroplethmap] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • locations Parent: data[type=choroplethmap] Type: data_array

      Sets which features found in \"geojson\" to plot using their feature `id` field.

    • marker Parent: data[type=choroplethmap] Type: object containing one or more of the keys listed below.
      • line Parent: data[type=choroplethmap].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=choroplethmap].marker.line Type: color or array of colors Default: \"#444\"

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • width Parent: data[type=choroplethmap].marker.line Type: number or array of numbers Default: 1

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=choroplethmap].marker Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the opacity of the locations.

    • meta Parent: data[type=choroplethmap] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=choroplethmap] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • reversescale Parent: data[type=choroplethmap] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • selected Parent: data[type=choroplethmap] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=choroplethmap].selected Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=choroplethmap].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

    • selectedpoints Parent: data[type=choroplethmap] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=choroplethmap] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=choroplethmap] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • subplot Parent: data[type=choroplethmap] Type: subplotid Default: map

      Sets a reference between this trace's data coordinates and a map subplot. If \"map\" (the default value), the data refer to `layout.map`. If \"map2\", the data refer to `layout.map2`, and so on.

    • text Parent: data[type=choroplethmap] Type: string or array of strings

      Sets the text elements associated with each location.

    • type Parent: data[type=choroplethmap] Type: \"choroplethmap\"
    • uid Parent: data[type=choroplethmap] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=choroplethmap] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=choroplethmap] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=choroplethmap].unselected Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=choroplethmap].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

    • visible Parent: data[type=choroplethmap] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • z Parent: data[type=choroplethmap] Type: data_array

      Sets the color values.

    • zauto Parent: data[type=choroplethmap] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zmax Parent: data[type=choroplethmap] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=choroplethmap] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=choroplethmap] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    "},{"location":"reference/choroplethmapbox/","title":"choroplethmapbox","text":"A choroplethmapbox trace is an object with the key \"type\" equal to \"choroplethmapbox\" (i.e. {\"type\": \"choroplethmapbox\"}) and any of the keys listed below. \"choroplethmapbox\" trace is deprecated! Please consider switching to the \"choroplethmap\" trace type and `map` subplots. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ GeoJSON features to be filled are set in `geojson` The data that describes the choropleth value-to-color mapping is set in `locations` and `z`.
    • autocolorscale Parent: data[type=choroplethmapbox] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • below Parent: data[type=choroplethmapbox] Type: string

      Determines if the choropleth polygons will be inserted before the layer with the specified ID. By default, choroplethmapbox traces are placed above the water layers. If set to '', the layer will be inserted above every existing layer.

    • coloraxis Parent: data[type=choroplethmapbox] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=choroplethmapbox] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=choroplethmapbox].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=choroplethmapbox].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=choroplethmapbox].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=choroplethmapbox].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=choroplethmapbox].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=choroplethmapbox].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=choroplethmapbox].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=choroplethmapbox].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=choroplethmapbox].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=choroplethmapbox].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=choroplethmapbox].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=choroplethmapbox].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=choroplethmapbox].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=choroplethmapbox].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=choroplethmapbox].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=choroplethmapbox].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=choroplethmapbox].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=choroplethmapbox].colorbar.tickfont Type: color
        • family Parent: data[type=choroplethmapbox].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choroplethmapbox].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choroplethmapbox].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choroplethmapbox].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=choroplethmapbox].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choroplethmapbox].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choroplethmapbox].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choroplethmapbox].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=choroplethmapbox].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=choroplethmapbox].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=choroplethmapbox].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=choroplethmapbox].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=choroplethmapbox].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=choroplethmapbox].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=choroplethmapbox].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=choroplethmapbox].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=choroplethmapbox].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=choroplethmapbox].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=choroplethmapbox].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=choroplethmapbox].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=choroplethmapbox].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=choroplethmapbox].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=choroplethmapbox].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=choroplethmapbox].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=choroplethmapbox].colorbar.title.font Type: color
          • family Parent: data[type=choroplethmapbox].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=choroplethmapbox].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=choroplethmapbox].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=choroplethmapbox].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=choroplethmapbox].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=choroplethmapbox].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=choroplethmapbox].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=choroplethmapbox].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=choroplethmapbox].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=choroplethmapbox].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=choroplethmapbox].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=choroplethmapbox].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=choroplethmapbox].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=choroplethmapbox].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=choroplethmapbox].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=choroplethmapbox] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=choroplethmapbox] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • featureidkey Parent: data[type=choroplethmapbox] Type: string Default: \"id\"

      Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Support nested property, for example \"properties.name\".

    • geojson Parent: data[type=choroplethmapbox] Type: number or categorical coordinate string

      Sets the GeoJSON data associated with this trace. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type \"FeatureCollection\" or \"Feature\" with geometries of type \"Polygon\" or \"MultiPolygon\".

    • hoverinfo Parent: data[type=choroplethmapbox] Type: flaglist string. Any combination of \"location\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"location\", \"z\", \"location+z\", \"location+z+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=choroplethmapbox] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=choroplethmapbox].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=choroplethmapbox].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=choroplethmapbox].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=choroplethmapbox].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=choroplethmapbox].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=choroplethmapbox].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choroplethmapbox].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choroplethmapbox].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choroplethmapbox].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=choroplethmapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choroplethmapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choroplethmapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choroplethmapbox].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=choroplethmapbox].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=choroplethmapbox] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `properties` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=choroplethmapbox] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=choroplethmapbox] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=choroplethmapbox] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=choroplethmapbox] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=choroplethmapbox] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=choroplethmapbox].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: color
        • family Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=choroplethmapbox].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=choroplethmapbox].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=choroplethmapbox] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=choroplethmapbox] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • locations Parent: data[type=choroplethmapbox] Type: data_array

      Sets which features found in \"geojson\" to plot using their feature `id` field.

    • marker Parent: data[type=choroplethmapbox] Type: object containing one or more of the keys listed below.
      • line Parent: data[type=choroplethmapbox].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=choroplethmapbox].marker.line Type: color or array of colors Default: \"#444\"

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • width Parent: data[type=choroplethmapbox].marker.line Type: number or array of numbers Default: 1

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=choroplethmapbox].marker Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the opacity of the locations.

    • meta Parent: data[type=choroplethmapbox] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=choroplethmapbox] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • reversescale Parent: data[type=choroplethmapbox] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • selected Parent: data[type=choroplethmapbox] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=choroplethmapbox].selected Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=choroplethmapbox].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

    • selectedpoints Parent: data[type=choroplethmapbox] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=choroplethmapbox] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=choroplethmapbox] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • subplot Parent: data[type=choroplethmapbox] Type: subplotid Default: mapbox

      mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If \"mapbox\" (the default value), the data refer to `layout.mapbox`. If \"mapbox2\", the data refer to `layout.mapbox2`, and so on.

    • text Parent: data[type=choroplethmapbox] Type: string or array of strings

      Sets the text elements associated with each location.

    • type Parent: data[type=choroplethmapbox] Type: \"choroplethmapbox\"
    • uid Parent: data[type=choroplethmapbox] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=choroplethmapbox] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=choroplethmapbox] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=choroplethmapbox].unselected Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=choroplethmapbox].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

    • visible Parent: data[type=choroplethmapbox] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • z Parent: data[type=choroplethmapbox] Type: data_array

      Sets the color values.

    • zauto Parent: data[type=choroplethmapbox] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zmax Parent: data[type=choroplethmapbox] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=choroplethmapbox] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=choroplethmapbox] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    "},{"location":"reference/cone/","title":"cone","text":"A cone trace is an object with the key \"type\" equal to \"cone\" (i.e. {\"type\": \"cone\"}) and any of the keys listed below. Use cone traces to visualize vector fields. Specify a vector field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and 3 vector component arrays `u`, `v`, `w`. The cones are drawn exactly at the positions given by `x`, `y` and `z`.
    • anchor Parent: data[type=cone] Type: enumerated , one of ( \"tip\"| \"tail\"| \"cm\"| \"center\" ) Default: \"cm\"

      Sets the cones' anchor with respect to their x/y/z positions. Note that \"cm\" denote the cone's center of mass which corresponds to 1/4 from the tail to tip.

    • autocolorscale Parent: data[type=cone] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • cauto Parent: data[type=cone] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    • cmax Parent: data[type=cone] Type: number

      Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.

    • cmid Parent: data[type=cone] Type: number

      Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.

    • cmin Parent: data[type=cone] Type: number

      Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.

    • coloraxis Parent: data[type=cone] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=cone] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=cone].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=cone].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=cone].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=cone].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=cone].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=cone].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=cone].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=cone].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=cone].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=cone].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=cone].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=cone].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=cone].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=cone].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=cone].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=cone].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=cone].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=cone].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=cone].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=cone].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=cone].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=cone].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=cone].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=cone].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=cone].colorbar.tickfont Type: color
        • family Parent: data[type=cone].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=cone].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=cone].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=cone].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=cone].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=cone].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=cone].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=cone].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=cone].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=cone].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=cone].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=cone].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=cone].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=cone].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=cone].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=cone].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=cone].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=cone].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=cone].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=cone].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=cone].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=cone].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=cone].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=cone].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=cone].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=cone].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=cone].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=cone].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=cone].colorbar.title.font Type: color
          • family Parent: data[type=cone].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=cone].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=cone].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=cone].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=cone].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=cone].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=cone].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=cone].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=cone].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=cone].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=cone].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=cone].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=cone].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=cone].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=cone].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=cone].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=cone].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=cone].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=cone] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=cone] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • hoverinfo Parent: data[type=cone] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"u\", \"v\", \"w\", \"norm\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"x+y+z+norm+text+name\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=cone] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=cone].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=cone].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=cone].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=cone].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=cone].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=cone].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=cone].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=cone].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=cone].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=cone].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=cone].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=cone].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=cone].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=cone].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=cone] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `norm` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=cone] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=cone] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=cone] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=cone] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=cone] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=cone].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=cone].legendgrouptitle.font Type: color
        • family Parent: data[type=cone].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=cone].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=cone].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=cone].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=cone].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=cone].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=cone].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=cone].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=cone].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=cone] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=cone] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lighting Parent: data[type=cone] Type: object containing one or more of the keys listed below.
      • ambient Parent: data[type=cone].lighting Type: number less than or equal to 1 Default: 0.8

        Ambient light increases overall color visibility but can wash out the image.

      • diffuse Parent: data[type=cone].lighting Type: number less than or equal to 1 Default: 0.8

        Represents the extent that incident rays are reflected in a range of angles.

      • facenormalsepsilon Parent: data[type=cone].lighting Type: number less than or equal to 1 Default: 1e-06

        Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      • fresnel Parent: data[type=cone].lighting Type: number less than or equal to 5 Default: 0.2

        Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      • roughness Parent: data[type=cone].lighting Type: number less than or equal to 1 Default: 0.5

        Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      • specular Parent: data[type=cone].lighting Type: number less than or equal to 2 Default: 0.05

        Represents the level that incident rays are reflected in a single direction, causing shine.

      • vertexnormalsepsilon Parent: data[type=cone].lighting Type: number less than or equal to 1 Default: 1e-12

        Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

    • lightposition Parent: data[type=cone] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=cone].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the X coordinate for each vertex.

      • y Parent: data[type=cone].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the Y coordinate for each vertex.

      • z Parent: data[type=cone].lightposition Type: number between or equal to -100000 and 100000

        Numeric vector, representing the Z coordinate for each vertex.

    • meta Parent: data[type=cone] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=cone] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=cone] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    • reversescale Parent: data[type=cone] Type: boolean

      Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    • scene Parent: data[type=cone] Type: subplotid Default: scene

      Sets a reference between this trace's 3D coordinate system and a 3D scene. If \"scene\" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If \"scene2\", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    • showlegend Parent: data[type=cone] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=cone] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • sizemode Parent: data[type=cone] Type: enumerated , one of ( \"scaled\"| \"absolute\"| \"raw\" ) Default: \"scaled\"

      Determines whether `sizeref` is set as a \"scaled\" (i.e unitless) scalar (normalized by the max u/v/w norm in the vector field) or as \"absolute\" value (in the same units as the vector field). To display sizes in actual vector length use \"raw\".

    • sizeref Parent: data[type=cone] Type: number

      Adjusts the cone size scaling. The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`. This factor (computed internally) corresponds to the minimum \"time\" to travel across two successive x/y/z positions at the average velocity of those two successive positions. All cones in a given trace use the same factor. With `sizemode` set to \"raw\", its default value is \"1\". With `sizemode` set to \"scaled\", `sizeref` is unitless, its default value is \"0.5\". With `sizemode` set to \"absolute\", `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm.

    • text Parent: data[type=cone] Type: string or array of strings

      Sets the text elements associated with the cones. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • type Parent: data[type=cone] Type: \"cone\"
    • u Parent: data[type=cone] Type: data_array

      Sets the x components of the vector field.

    • uhoverformat Parent: data[type=cone] Type: string

      Sets the hover text formatting rulefor `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • uid Parent: data[type=cone] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=cone] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • v Parent: data[type=cone] Type: data_array

      Sets the y components of the vector field.

    • vhoverformat Parent: data[type=cone] Type: string

      Sets the hover text formatting rulefor `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • visible Parent: data[type=cone] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • w Parent: data[type=cone] Type: data_array

      Sets the z components of the vector field.

    • whoverformat Parent: data[type=cone] Type: string

      Sets the hover text formatting rulefor `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • x Parent: data[type=cone] Type: data_array

      Sets the x coordinates of the vector field and of the displayed cones.

    • xhoverformat Parent: data[type=cone] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=cone] Type: data_array

      Sets the y coordinates of the vector field and of the displayed cones.

    • yhoverformat Parent: data[type=cone] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=cone] Type: data_array

      Sets the z coordinates of the vector field and of the displayed cones.

    • zhoverformat Parent: data[type=cone] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `zaxis.hoverformat`.

    "},{"location":"reference/contour/","title":"contour","text":"A contour trace is an object with the key \"type\" equal to \"contour\" (i.e. {\"type\": \"contour\"}) and any of the keys listed below. The data from which contour lines are computed is set in `z`. Data in `z` must be a 2D array of numbers. Say that `z` has N rows and M columns, then by default, these N rows correspond to N y coordinates (set in `y` or auto-generated) and the M columns correspond to M x coordinates (set in `x` or auto-generated). By setting `transpose` to \"true\", the above behavior is flipped.
    • autocolorscale Parent: data[type=contour] Type: boolean

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • autocontour Parent: data[type=contour] Type: boolean Default: true

      Determines whether or not the contour level attributes are picked by an algorithm. If \"true\", the number of contour levels can be set in `ncontours`. If \"false\", set the contour level attributes in `contours`.

    • coloraxis Parent: data[type=contour] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=contour] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=contour].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=contour].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=contour].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=contour].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=contour].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=contour].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=contour].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=contour].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=contour].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=contour].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=contour].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=contour].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=contour].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=contour].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=contour].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=contour].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=contour].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=contour].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=contour].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=contour].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=contour].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=contour].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=contour].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=contour].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=contour].colorbar.tickfont Type: color
        • family Parent: data[type=contour].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=contour].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=contour].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=contour].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=contour].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=contour].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=contour].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=contour].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=contour].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=contour].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=contour].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=contour].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=contour].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=contour].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=contour].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=contour].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=contour].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=contour].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=contour].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=contour].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=contour].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=contour].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=contour].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=contour].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=contour].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=contour].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=contour].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=contour].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=contour].colorbar.title.font Type: color
          • family Parent: data[type=contour].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=contour].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=contour].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=contour].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=contour].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=contour].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=contour].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=contour].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=contour].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=contour].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=contour].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=contour].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=contour].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=contour].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=contour].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=contour].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=contour].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=contour].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=contour] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • connectgaps Parent: data[type=contour] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array otherwise it is defaulted to false.

    • contours Parent: data[type=contour] Type: object containing one or more of the keys listed below.
      • coloring Parent: data[type=contour].contours Type: enumerated , one of ( \"fill\"| \"heatmap\"| \"lines\"| \"none\" ) Default: \"fill\"

        Determines the coloring method showing the contour values. If \"fill\", coloring is done evenly between each contour level If \"heatmap\", a heatmap gradient coloring is applied between each contour level. If \"lines\", coloring is done on the contour lines. If \"none\", no coloring is applied on this trace.

      • end Parent: data[type=contour].contours Type: number

        Sets the end contour level value. Must be more than `contours.start`

      • labelfont Parent: data[type=contour].contours Type: object containing one or more of the keys listed below.

        Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

        • color Parent: data[type=contour].contours.labelfont Type: color
        • family Parent: data[type=contour].contours.labelfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=contour].contours.labelfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=contour].contours.labelfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=contour].contours.labelfont Type: number greater than or equal to 1
        • style Parent: data[type=contour].contours.labelfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=contour].contours.labelfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=contour].contours.labelfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=contour].contours.labelfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • labelformat Parent: data[type=contour].contours Type: string

        Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      • operation Parent: data[type=contour].contours Type: enumerated , one of ( \"=\"| \"<\"| \">=\"| \">\"| \"<=\"| \"[]\"| \"()\"| \"[)\"| \"(]\"| \"][\"| \")(\"| \"](\"| \")[\" ) Default: \"=\"

        Sets the constraint operation. \"=\" keeps regions equal to `value` \"<\" and \"<=\" keep regions less than `value` \">\" and \">=\" keep regions greater than `value` \"[]\", \"()\", \"[)\", and \"(]\" keep regions inside `value[0]` to `value[1]` \"][\", \")(\", \"](\", \")[\" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.

      • showlabels Parent: data[type=contour].contours Type: boolean

        Determines whether to label the contour lines with their values.

      • showlines Parent: data[type=contour].contours Type: boolean Default: true

        Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to \"fill\".

      • size Parent: data[type=contour].contours Type: number

        Sets the step between each contour level. Must be positive.

      • start Parent: data[type=contour].contours Type: number

        Sets the starting contour level value. Must be less than `contours.end`

      • type Parent: data[type=contour].contours Type: enumerated , one of ( \"levels\"| \"constraint\" ) Default: \"levels\"

        If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.

      • value Parent: data[type=contour].contours Type: number or categorical coordinate string

        Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) \"value\" is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) \"value\" is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.

    • customdata Parent: data[type=contour] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=contour] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • dy Parent: data[type=contour] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • fillcolor Parent: data[type=contour] Type: color

      Sets the fill color if `contours.type` is \"constraint\". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=contour] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=contour] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=contour].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=contour].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=contour].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=contour].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=contour].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=contour].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=contour].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=contour].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=contour].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=contour].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=contour].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=contour].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=contour].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=contour].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoverongaps Parent: data[type=contour] Type: boolean Default: true

      Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.

    • hovertemplate Parent: data[type=contour] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=contour] Type: data_array

      Same as `text`.

    • ids Parent: data[type=contour] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=contour] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=contour] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=contour] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=contour].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=contour].legendgrouptitle.font Type: color
        • family Parent: data[type=contour].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=contour].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=contour].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=contour].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=contour].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=contour].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=contour].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=contour].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=contour].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=contour] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=contour] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=contour] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=contour].line Type: color

        Sets the color of the contour level. Has no effect if `contours.coloring` is set to \"lines\".

      • dash Parent: data[type=contour].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • smoothing Parent: data[type=contour].line Type: number less than or equal to 1.3 Default: 1

        Sets the amount of smoothing for the contour lines, where \"0\" corresponds to no smoothing.

      • width Parent: data[type=contour].line Type: number

        Sets the contour line width in (in px) Defaults to \"0.5\" when `contours.type` is \"levels\". Defaults to \"2\" when `contour.type` is \"constraint\".

    • meta Parent: data[type=contour] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=contour] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • ncontours Parent: data[type=contour] Type: integer greater than or equal to 1 Default: 15

      Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is \"true\" or if `contours.size` is missing.

    • opacity Parent: data[type=contour] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • reversescale Parent: data[type=contour] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • showlegend Parent: data[type=contour] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=contour] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • text Parent: data[type=contour] Type: data_array

      Sets the text elements associated with each z value.

    • textfont Parent: data[type=contour] Type: object containing one or more of the keys listed below.

      For this trace it only has an effect if `coloring` is set to \"heatmap\". Sets the text font.

      • color Parent: data[type=contour].textfont Type: color Default: \"auto\"
      • family Parent: data[type=contour].textfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=contour].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=contour].textfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=contour].textfont Type: number greater than or equal to 1 Default: \"auto\"
      • style Parent: data[type=contour].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=contour].textfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=contour].textfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=contour].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • texttemplate Parent: data[type=contour] Type: string

      For this trace it only has an effect if `coloring` is set to \"heatmap\". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.

    • transpose Parent: data[type=contour] Type: boolean

      Transposes the z data.

    • type Parent: data[type=contour] Type: \"contour\"
    • uid Parent: data[type=contour] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=contour] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=contour] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=contour] Type: data_array

      Sets the x coordinates.

    • x0 Parent: data[type=contour] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • xaxis Parent: data[type=contour] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=contour] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=contour] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=contour] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=contour] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=contour] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • xtype Parent: data[type=contour] Type: enumerated , one of ( \"array\"| \"scaled\" )

      If \"array\", the heatmap's x coordinates are given by \"x\" (the default behavior when `x` is provided). If \"scaled\", the heatmap's x coordinates are given by \"x0\" and \"dx\" (the default behavior when `x` is not provided).

    • y Parent: data[type=contour] Type: data_array

      Sets the y coordinates.

    • y0 Parent: data[type=contour] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • yaxis Parent: data[type=contour] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ycalendar Parent: data[type=contour] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=contour] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=contour] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=contour] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=contour] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    • ytype Parent: data[type=contour] Type: enumerated , one of ( \"array\"| \"scaled\" )

      If \"array\", the heatmap's y coordinates are given by \"y\" (the default behavior when `y` is provided) If \"scaled\", the heatmap's y coordinates are given by \"y0\" and \"dy\" (the default behavior when `y` is not provided)

    • z Parent: data[type=contour] Type: data_array

      Sets the z data.

    • zauto Parent: data[type=contour] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zhoverformat Parent: data[type=contour] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • zmax Parent: data[type=contour] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=contour] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=contour] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    • zorder Parent: data[type=contour] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/contourcarpet/","title":"contourcarpet","text":"A contourcarpet trace is an object with the key \"type\" equal to \"contourcarpet\" (i.e. {\"type\": \"contourcarpet\"}) and any of the keys listed below. Plots contours on either the first carpet axis or the carpet axis with a matching `carpet` attribute. Data `z` is interpreted as matching that of the corresponding carpet axis.
    • a Parent: data[type=contourcarpet] Type: data_array

      Sets the x coordinates.

    • a0 Parent: data[type=contourcarpet] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • atype Parent: data[type=contourcarpet] Type: enumerated , one of ( \"array\"| \"scaled\" )

      If \"array\", the heatmap's x coordinates are given by \"x\" (the default behavior when `x` is provided). If \"scaled\", the heatmap's x coordinates are given by \"x0\" and \"dx\" (the default behavior when `x` is not provided).

    • autocolorscale Parent: data[type=contourcarpet] Type: boolean

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • autocontour Parent: data[type=contourcarpet] Type: boolean Default: true

      Determines whether or not the contour level attributes are picked by an algorithm. If \"true\", the number of contour levels can be set in `ncontours`. If \"false\", set the contour level attributes in `contours`.

    • b Parent: data[type=contourcarpet] Type: data_array

      Sets the y coordinates.

    • b0 Parent: data[type=contourcarpet] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • btype Parent: data[type=contourcarpet] Type: enumerated , one of ( \"array\"| \"scaled\" )

      If \"array\", the heatmap's y coordinates are given by \"y\" (the default behavior when `y` is provided) If \"scaled\", the heatmap's y coordinates are given by \"y0\" and \"dy\" (the default behavior when `y` is not provided)

    • carpet Parent: data[type=contourcarpet] Type: string

      The `carpet` of the carpet axes on which this contour trace lies

    • coloraxis Parent: data[type=contourcarpet] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=contourcarpet] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=contourcarpet].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=contourcarpet].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=contourcarpet].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=contourcarpet].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=contourcarpet].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=contourcarpet].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=contourcarpet].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=contourcarpet].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=contourcarpet].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=contourcarpet].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=contourcarpet].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=contourcarpet].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=contourcarpet].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=contourcarpet].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=contourcarpet].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=contourcarpet].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=contourcarpet].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=contourcarpet].colorbar.tickfont Type: color
        • family Parent: data[type=contourcarpet].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=contourcarpet].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=contourcarpet].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=contourcarpet].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=contourcarpet].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=contourcarpet].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=contourcarpet].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=contourcarpet].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=contourcarpet].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=contourcarpet].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=contourcarpet].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=contourcarpet].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=contourcarpet].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=contourcarpet].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=contourcarpet].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=contourcarpet].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=contourcarpet].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=contourcarpet].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=contourcarpet].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=contourcarpet].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=contourcarpet].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=contourcarpet].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=contourcarpet].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=contourcarpet].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=contourcarpet].colorbar.title.font Type: color
          • family Parent: data[type=contourcarpet].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=contourcarpet].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=contourcarpet].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=contourcarpet].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=contourcarpet].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=contourcarpet].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=contourcarpet].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=contourcarpet].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=contourcarpet].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=contourcarpet].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=contourcarpet].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=contourcarpet].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=contourcarpet].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=contourcarpet].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=contourcarpet].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=contourcarpet] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • contours Parent: data[type=contourcarpet] Type: object containing one or more of the keys listed below.
      • coloring Parent: data[type=contourcarpet].contours Type: enumerated , one of ( \"fill\"| \"lines\"| \"none\" ) Default: \"fill\"

        Determines the coloring method showing the contour values. If \"fill\", coloring is done evenly between each contour level If \"lines\", coloring is done on the contour lines. If \"none\", no coloring is applied on this trace.

      • end Parent: data[type=contourcarpet].contours Type: number

        Sets the end contour level value. Must be more than `contours.start`

      • labelfont Parent: data[type=contourcarpet].contours Type: object containing one or more of the keys listed below.

        Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

        • color Parent: data[type=contourcarpet].contours.labelfont Type: color
        • family Parent: data[type=contourcarpet].contours.labelfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=contourcarpet].contours.labelfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=contourcarpet].contours.labelfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=contourcarpet].contours.labelfont Type: number greater than or equal to 1
        • style Parent: data[type=contourcarpet].contours.labelfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=contourcarpet].contours.labelfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=contourcarpet].contours.labelfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=contourcarpet].contours.labelfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • labelformat Parent: data[type=contourcarpet].contours Type: string

        Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      • operation Parent: data[type=contourcarpet].contours Type: enumerated , one of ( \"=\"| \"<\"| \">=\"| \">\"| \"<=\"| \"[]\"| \"()\"| \"[)\"| \"(]\"| \"][\"| \")(\"| \"](\"| \")[\" ) Default: \"=\"

        Sets the constraint operation. \"=\" keeps regions equal to `value` \"<\" and \"<=\" keep regions less than `value` \">\" and \">=\" keep regions greater than `value` \"[]\", \"()\", \"[)\", and \"(]\" keep regions inside `value[0]` to `value[1]` \"][\", \")(\", \"](\", \")[\" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.

      • showlabels Parent: data[type=contourcarpet].contours Type: boolean

        Determines whether to label the contour lines with their values.

      • showlines Parent: data[type=contourcarpet].contours Type: boolean Default: true

        Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to \"fill\".

      • size Parent: data[type=contourcarpet].contours Type: number

        Sets the step between each contour level. Must be positive.

      • start Parent: data[type=contourcarpet].contours Type: number

        Sets the starting contour level value. Must be less than `contours.end`

      • type Parent: data[type=contourcarpet].contours Type: enumerated , one of ( \"levels\"| \"constraint\" ) Default: \"levels\"

        If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.

      • value Parent: data[type=contourcarpet].contours Type: number or categorical coordinate string

        Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) \"value\" is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) \"value\" is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.

    • customdata Parent: data[type=contourcarpet] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • da Parent: data[type=contourcarpet] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • db Parent: data[type=contourcarpet] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • fillcolor Parent: data[type=contourcarpet] Type: color

      Sets the fill color if `contours.type` is \"constraint\". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hovertext Parent: data[type=contourcarpet] Type: data_array

      Same as `text`.

    • ids Parent: data[type=contourcarpet] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=contourcarpet] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=contourcarpet] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=contourcarpet] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=contourcarpet].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=contourcarpet].legendgrouptitle.font Type: color
        • family Parent: data[type=contourcarpet].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=contourcarpet].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=contourcarpet].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=contourcarpet].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=contourcarpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=contourcarpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=contourcarpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=contourcarpet].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=contourcarpet].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=contourcarpet] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=contourcarpet] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=contourcarpet] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=contourcarpet].line Type: color

        Sets the color of the contour level. Has no effect if `contours.coloring` is set to \"lines\".

      • dash Parent: data[type=contourcarpet].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • smoothing Parent: data[type=contourcarpet].line Type: number less than or equal to 1.3 Default: 1

        Sets the amount of smoothing for the contour lines, where \"0\" corresponds to no smoothing.

      • width Parent: data[type=contourcarpet].line Type: number

        Sets the contour line width in (in px) Defaults to \"0.5\" when `contours.type` is \"levels\". Defaults to \"2\" when `contour.type` is \"constraint\".

    • meta Parent: data[type=contourcarpet] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=contourcarpet] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • ncontours Parent: data[type=contourcarpet] Type: integer greater than or equal to 1 Default: 15

      Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is \"true\" or if `contours.size` is missing.

    • opacity Parent: data[type=contourcarpet] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • reversescale Parent: data[type=contourcarpet] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • showlegend Parent: data[type=contourcarpet] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=contourcarpet] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • text Parent: data[type=contourcarpet] Type: data_array

      Sets the text elements associated with each z value.

    • transpose Parent: data[type=contourcarpet] Type: boolean

      Transposes the z data.

    • type Parent: data[type=contourcarpet] Type: \"contourcarpet\"
    • uid Parent: data[type=contourcarpet] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=contourcarpet] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=contourcarpet] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • xaxis Parent: data[type=contourcarpet] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • yaxis Parent: data[type=contourcarpet] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • z Parent: data[type=contourcarpet] Type: data_array

      Sets the z data.

    • zauto Parent: data[type=contourcarpet] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zmax Parent: data[type=contourcarpet] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=contourcarpet] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=contourcarpet] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    • zorder Parent: data[type=contourcarpet] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/densitymap/","title":"densitymap","text":"A densitymap trace is an object with the key \"type\" equal to \"densitymap\" (i.e. {\"type\": \"densitymap\"}) and any of the keys listed below. Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.
    • autocolorscale Parent: data[type=densitymap] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • below Parent: data[type=densitymap] Type: string

      Determines if the densitymap trace will be inserted before the layer with the specified ID. By default, densitymap traces are placed below the first layer of type symbol If set to '', the layer will be inserted above every existing layer.

    • coloraxis Parent: data[type=densitymap] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=densitymap] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=densitymap].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=densitymap].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=densitymap].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=densitymap].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=densitymap].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=densitymap].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=densitymap].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=densitymap].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=densitymap].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=densitymap].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=densitymap].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=densitymap].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=densitymap].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=densitymap].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=densitymap].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=densitymap].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=densitymap].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=densitymap].colorbar.tickfont Type: color
        • family Parent: data[type=densitymap].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=densitymap].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=densitymap].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=densitymap].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=densitymap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=densitymap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=densitymap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=densitymap].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=densitymap].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=densitymap].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=densitymap].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=densitymap].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=densitymap].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=densitymap].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=densitymap].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=densitymap].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=densitymap].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=densitymap].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=densitymap].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=densitymap].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=densitymap].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=densitymap].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=densitymap].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=densitymap].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=densitymap].colorbar.title.font Type: color
          • family Parent: data[type=densitymap].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=densitymap].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=densitymap].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=densitymap].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=densitymap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=densitymap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=densitymap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=densitymap].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=densitymap].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=densitymap].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=densitymap].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=densitymap].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=densitymap].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=densitymap].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=densitymap].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=densitymap] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=densitymap] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • hoverinfo Parent: data[type=densitymap] Type: flaglist string. Any combination of \"lon\", \"lat\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"lon\", \"lat\", \"lon+lat\", \"lon+lat+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=densitymap] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=densitymap].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=densitymap].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=densitymap].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=densitymap].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=densitymap].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=densitymap].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=densitymap].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=densitymap].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=densitymap].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=densitymap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=densitymap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=densitymap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=densitymap].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=densitymap].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=densitymap] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=densitymap] Type: string or array of strings

      Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=densitymap] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • lat Parent: data[type=densitymap] Type: data_array

      Sets the latitude coordinates (in degrees North).

    • legend Parent: data[type=densitymap] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=densitymap] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=densitymap] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=densitymap].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=densitymap].legendgrouptitle.font Type: color
        • family Parent: data[type=densitymap].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=densitymap].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=densitymap].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=densitymap].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=densitymap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=densitymap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=densitymap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=densitymap].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=densitymap].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=densitymap] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=densitymap] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lon Parent: data[type=densitymap] Type: data_array

      Sets the longitude coordinates (in degrees East).

    • meta Parent: data[type=densitymap] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=densitymap] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=densitymap] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • radius Parent: data[type=densitymap] Type: number or array of numbers greater than or equal to 1 Default: 30

      Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymap trace smoother, but less detailed.

    • reversescale Parent: data[type=densitymap] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • showlegend Parent: data[type=densitymap] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=densitymap] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • subplot Parent: data[type=densitymap] Type: subplotid Default: map

      Sets a reference between this trace's data coordinates and a map subplot. If \"map\" (the default value), the data refer to `layout.map`. If \"map2\", the data refer to `layout.map2`, and so on.

    • text Parent: data[type=densitymap] Type: string or array of strings

      Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • type Parent: data[type=densitymap] Type: \"densitymap\"
    • uid Parent: data[type=densitymap] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=densitymap] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=densitymap] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • z Parent: data[type=densitymap] Type: data_array

      Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot

    • zauto Parent: data[type=densitymap] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zmax Parent: data[type=densitymap] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=densitymap] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=densitymap] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    "},{"location":"reference/densitymapbox/","title":"densitymapbox","text":"A densitymapbox trace is an object with the key \"type\" equal to \"densitymapbox\" (i.e. {\"type\": \"densitymapbox\"}) and any of the keys listed below. \"densitymapbox\" trace is deprecated! Please consider switching to the \"densitymap\" trace type and `map` subplots. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.
    • autocolorscale Parent: data[type=densitymapbox] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • below Parent: data[type=densitymapbox] Type: string

      Determines if the densitymapbox trace will be inserted before the layer with the specified ID. By default, densitymapbox traces are placed below the first layer of type symbol If set to '', the layer will be inserted above every existing layer.

    • coloraxis Parent: data[type=densitymapbox] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=densitymapbox] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=densitymapbox].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=densitymapbox].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=densitymapbox].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=densitymapbox].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=densitymapbox].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=densitymapbox].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=densitymapbox].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=densitymapbox].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=densitymapbox].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=densitymapbox].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=densitymapbox].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=densitymapbox].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=densitymapbox].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=densitymapbox].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=densitymapbox].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=densitymapbox].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=densitymapbox].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=densitymapbox].colorbar.tickfont Type: color
        • family Parent: data[type=densitymapbox].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=densitymapbox].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=densitymapbox].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=densitymapbox].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=densitymapbox].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=densitymapbox].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=densitymapbox].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=densitymapbox].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=densitymapbox].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=densitymapbox].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=densitymapbox].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=densitymapbox].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=densitymapbox].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=densitymapbox].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=densitymapbox].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=densitymapbox].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=densitymapbox].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=densitymapbox].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=densitymapbox].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=densitymapbox].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=densitymapbox].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=densitymapbox].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=densitymapbox].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=densitymapbox].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=densitymapbox].colorbar.title.font Type: color
          • family Parent: data[type=densitymapbox].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=densitymapbox].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=densitymapbox].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=densitymapbox].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=densitymapbox].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=densitymapbox].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=densitymapbox].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=densitymapbox].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=densitymapbox].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=densitymapbox].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=densitymapbox].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=densitymapbox].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=densitymapbox].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=densitymapbox].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=densitymapbox].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=densitymapbox] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=densitymapbox] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • hoverinfo Parent: data[type=densitymapbox] Type: flaglist string. Any combination of \"lon\", \"lat\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"lon\", \"lat\", \"lon+lat\", \"lon+lat+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=densitymapbox] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=densitymapbox].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=densitymapbox].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=densitymapbox].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=densitymapbox].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=densitymapbox].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=densitymapbox].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=densitymapbox].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=densitymapbox].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=densitymapbox].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=densitymapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=densitymapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=densitymapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=densitymapbox].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=densitymapbox].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=densitymapbox] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=densitymapbox] Type: string or array of strings

      Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=densitymapbox] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • lat Parent: data[type=densitymapbox] Type: data_array

      Sets the latitude coordinates (in degrees North).

    • legend Parent: data[type=densitymapbox] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=densitymapbox] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=densitymapbox] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=densitymapbox].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=densitymapbox].legendgrouptitle.font Type: color
        • family Parent: data[type=densitymapbox].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=densitymapbox].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=densitymapbox].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=densitymapbox].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=densitymapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=densitymapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=densitymapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=densitymapbox].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=densitymapbox].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=densitymapbox] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=densitymapbox] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lon Parent: data[type=densitymapbox] Type: data_array

      Sets the longitude coordinates (in degrees East).

    • meta Parent: data[type=densitymapbox] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=densitymapbox] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=densitymapbox] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • radius Parent: data[type=densitymapbox] Type: number or array of numbers greater than or equal to 1 Default: 30

      Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.

    • reversescale Parent: data[type=densitymapbox] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • showlegend Parent: data[type=densitymapbox] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=densitymapbox] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • subplot Parent: data[type=densitymapbox] Type: subplotid Default: mapbox

      mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If \"mapbox\" (the default value), the data refer to `layout.mapbox`. If \"mapbox2\", the data refer to `layout.mapbox2`, and so on.

    • text Parent: data[type=densitymapbox] Type: string or array of strings

      Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • type Parent: data[type=densitymapbox] Type: \"densitymapbox\"
    • uid Parent: data[type=densitymapbox] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=densitymapbox] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=densitymapbox] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • z Parent: data[type=densitymapbox] Type: data_array

      Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot

    • zauto Parent: data[type=densitymapbox] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zmax Parent: data[type=densitymapbox] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=densitymapbox] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=densitymapbox] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    "},{"location":"reference/funnel/","title":"funnel","text":"A funnel trace is an object with the key \"type\" equal to \"funnel\" (i.e. {\"type\": \"funnel\"}) and any of the keys listed below. Visualize stages in a process using length-encoded bars. This trace can be used to show data in either a part-to-whole representation wherein each item appears in a single stage, or in a \"drop-off\" representation wherein each item appears in each stage it traversed. See also the \"funnelarea\" trace type for a different approach to visualizing funnel data.
    • alignmentgroup Parent: data[type=funnel] Type: string

      Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    • cliponaxis Parent: data[type=funnel] Type: boolean Default: true

      Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • connector Parent: data[type=funnel] Type: object containing one or more of the keys listed below.
      • fillcolor Parent: data[type=funnel].connector Type: color

        Sets the fill color.

      • line Parent: data[type=funnel].connector Type: object containing one or more of the keys listed below.
        • color Parent: data[type=funnel].connector.line Type: color Default: \"#444\"

          Sets the line color.

        • dash Parent: data[type=funnel].connector.line Type: string Default: \"solid\"

          Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

        • width Parent: data[type=funnel].connector.line Type: number

          Sets the line width (in px).

      • visible Parent: data[type=funnel].connector Type: boolean Default: true

        Determines if connector regions and lines are drawn.

    • constraintext Parent: data[type=funnel] Type: enumerated , one of ( \"inside\"| \"outside\"| \"both\"| \"none\" ) Default: \"both\"

      Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    • customdata Parent: data[type=funnel] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=funnel] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • dy Parent: data[type=funnel] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • hoverinfo Parent: data[type=funnel] Type: flaglist string. Any combination of \"name\", \"x\", \"y\", \"text\", \"percent initial\", \"percent previous\", \"percent total\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"name\", \"x\", \"name+x\", \"name+x+y\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=funnel] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=funnel].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=funnel].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=funnel].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=funnel].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=funnel].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=funnel].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=funnel].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=funnel].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=funnel].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=funnel].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=funnel].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=funnel].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=funnel].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=funnel].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=funnel] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=funnel] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=funnel] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextanchor Parent: data[type=funnel] Type: enumerated , one of ( \"end\"| \"middle\"| \"start\" ) Default: \"middle\"

      Determines if texts are kept at center or start/end points in `textposition` \"inside\" mode.

    • insidetextfont Parent: data[type=funnel] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying inside the bar.

      • color Parent: data[type=funnel].insidetextfont Type: color or array of colors
      • family Parent: data[type=funnel].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=funnel].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=funnel].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=funnel].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=funnel].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=funnel].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=funnel].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=funnel].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • legend Parent: data[type=funnel] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=funnel] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=funnel] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=funnel].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=funnel].legendgrouptitle.font Type: color
        • family Parent: data[type=funnel].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=funnel].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=funnel].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=funnel].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=funnel].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=funnel].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=funnel].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=funnel].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=funnel].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=funnel] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=funnel] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=funnel] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=funnel].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=funnel].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=funnel].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=funnel].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=funnel].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=funnel].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=funnel].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=funnel].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=funnel].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=funnel].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=funnel].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=funnel].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=funnel].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=funnel].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=funnel].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=funnel].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=funnel].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=funnel].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=funnel].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=funnel].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=funnel].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=funnel].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=funnel].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=funnel].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=funnel].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=funnel].marker.colorbar.tickfont Type: color
          • family Parent: data[type=funnel].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=funnel].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=funnel].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=funnel].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=funnel].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=funnel].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=funnel].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=funnel].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=funnel].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=funnel].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=funnel].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=funnel].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=funnel].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=funnel].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=funnel].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=funnel].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=funnel].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=funnel].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=funnel].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=funnel].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=funnel].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=funnel].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=funnel].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=funnel].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=funnel].marker.colorbar.title.font Type: color
            • family Parent: data[type=funnel].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=funnel].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=funnel].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=funnel].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=funnel].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=funnel].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=funnel].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=funnel].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=funnel].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=funnel].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=funnel].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=funnel].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=funnel].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=funnel].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=funnel].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=funnel].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=funnel].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=funnel].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=funnel].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=funnel].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=funnel].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=funnel].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=funnel].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=funnel].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=funnel].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=funnel].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=funnel].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=funnel].marker Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the opacity of the bars.

      • reversescale Parent: data[type=funnel].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=funnel].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

    • meta Parent: data[type=funnel] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=funnel] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • offset Parent: data[type=funnel] Type: number

      Shifts the position where the bar is drawn (in position axis units). In \"group\" barmode, traces that set \"offset\" will be excluded and drawn in \"overlay\" mode instead.

    • offsetgroup Parent: data[type=funnel] Type: string

      Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    • opacity Parent: data[type=funnel] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • orientation Parent: data[type=funnel] Type: enumerated , one of ( \"v\"| \"h\" )

      Sets the orientation of the funnels. With \"v\" (\"h\"), the value of the each bar spans along the vertical (horizontal). By default funnels are tend to be oriented horizontally; unless only \"y\" array is presented or orientation is set to \"v\". Also regarding graphs including only 'horizontal' funnels, \"autorange\" on the \"y-axis\" are set to \"reversed\".

    • outsidetextfont Parent: data[type=funnel] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying outside the bar.

      • color Parent: data[type=funnel].outsidetextfont Type: color or array of colors
      • family Parent: data[type=funnel].outsidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=funnel].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=funnel].outsidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=funnel].outsidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=funnel].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=funnel].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=funnel].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=funnel].outsidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • selectedpoints Parent: data[type=funnel] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=funnel] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=funnel] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textangle Parent: data[type=funnel] Type: angle

      Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With \"auto\" the texts may automatically be rotated to fit with the maximum size in bars.

    • textfont Parent: data[type=funnel] Type: object containing one or more of the keys listed below.

      Sets the font used for `text`.

      • color Parent: data[type=funnel].textfont Type: color or array of colors
      • family Parent: data[type=funnel].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=funnel].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=funnel].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=funnel].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=funnel].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=funnel].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=funnel].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=funnel].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textinfo Parent: data[type=funnel] Type: flaglist string. Any combination of \"label\", \"text\", \"percent initial\", \"percent previous\", \"percent total\", \"value\" joined with a \"+\" OR \"none\". Examples: \"label\", \"text\", \"label+text\", \"label+text+percent initial\", \"none\"

      Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace).

    • textposition Parent: data[type=funnel] Type: enumerated or array of enumerateds , one of ( \"inside\"| \"outside\"| \"auto\"| \"none\" ) Default: \"auto\"

      Specifies the location of the `text`. \"inside\" positions `text` inside, next to the bar end (rotated and scaled if needed). \"outside\" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. \"auto\" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If \"none\", no text appears.

    • texttemplate Parent: data[type=funnel] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`.

    • type Parent: data[type=funnel] Type: \"funnel\"
    • uid Parent: data[type=funnel] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=funnel] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=funnel] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • width Parent: data[type=funnel] Type: number

      Sets the bar width (in position axis units).

    • x Parent: data[type=funnel] Type: data_array

      Sets the x coordinates.

    • x0 Parent: data[type=funnel] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • xaxis Parent: data[type=funnel] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xhoverformat Parent: data[type=funnel] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=funnel] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=funnel] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=funnel] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • y Parent: data[type=funnel] Type: data_array

      Sets the y coordinates.

    • y0 Parent: data[type=funnel] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • yaxis Parent: data[type=funnel] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • yhoverformat Parent: data[type=funnel] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=funnel] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=funnel] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=funnel] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    • zorder Parent: data[type=funnel] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/funnelarea/","title":"funnelarea","text":"A funnelarea trace is an object with the key \"type\" equal to \"funnelarea\" (i.e. {\"type\": \"funnelarea\"}) and any of the keys listed below. Visualize stages in a process using area-encoded trapezoids. This trace can be used to show data in a part-to-whole representation similar to a \"pie\" trace, wherein each item appears in a single stage. See also the \"funnel\" trace type for a different approach to visualizing funnel data.
    • aspectratio Parent: data[type=funnelarea] Type: number Default: 1

      Sets the ratio between height and width

    • baseratio Parent: data[type=funnelarea] Type: number less than or equal to 1 Default: 0.333

      Sets the ratio between bottom length and maximum top length.

    • customdata Parent: data[type=funnelarea] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dlabel Parent: data[type=funnelarea] Type: number Default: 1

      Sets the label step. See `label0` for more info.

    • domain Parent: data[type=funnelarea] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=funnelarea].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .

      • row Parent: data[type=funnelarea].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .

      • x Parent: data[type=funnelarea].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this funnelarea trace (in plot fraction).

      • y Parent: data[type=funnelarea].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this funnelarea trace (in plot fraction).

    • hoverinfo Parent: data[type=funnelarea] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"percent\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=funnelarea] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=funnelarea].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=funnelarea].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=funnelarea].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=funnelarea].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=funnelarea].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=funnelarea].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=funnelarea].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=funnelarea].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=funnelarea].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=funnelarea].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=funnelarea].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=funnelarea].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=funnelarea].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=funnelarea].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=funnelarea] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=funnelarea] Type: string or array of strings

      Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=funnelarea] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextfont Parent: data[type=funnelarea] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying inside the sector.

      • color Parent: data[type=funnelarea].insidetextfont Type: color or array of colors
      • family Parent: data[type=funnelarea].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=funnelarea].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=funnelarea].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=funnelarea].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=funnelarea].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=funnelarea].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=funnelarea].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=funnelarea].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • label0 Parent: data[type=funnelarea] Type: number

      Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.

    • labels Parent: data[type=funnelarea] Type: data_array

      Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.

    • legend Parent: data[type=funnelarea] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=funnelarea] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=funnelarea] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=funnelarea].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=funnelarea].legendgrouptitle.font Type: color
        • family Parent: data[type=funnelarea].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=funnelarea].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=funnelarea].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=funnelarea].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=funnelarea].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=funnelarea].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=funnelarea].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=funnelarea].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=funnelarea].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=funnelarea] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=funnelarea] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=funnelarea] Type: object containing one or more of the keys listed below.
      • colors Parent: data[type=funnelarea].marker Type: data_array

        Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.

      • line Parent: data[type=funnelarea].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=funnelarea].marker.line Type: color or array of colors

          Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        • width Parent: data[type=funnelarea].marker.line Type: number or array of numbers Default: 1

          Sets the width (in px) of the line enclosing each sector.

      • pattern Parent: data[type=funnelarea].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=funnelarea].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=funnelarea].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=funnelarea].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=funnelarea].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=funnelarea].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=funnelarea].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=funnelarea].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=funnelarea].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

    • meta Parent: data[type=funnelarea] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=funnelarea] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=funnelarea] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • scalegroup Parent: data[type=funnelarea] Type: string

      If there are multiple funnelareas that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.

    • showlegend Parent: data[type=funnelarea] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=funnelarea] Type: data_array

      Sets text elements associated with each sector. If trace `textinfo` contains a \"text\" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=funnelarea] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo`.

      • color Parent: data[type=funnelarea].textfont Type: color or array of colors
      • family Parent: data[type=funnelarea].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=funnelarea].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=funnelarea].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=funnelarea].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=funnelarea].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=funnelarea].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=funnelarea].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=funnelarea].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textinfo Parent: data[type=funnelarea] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"percent\" joined with a \"+\" OR \"none\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"none\"

      Determines which trace information appear on the graph.

    • textposition Parent: data[type=funnelarea] Type: enumerated or array of enumerateds , one of ( \"inside\"| \"none\" ) Default: \"inside\"

      Specifies the location of the `textinfo`.

    • texttemplate Parent: data[type=funnelarea] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`.

    • title Parent: data[type=funnelarea] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=funnelarea].title Type: object containing one or more of the keys listed below.

        Sets the font used for `title`.

        • color Parent: data[type=funnelarea].title.font Type: color or array of colors
        • family Parent: data[type=funnelarea].title.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=funnelarea].title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=funnelarea].title.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=funnelarea].title.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=funnelarea].title.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=funnelarea].title.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=funnelarea].title.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=funnelarea].title.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • position Parent: data[type=funnelarea].title Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\" ) Default: \"top center\"

        Specifies the location of the `title`.

      • text Parent: data[type=funnelarea].title Type: string

        Sets the title of the chart. If it is empty, no title is displayed.

    • type Parent: data[type=funnelarea] Type: \"funnelarea\"
    • uid Parent: data[type=funnelarea] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=funnelarea] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • values Parent: data[type=funnelarea] Type: data_array

      Sets the values of the sectors. If omitted, we count occurrences of each label.

    • visible Parent: data[type=funnelarea] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/heatmap/","title":"heatmap","text":"A heatmap trace is an object with the key \"type\" equal to \"heatmap\" (i.e. {\"type\": \"heatmap\"}) and any of the keys listed below. The data that describes the heatmap value-to-color mapping is set in `z`. Data in `z` can either be a 2D array of values (ragged or not) or a 1D array of values. In the case where `z` is a 2D array, say that `z` has N rows and M columns. Then, by default, the resulting heatmap will have N partitions along the y axis and M partitions along the x axis. In other words, the i-th row/ j-th column cell in `z` is mapped to the i-th partition of the y axis (starting from the bottom of the plot) and the j-th partition of the x-axis (starting from the left of the plot). This behavior can be flipped by using `transpose`. Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements. If M (N), then the coordinates correspond to the center of the heatmap cells and the cells have equal width. If M+1 (N+1), then the coordinates correspond to the edges of the heatmap cells. In the case where `z` is a 1D array, the x and y coordinates must be provided in `x` and `y` respectively to form data triplets.
    • autocolorscale Parent: data[type=heatmap] Type: boolean

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • coloraxis Parent: data[type=heatmap] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=heatmap] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=heatmap].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=heatmap].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=heatmap].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=heatmap].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=heatmap].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=heatmap].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=heatmap].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=heatmap].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=heatmap].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=heatmap].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=heatmap].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=heatmap].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=heatmap].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=heatmap].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=heatmap].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=heatmap].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=heatmap].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=heatmap].colorbar.tickfont Type: color
        • family Parent: data[type=heatmap].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=heatmap].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=heatmap].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=heatmap].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=heatmap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=heatmap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=heatmap].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=heatmap].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=heatmap].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=heatmap].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=heatmap].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=heatmap].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=heatmap].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=heatmap].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=heatmap].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=heatmap].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=heatmap].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=heatmap].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=heatmap].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=heatmap].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=heatmap].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=heatmap].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=heatmap].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=heatmap].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=heatmap].colorbar.title.font Type: color
          • family Parent: data[type=heatmap].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=heatmap].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=heatmap].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=heatmap].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=heatmap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=heatmap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=heatmap].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=heatmap].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=heatmap].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=heatmap].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=heatmap].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=heatmap].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=heatmap].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=heatmap].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=heatmap].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=heatmap] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • connectgaps Parent: data[type=heatmap] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array and `zsmooth` is not false; otherwise it is defaulted to false.

    • customdata Parent: data[type=heatmap] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=heatmap] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • dy Parent: data[type=heatmap] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • hoverinfo Parent: data[type=heatmap] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=heatmap] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=heatmap].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=heatmap].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=heatmap].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=heatmap].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=heatmap].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=heatmap].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=heatmap].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=heatmap].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=heatmap].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=heatmap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=heatmap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=heatmap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=heatmap].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=heatmap].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoverongaps Parent: data[type=heatmap] Type: boolean Default: true

      Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.

    • hovertemplate Parent: data[type=heatmap] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=heatmap] Type: data_array

      Same as `text`.

    • ids Parent: data[type=heatmap] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=heatmap] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=heatmap] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=heatmap] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=heatmap].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=heatmap].legendgrouptitle.font Type: color
        • family Parent: data[type=heatmap].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=heatmap].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=heatmap].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=heatmap].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=heatmap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=heatmap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=heatmap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=heatmap].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=heatmap].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=heatmap] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=heatmap] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • meta Parent: data[type=heatmap] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=heatmap] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=heatmap] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • reversescale Parent: data[type=heatmap] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • showlegend Parent: data[type=heatmap] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=heatmap] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • text Parent: data[type=heatmap] Type: data_array

      Sets the text elements associated with each z value.

    • textfont Parent: data[type=heatmap] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=heatmap].textfont Type: color Default: \"auto\"
      • family Parent: data[type=heatmap].textfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=heatmap].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=heatmap].textfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=heatmap].textfont Type: number greater than or equal to 1 Default: \"auto\"
      • style Parent: data[type=heatmap].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=heatmap].textfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=heatmap].textfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=heatmap].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • texttemplate Parent: data[type=heatmap] Type: string

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.

    • transpose Parent: data[type=heatmap] Type: boolean

      Transposes the z data.

    • type Parent: data[type=heatmap] Type: \"heatmap\"
    • uid Parent: data[type=heatmap] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=heatmap] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=heatmap] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=heatmap] Type: data_array

      Sets the x coordinates.

    • x0 Parent: data[type=heatmap] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • xaxis Parent: data[type=heatmap] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=heatmap] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xgap Parent: data[type=heatmap] Type: number

      Sets the horizontal gap (in pixels) between bricks.

    • xhoverformat Parent: data[type=heatmap] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=heatmap] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=heatmap] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=heatmap] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • xtype Parent: data[type=heatmap] Type: enumerated , one of ( \"array\"| \"scaled\" )

      If \"array\", the heatmap's x coordinates are given by \"x\" (the default behavior when `x` is provided). If \"scaled\", the heatmap's x coordinates are given by \"x0\" and \"dx\" (the default behavior when `x` is not provided).

    • y Parent: data[type=heatmap] Type: data_array

      Sets the y coordinates.

    • y0 Parent: data[type=heatmap] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • yaxis Parent: data[type=heatmap] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ycalendar Parent: data[type=heatmap] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • ygap Parent: data[type=heatmap] Type: number

      Sets the vertical gap (in pixels) between bricks.

    • yhoverformat Parent: data[type=heatmap] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=heatmap] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=heatmap] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=heatmap] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    • ytype Parent: data[type=heatmap] Type: enumerated , one of ( \"array\"| \"scaled\" )

      If \"array\", the heatmap's y coordinates are given by \"y\" (the default behavior when `y` is provided) If \"scaled\", the heatmap's y coordinates are given by \"y0\" and \"dy\" (the default behavior when `y` is not provided)

    • z Parent: data[type=heatmap] Type: data_array

      Sets the z data.

    • zauto Parent: data[type=heatmap] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zhoverformat Parent: data[type=heatmap] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • zmax Parent: data[type=heatmap] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=heatmap] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=heatmap] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    • zorder Parent: data[type=heatmap] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    • zsmooth Parent: data[type=heatmap] Type: enumerated , one of ( \"fast\"| \"best\"| false )

      Picks a smoothing algorithm use to smooth `z` data.

    "},{"location":"reference/histogram/","title":"histogram","text":"A histogram trace is an object with the key \"type\" equal to \"histogram\" (i.e. {\"type\": \"histogram\"}) and any of the keys listed below. The sample data from which statistics are computed is set in `x` for vertically spanning histograms and in `y` for horizontally spanning histograms. Binning options are set `xbins` and `ybins` respectively if no aggregation data is provided.
    • alignmentgroup Parent: data[type=histogram] Type: string

      Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    • autobinx Parent: data[type=histogram] Type: boolean

      Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

    • autobiny Parent: data[type=histogram] Type: boolean

      Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

    • bingroup Parent: data[type=histogram] Type: string

      Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same \"orientation\" under `barmode` \"stack\", \"relative\" and \"group\" are forced into the same bingroup, Using `bingroup`, traces under `barmode` \"overlay\" and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d\" trace can share the same `bingroup`

    • cliponaxis Parent: data[type=histogram] Type: boolean Default: true

      Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • constraintext Parent: data[type=histogram] Type: enumerated , one of ( \"inside\"| \"outside\"| \"both\"| \"none\" ) Default: \"both\"

      Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    • cumulative Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • currentbin Parent: data[type=histogram].cumulative Type: enumerated , one of ( \"include\"| \"exclude\"| \"half\" ) Default: \"include\"

        Only applies if cumulative is enabled. Sets whether the current bin is included, excluded, or has half of its value included in the current cumulative value. \"include\" is the default for compatibility with various other tools, however it introduces a half-bin bias to the results. \"exclude\" makes the opposite half-bin bias, and \"half\" removes it.

      • direction Parent: data[type=histogram].cumulative Type: enumerated , one of ( \"increasing\"| \"decreasing\" ) Default: \"increasing\"

        Only applies if cumulative is enabled. If \"increasing\" (default) we sum all prior bins, so the result increases from left to right. If \"decreasing\" we sum later bins so the result decreases from left to right.

      • enabled Parent: data[type=histogram].cumulative Type: boolean

        If true, display the cumulative distribution by summing the binned values. Use the `direction` and `centralbin` attributes to tune the accumulation method. Note: in this mode, the \"density\" `histnorm` settings behave the same as their equivalents without \"density\": \"\" and \"density\" both rise to the number of data points, and \"probability\" and \"probability density\" both rise to the number of sample points.

    • customdata Parent: data[type=histogram] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • error_x Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=histogram].error_x Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=histogram].error_x Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=histogram].error_x Type: color

        Sets the stroke color of the error bars.

      • copy_ystyle Parent: data[type=histogram].error_x Type: boolean
      • symmetric Parent: data[type=histogram].error_x Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=histogram].error_x Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=histogram].error_x Type: integer
      • tracerefminus Parent: data[type=histogram].error_x Type: integer
      • type Parent: data[type=histogram].error_x Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=histogram].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=histogram].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=histogram].error_x Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=histogram].error_x Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • error_y Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=histogram].error_y Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=histogram].error_y Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=histogram].error_y Type: color

        Sets the stroke color of the error bars.

      • symmetric Parent: data[type=histogram].error_y Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=histogram].error_y Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=histogram].error_y Type: integer
      • tracerefminus Parent: data[type=histogram].error_y Type: integer
      • type Parent: data[type=histogram].error_y Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=histogram].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=histogram].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=histogram].error_y Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=histogram].error_y Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • histfunc Parent: data[type=histogram] Type: enumerated , one of ( \"count\"| \"sum\"| \"avg\"| \"min\"| \"max\" ) Default: \"count\"

      Specifies the binning function used for this histogram trace. If \"count\", the histogram values are computed by counting the number of values lying inside each bin. If \"sum\", \"avg\", \"min\", \"max\", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

    • histnorm Parent: data[type=histogram] Type: enumerated , one of ( \"\"| \"percent\"| \"probability\"| \"density\"| \"probability density\" )

      Specifies the type of normalization used for this histogram trace. If \"\", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If \"percent\" / \"probability\", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If \"density\", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If \"probability density\", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

    • hoverinfo Parent: data[type=histogram] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=histogram].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=histogram].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=histogram].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=histogram].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=histogram].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=histogram].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=histogram].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=histogram].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=histogram] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `binNumber` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=histogram] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=histogram] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextanchor Parent: data[type=histogram] Type: enumerated , one of ( \"end\"| \"middle\"| \"start\" ) Default: \"end\"

      Determines if texts are kept at center or start/end points in `textposition` \"inside\" mode.

    • insidetextfont Parent: data[type=histogram] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying inside the bar.

      • color Parent: data[type=histogram].insidetextfont Type: color
      • family Parent: data[type=histogram].insidetextfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=histogram].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=histogram].insidetextfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=histogram].insidetextfont Type: number greater than or equal to 1
      • style Parent: data[type=histogram].insidetextfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=histogram].insidetextfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=histogram].insidetextfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=histogram].insidetextfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • legend Parent: data[type=histogram] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=histogram] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=histogram].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=histogram].legendgrouptitle.font Type: color
        • family Parent: data[type=histogram].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=histogram].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=histogram].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=histogram] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=histogram] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=histogram].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=histogram].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=histogram].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=histogram].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=histogram].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=histogram].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=histogram].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=histogram].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=histogram].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=histogram].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=histogram].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=histogram].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=histogram].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=histogram].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=histogram].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=histogram].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=histogram].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=histogram].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=histogram].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=histogram].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=histogram].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=histogram].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=histogram].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=histogram].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=histogram].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=histogram].marker.colorbar.tickfont Type: color
          • family Parent: data[type=histogram].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=histogram].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=histogram].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=histogram].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=histogram].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=histogram].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=histogram].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=histogram].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=histogram].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=histogram].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=histogram].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=histogram].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=histogram].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=histogram].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=histogram].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=histogram].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=histogram].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=histogram].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=histogram].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=histogram].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=histogram].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=histogram].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=histogram].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=histogram].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=histogram].marker.colorbar.title.font Type: color
            • family Parent: data[type=histogram].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=histogram].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=histogram].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=histogram].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=histogram].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=histogram].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=histogram].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=histogram].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=histogram].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=histogram].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=histogram].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=histogram].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=histogram].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=histogram].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=histogram].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=histogram].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • cornerradius Parent: data[type=histogram].marker Type: number or categorical coordinate string

        Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`. In stack or relative barmode, the first trace to set cornerradius is used for the whole stack.

      • line Parent: data[type=histogram].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=histogram].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=histogram].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=histogram].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=histogram].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=histogram].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=histogram].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=histogram].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=histogram].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=histogram].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=histogram].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=histogram].marker Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the opacity of the bars.

      • pattern Parent: data[type=histogram].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=histogram].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=histogram].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=histogram].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=histogram].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=histogram].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=histogram].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=histogram].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=histogram].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

      • reversescale Parent: data[type=histogram].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=histogram].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

    • meta Parent: data[type=histogram] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=histogram] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • nbinsx Parent: data[type=histogram] Type: integer

      Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

    • nbinsy Parent: data[type=histogram] Type: integer

      Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

    • offsetgroup Parent: data[type=histogram] Type: string

      Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    • opacity Parent: data[type=histogram] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • orientation Parent: data[type=histogram] Type: enumerated , one of ( \"v\"| \"h\" )

      Sets the orientation of the bars. With \"v\" (\"h\"), the value of the each bar spans along the vertical (horizontal).

    • outsidetextfont Parent: data[type=histogram] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying outside the bar.

      • color Parent: data[type=histogram].outsidetextfont Type: color
      • family Parent: data[type=histogram].outsidetextfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=histogram].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=histogram].outsidetextfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=histogram].outsidetextfont Type: number greater than or equal to 1
      • style Parent: data[type=histogram].outsidetextfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=histogram].outsidetextfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=histogram].outsidetextfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=histogram].outsidetextfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • selected Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=histogram].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=histogram].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=histogram].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

      • textfont Parent: data[type=histogram].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=histogram].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=histogram] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=histogram] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=histogram] Type: string or array of strings

      Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.

    • textangle Parent: data[type=histogram] Type: angle Default: \"auto\"

      Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With \"auto\" the texts may automatically be rotated to fit with the maximum size in bars.

    • textfont Parent: data[type=histogram] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=histogram].textfont Type: color
      • family Parent: data[type=histogram].textfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=histogram].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=histogram].textfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=histogram].textfont Type: number greater than or equal to 1
      • style Parent: data[type=histogram].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=histogram].textfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=histogram].textfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=histogram].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=histogram] Type: enumerated , one of ( \"inside\"| \"outside\"| \"auto\"| \"none\" ) Default: \"auto\"

      Specifies the location of the `text`. \"inside\" positions `text` inside, next to the bar end (rotated and scaled if needed). \"outside\" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. \"auto\" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If \"none\", no text appears.

    • texttemplate Parent: data[type=histogram] Type: string

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label` and `value`.

    • type Parent: data[type=histogram] Type: \"histogram\"
    • uid Parent: data[type=histogram] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=histogram] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=histogram].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=histogram].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=histogram].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=histogram].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=histogram].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=histogram] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=histogram] Type: data_array

      Sets the sample data to be binned on the x axis.

    • xaxis Parent: data[type=histogram] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xbins Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • end Parent: data[type=histogram].xbins Type: number or categorical coordinate string

        Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      • size Parent: data[type=histogram].xbins Type: number or categorical coordinate string

        Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or \"M<n>\" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.

      • start Parent: data[type=histogram].xbins Type: number or categorical coordinate string

        Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.

    • xcalendar Parent: data[type=histogram] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=histogram] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=histogram] Type: data_array

      Sets the sample data to be binned on the y axis.

    • yaxis Parent: data[type=histogram] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ybins Parent: data[type=histogram] Type: object containing one or more of the keys listed below.
      • end Parent: data[type=histogram].ybins Type: number or categorical coordinate string

        Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      • size Parent: data[type=histogram].ybins Type: number or categorical coordinate string

        Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or \"M<n>\" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.

      • start Parent: data[type=histogram].ybins Type: number or categorical coordinate string

        Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.

    • ycalendar Parent: data[type=histogram] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=histogram] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • zorder Parent: data[type=histogram] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/histogram2d/","title":"histogram2d","text":"A histogram2d trace is an object with the key \"type\" equal to \"histogram2d\" (i.e. {\"type\": \"histogram2d\"}) and any of the keys listed below. The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a heatmap.
    • autobinx Parent: data[type=histogram2d] Type: boolean

      Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

    • autobiny Parent: data[type=histogram2d] Type: boolean

      Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

    • autocolorscale Parent: data[type=histogram2d] Type: boolean

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • bingroup Parent: data[type=histogram2d] Type: string

      Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of \"1\" on two histogram2d traces will make them their x-bins and y-bins match separately.

    • coloraxis Parent: data[type=histogram2d] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=histogram2d] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=histogram2d].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=histogram2d].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=histogram2d].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=histogram2d].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=histogram2d].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=histogram2d].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=histogram2d].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=histogram2d].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=histogram2d].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=histogram2d].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=histogram2d].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=histogram2d].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=histogram2d].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=histogram2d].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=histogram2d].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=histogram2d].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=histogram2d].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=histogram2d].colorbar.tickfont Type: color
        • family Parent: data[type=histogram2d].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram2d].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram2d].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram2d].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=histogram2d].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram2d].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram2d].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram2d].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=histogram2d].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=histogram2d].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=histogram2d].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=histogram2d].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=histogram2d].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=histogram2d].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=histogram2d].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=histogram2d].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=histogram2d].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=histogram2d].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=histogram2d].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=histogram2d].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=histogram2d].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=histogram2d].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=histogram2d].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=histogram2d].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=histogram2d].colorbar.title.font Type: color
          • family Parent: data[type=histogram2d].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=histogram2d].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=histogram2d].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=histogram2d].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=histogram2d].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=histogram2d].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=histogram2d].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=histogram2d].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=histogram2d].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=histogram2d].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=histogram2d].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=histogram2d].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=histogram2d].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=histogram2d].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=histogram2d].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=histogram2d] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=histogram2d] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • histfunc Parent: data[type=histogram2d] Type: enumerated , one of ( \"count\"| \"sum\"| \"avg\"| \"min\"| \"max\" ) Default: \"count\"

      Specifies the binning function used for this histogram trace. If \"count\", the histogram values are computed by counting the number of values lying inside each bin. If \"sum\", \"avg\", \"min\", \"max\", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

    • histnorm Parent: data[type=histogram2d] Type: enumerated , one of ( \"\"| \"percent\"| \"probability\"| \"density\"| \"probability density\" )

      Specifies the type of normalization used for this histogram trace. If \"\", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If \"percent\" / \"probability\", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If \"density\", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If \"probability density\", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

    • hoverinfo Parent: data[type=histogram2d] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=histogram2d] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=histogram2d].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=histogram2d].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=histogram2d].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=histogram2d].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=histogram2d].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=histogram2d].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram2d].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram2d].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram2d].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=histogram2d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram2d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram2d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram2d].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=histogram2d].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=histogram2d] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • ids Parent: data[type=histogram2d] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=histogram2d] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=histogram2d] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=histogram2d] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=histogram2d].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=histogram2d].legendgrouptitle.font Type: color
        • family Parent: data[type=histogram2d].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram2d].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram2d].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram2d].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=histogram2d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram2d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram2d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram2d].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=histogram2d].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=histogram2d] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=histogram2d] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=histogram2d] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=histogram2d].marker Type: data_array

        Sets the aggregation data.

    • meta Parent: data[type=histogram2d] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=histogram2d] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • nbinsx Parent: data[type=histogram2d] Type: integer

      Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

    • nbinsy Parent: data[type=histogram2d] Type: integer

      Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

    • opacity Parent: data[type=histogram2d] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • reversescale Parent: data[type=histogram2d] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • showlegend Parent: data[type=histogram2d] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=histogram2d] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • textfont Parent: data[type=histogram2d] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=histogram2d].textfont Type: color Default: \"auto\"
      • family Parent: data[type=histogram2d].textfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=histogram2d].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=histogram2d].textfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=histogram2d].textfont Type: number greater than or equal to 1 Default: \"auto\"
      • style Parent: data[type=histogram2d].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=histogram2d].textfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=histogram2d].textfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=histogram2d].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • texttemplate Parent: data[type=histogram2d] Type: string

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z`

    • type Parent: data[type=histogram2d] Type: \"histogram2d\"
    • uid Parent: data[type=histogram2d] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=histogram2d] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=histogram2d] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=histogram2d] Type: data_array

      Sets the sample data to be binned on the x axis.

    • xaxis Parent: data[type=histogram2d] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xbingroup Parent: data[type=histogram2d] Type: string

      Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`

    • xbins Parent: data[type=histogram2d] Type: object containing one or more of the keys listed below.
      • end Parent: data[type=histogram2d].xbins Type: number or categorical coordinate string

        Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      • size Parent: data[type=histogram2d].xbins Type: number or categorical coordinate string

        Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or \"M<n>\" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      • start Parent: data[type=histogram2d].xbins Type: number or categorical coordinate string

        Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

    • xcalendar Parent: data[type=histogram2d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xgap Parent: data[type=histogram2d] Type: number

      Sets the horizontal gap (in pixels) between bricks.

    • xhoverformat Parent: data[type=histogram2d] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=histogram2d] Type: data_array

      Sets the sample data to be binned on the y axis.

    • yaxis Parent: data[type=histogram2d] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ybingroup Parent: data[type=histogram2d] Type: string

      Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`

    • ybins Parent: data[type=histogram2d] Type: object containing one or more of the keys listed below.
      • end Parent: data[type=histogram2d].ybins Type: number or categorical coordinate string

        Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      • size Parent: data[type=histogram2d].ybins Type: number or categorical coordinate string

        Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or \"M<n>\" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      • start Parent: data[type=histogram2d].ybins Type: number or categorical coordinate string

        Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

    • ycalendar Parent: data[type=histogram2d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • ygap Parent: data[type=histogram2d] Type: number

      Sets the vertical gap (in pixels) between bricks.

    • yhoverformat Parent: data[type=histogram2d] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=histogram2d] Type: data_array

      Sets the aggregation data.

    • zauto Parent: data[type=histogram2d] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zhoverformat Parent: data[type=histogram2d] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • zmax Parent: data[type=histogram2d] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=histogram2d] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=histogram2d] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    • zsmooth Parent: data[type=histogram2d] Type: enumerated , one of ( \"fast\"| \"best\"| false )

      Picks a smoothing algorithm use to smooth `z` data.

    "},{"location":"reference/histogram2dcontour/","title":"histogram2dcontour","text":"A histogram2dcontour trace is an object with the key \"type\" equal to \"histogram2dcontour\" (i.e. {\"type\": \"histogram2dcontour\"}) and any of the keys listed below. The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a contour plot.
    • autobinx Parent: data[type=histogram2dcontour] Type: boolean

      Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

    • autobiny Parent: data[type=histogram2dcontour] Type: boolean

      Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

    • autocolorscale Parent: data[type=histogram2dcontour] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • autocontour Parent: data[type=histogram2dcontour] Type: boolean Default: true

      Determines whether or not the contour level attributes are picked by an algorithm. If \"true\", the number of contour levels can be set in `ncontours`. If \"false\", set the contour level attributes in `contours`.

    • bingroup Parent: data[type=histogram2dcontour] Type: string

      Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of \"1\" on two histogram2d traces will make them their x-bins and y-bins match separately.

    • coloraxis Parent: data[type=histogram2dcontour] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=histogram2dcontour].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=histogram2dcontour].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=histogram2dcontour].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=histogram2dcontour].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=histogram2dcontour].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=histogram2dcontour].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=histogram2dcontour].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=histogram2dcontour].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=histogram2dcontour].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=histogram2dcontour].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=histogram2dcontour].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=histogram2dcontour].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=histogram2dcontour].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=histogram2dcontour].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=histogram2dcontour].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=histogram2dcontour].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=histogram2dcontour].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=histogram2dcontour].colorbar.tickfont Type: color
        • family Parent: data[type=histogram2dcontour].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram2dcontour].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram2dcontour].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram2dcontour].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=histogram2dcontour].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram2dcontour].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram2dcontour].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram2dcontour].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=histogram2dcontour].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=histogram2dcontour].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=histogram2dcontour].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=histogram2dcontour].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=histogram2dcontour].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=histogram2dcontour].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=histogram2dcontour].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=histogram2dcontour].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=histogram2dcontour].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=histogram2dcontour].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=histogram2dcontour].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=histogram2dcontour].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=histogram2dcontour].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=histogram2dcontour].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=histogram2dcontour].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=histogram2dcontour].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=histogram2dcontour].colorbar.title.font Type: color
          • family Parent: data[type=histogram2dcontour].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=histogram2dcontour].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=histogram2dcontour].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=histogram2dcontour].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=histogram2dcontour].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=histogram2dcontour].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=histogram2dcontour].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=histogram2dcontour].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=histogram2dcontour].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=histogram2dcontour].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=histogram2dcontour].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=histogram2dcontour].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=histogram2dcontour].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=histogram2dcontour].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=histogram2dcontour].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=histogram2dcontour] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • contours Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • coloring Parent: data[type=histogram2dcontour].contours Type: enumerated , one of ( \"fill\"| \"heatmap\"| \"lines\"| \"none\" ) Default: \"fill\"

        Determines the coloring method showing the contour values. If \"fill\", coloring is done evenly between each contour level If \"heatmap\", a heatmap gradient coloring is applied between each contour level. If \"lines\", coloring is done on the contour lines. If \"none\", no coloring is applied on this trace.

      • end Parent: data[type=histogram2dcontour].contours Type: number

        Sets the end contour level value. Must be more than `contours.start`

      • labelfont Parent: data[type=histogram2dcontour].contours Type: object containing one or more of the keys listed below.

        Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.

        • color Parent: data[type=histogram2dcontour].contours.labelfont Type: color
        • family Parent: data[type=histogram2dcontour].contours.labelfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram2dcontour].contours.labelfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram2dcontour].contours.labelfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram2dcontour].contours.labelfont Type: number greater than or equal to 1
        • style Parent: data[type=histogram2dcontour].contours.labelfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram2dcontour].contours.labelfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram2dcontour].contours.labelfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram2dcontour].contours.labelfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • labelformat Parent: data[type=histogram2dcontour].contours Type: string

        Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      • operation Parent: data[type=histogram2dcontour].contours Type: enumerated , one of ( \"=\"| \"<\"| \">=\"| \">\"| \"<=\"| \"[]\"| \"()\"| \"[)\"| \"(]\"| \"][\"| \")(\"| \"](\"| \")[\" ) Default: \"=\"

        Sets the constraint operation. \"=\" keeps regions equal to `value` \"<\" and \"<=\" keep regions less than `value` \">\" and \">=\" keep regions greater than `value` \"[]\", \"()\", \"[)\", and \"(]\" keep regions inside `value[0]` to `value[1]` \"][\", \")(\", \"](\", \")[\" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.

      • showlabels Parent: data[type=histogram2dcontour].contours Type: boolean

        Determines whether to label the contour lines with their values.

      • showlines Parent: data[type=histogram2dcontour].contours Type: boolean Default: true

        Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to \"fill\".

      • size Parent: data[type=histogram2dcontour].contours Type: number

        Sets the step between each contour level. Must be positive.

      • start Parent: data[type=histogram2dcontour].contours Type: number

        Sets the starting contour level value. Must be less than `contours.end`

      • type Parent: data[type=histogram2dcontour].contours Type: enumerated , one of ( \"levels\"| \"constraint\" ) Default: \"levels\"

        If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.

      • value Parent: data[type=histogram2dcontour].contours Type: number or categorical coordinate string

        Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) \"value\" is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) \"value\" is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.

    • customdata Parent: data[type=histogram2dcontour] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • histfunc Parent: data[type=histogram2dcontour] Type: enumerated , one of ( \"count\"| \"sum\"| \"avg\"| \"min\"| \"max\" ) Default: \"count\"

      Specifies the binning function used for this histogram trace. If \"count\", the histogram values are computed by counting the number of values lying inside each bin. If \"sum\", \"avg\", \"min\", \"max\", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

    • histnorm Parent: data[type=histogram2dcontour] Type: enumerated , one of ( \"\"| \"percent\"| \"probability\"| \"density\"| \"probability density\" )

      Specifies the type of normalization used for this histogram trace. If \"\", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If \"percent\" / \"probability\", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If \"density\", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If \"probability density\", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

    • hoverinfo Parent: data[type=histogram2dcontour] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=histogram2dcontour].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=histogram2dcontour].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=histogram2dcontour].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=histogram2dcontour].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=histogram2dcontour].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=histogram2dcontour].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram2dcontour].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram2dcontour].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram2dcontour].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=histogram2dcontour].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram2dcontour].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram2dcontour].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram2dcontour].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=histogram2dcontour].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=histogram2dcontour] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z` Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • ids Parent: data[type=histogram2dcontour] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=histogram2dcontour] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=histogram2dcontour] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=histogram2dcontour].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: color
        • family Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=histogram2dcontour].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=histogram2dcontour].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=histogram2dcontour] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=histogram2dcontour] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=histogram2dcontour].line Type: color

        Sets the color of the contour level. Has no effect if `contours.coloring` is set to \"lines\".

      • dash Parent: data[type=histogram2dcontour].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • smoothing Parent: data[type=histogram2dcontour].line Type: number less than or equal to 1.3 Default: 1

        Sets the amount of smoothing for the contour lines, where \"0\" corresponds to no smoothing.

      • width Parent: data[type=histogram2dcontour].line Type: number Default: 0.5

        Sets the contour line width in (in px)

    • marker Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=histogram2dcontour].marker Type: data_array

        Sets the aggregation data.

    • meta Parent: data[type=histogram2dcontour] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=histogram2dcontour] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • nbinsx Parent: data[type=histogram2dcontour] Type: integer

      Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

    • nbinsy Parent: data[type=histogram2dcontour] Type: integer

      Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

    • ncontours Parent: data[type=histogram2dcontour] Type: integer greater than or equal to 1 Default: 15

      Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is \"true\" or if `contours.size` is missing.

    • opacity Parent: data[type=histogram2dcontour] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • reversescale Parent: data[type=histogram2dcontour] Type: boolean

      Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

    • showlegend Parent: data[type=histogram2dcontour] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=histogram2dcontour] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • textfont Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.

      For this trace it only has an effect if `coloring` is set to \"heatmap\". Sets the text font.

      • color Parent: data[type=histogram2dcontour].textfont Type: color Default: \"auto\"
      • family Parent: data[type=histogram2dcontour].textfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=histogram2dcontour].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=histogram2dcontour].textfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=histogram2dcontour].textfont Type: number greater than or equal to 1 Default: \"auto\"
      • style Parent: data[type=histogram2dcontour].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=histogram2dcontour].textfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=histogram2dcontour].textfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=histogram2dcontour].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • texttemplate Parent: data[type=histogram2dcontour] Type: string

      For this trace it only has an effect if `coloring` is set to \"heatmap\". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.

    • type Parent: data[type=histogram2dcontour] Type: \"histogram2dcontour\"
    • uid Parent: data[type=histogram2dcontour] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=histogram2dcontour] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=histogram2dcontour] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=histogram2dcontour] Type: data_array

      Sets the sample data to be binned on the x axis.

    • xaxis Parent: data[type=histogram2dcontour] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xbingroup Parent: data[type=histogram2dcontour] Type: string

      Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`

    • xbins Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • end Parent: data[type=histogram2dcontour].xbins Type: number or categorical coordinate string

        Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      • size Parent: data[type=histogram2dcontour].xbins Type: number or categorical coordinate string

        Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or \"M<n>\" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      • start Parent: data[type=histogram2dcontour].xbins Type: number or categorical coordinate string

        Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

    • xcalendar Parent: data[type=histogram2dcontour] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=histogram2dcontour] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=histogram2dcontour] Type: data_array

      Sets the sample data to be binned on the y axis.

    • yaxis Parent: data[type=histogram2dcontour] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ybingroup Parent: data[type=histogram2dcontour] Type: string

      Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`

    • ybins Parent: data[type=histogram2dcontour] Type: object containing one or more of the keys listed below.
      • end Parent: data[type=histogram2dcontour].ybins Type: number or categorical coordinate string

        Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.

      • size Parent: data[type=histogram2dcontour].ybins Type: number or categorical coordinate string

        Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or \"M<n>\" for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1).

      • start Parent: data[type=histogram2dcontour].ybins Type: number or categorical coordinate string

        Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5.

    • ycalendar Parent: data[type=histogram2dcontour] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=histogram2dcontour] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=histogram2dcontour] Type: data_array

      Sets the aggregation data.

    • zauto Parent: data[type=histogram2dcontour] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

    • zhoverformat Parent: data[type=histogram2dcontour] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • zmax Parent: data[type=histogram2dcontour] Type: number

      Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

    • zmid Parent: data[type=histogram2dcontour] Type: number

      Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

    • zmin Parent: data[type=histogram2dcontour] Type: number

      Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

    "},{"location":"reference/icicle/","title":"icicle","text":"A icicle trace is an object with the key \"type\" equal to \"icicle\" (i.e. {\"type\": \"icicle\"}) and any of the keys listed below. Visualize hierarchal data from leaves (and/or outer branches) towards root with rectangles. The icicle sectors are determined by the entries in \"labels\" or \"ids\" and in \"parents\".
    • branchvalues Parent: data[type=icicle] Type: enumerated , one of ( \"remainder\"| \"total\" ) Default: \"remainder\"

      Determines how the items in `values` are summed. When set to \"total\", items in `values` are taken to be value of all its descendants. When set to \"remainder\", items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

    • count Parent: data[type=icicle] Type: flaglist string. Any combination of \"branches\", \"leaves\" joined with a \"+\" OR . Examples: \"branches\", \"leaves\", \"branches+leaves\", Default: \"leaves\"

      Determines default for `values` when it is not provided, by inferring a 1 for each of the \"leaves\" and/or \"branches\", otherwise 0.

    • customdata Parent: data[type=icicle] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • domain Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=icicle].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this icicle trace .

      • row Parent: data[type=icicle].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this icicle trace .

      • x Parent: data[type=icicle].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this icicle trace (in plot fraction).

      • y Parent: data[type=icicle].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this icicle trace (in plot fraction).

    • hoverinfo Parent: data[type=icicle] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"name\", \"current path\", \"percent root\", \"percent entry\", \"percent parent\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"all\" Default: \"label+text+value+name\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=icicle].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=icicle].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=icicle].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=icicle].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=icicle].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=icicle].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=icicle].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=icicle].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=icicle].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=icicle].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=icicle].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=icicle].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=icicle].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=icicle].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=icicle] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=icicle] Type: string or array of strings

      Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=icicle] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextfont Parent: data[type=icicle] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying inside the sector.

      • color Parent: data[type=icicle].insidetextfont Type: color or array of colors
      • family Parent: data[type=icicle].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=icicle].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=icicle].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=icicle].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=icicle].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=icicle].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=icicle].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=icicle].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • labels Parent: data[type=icicle] Type: data_array

      Sets the labels of each of the sectors.

    • leaf Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • opacity Parent: data[type=icicle].leaf Type: number less than or equal to 1

        Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7

    • legend Parent: data[type=icicle] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=icicle].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=icicle].legendgrouptitle.font Type: color
        • family Parent: data[type=icicle].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=icicle].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=icicle].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=icicle].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=icicle].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=icicle].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=icicle].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=icicle].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=icicle].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=icicle] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=icicle] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • level Parent: data[type=icicle] Type: number or categorical coordinate string

      Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an \"id\" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.

    • marker Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=icicle].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=icicle].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=icicle].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=icicle].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=icicle].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.

      • coloraxis Parent: data[type=icicle].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=icicle].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=icicle].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=icicle].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=icicle].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=icicle].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=icicle].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=icicle].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=icicle].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=icicle].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=icicle].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=icicle].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=icicle].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=icicle].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=icicle].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=icicle].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=icicle].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=icicle].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=icicle].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=icicle].marker.colorbar.tickfont Type: color
          • family Parent: data[type=icicle].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=icicle].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=icicle].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=icicle].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=icicle].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=icicle].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=icicle].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=icicle].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=icicle].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=icicle].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=icicle].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=icicle].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=icicle].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=icicle].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=icicle].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=icicle].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=icicle].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=icicle].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=icicle].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=icicle].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=icicle].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=icicle].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=icicle].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=icicle].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=icicle].marker.colorbar.title.font Type: color
            • family Parent: data[type=icicle].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=icicle].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=icicle].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=icicle].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=icicle].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=icicle].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=icicle].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=icicle].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=icicle].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=icicle].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=icicle].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=icicle].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=icicle].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=icicle].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=icicle].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colors Parent: data[type=icicle].marker Type: data_array

        Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.

      • colorscale Parent: data[type=icicle].marker Type: colorscale

        Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=icicle].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=icicle].marker.line Type: color or array of colors

          Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        • width Parent: data[type=icicle].marker.line Type: number or array of numbers Default: 1

          Sets the width (in px) of the line enclosing each sector.

      • pattern Parent: data[type=icicle].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=icicle].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=icicle].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=icicle].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=icicle].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=icicle].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=icicle].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=icicle].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=icicle].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

      • reversescale Parent: data[type=icicle].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=icicle].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.

    • maxdepth Parent: data[type=icicle] Type: integer Default: -1

      Sets the number of rendered sectors from any given `level`. Set `maxdepth` to \"-1\" to render all the levels in the hierarchy.

    • meta Parent: data[type=icicle] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=icicle] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=icicle] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • outsidetextfont Parent: data[type=icicle] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

      • color Parent: data[type=icicle].outsidetextfont Type: color or array of colors
      • family Parent: data[type=icicle].outsidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=icicle].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=icicle].outsidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=icicle].outsidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=icicle].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=icicle].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=icicle].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=icicle].outsidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • parents Parent: data[type=icicle] Type: data_array

      Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be \"ids\" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.

    • pathbar Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • edgeshape Parent: data[type=icicle].pathbar Type: enumerated , one of ( \">\"| \"<\"| \"|\"| \"/\"| \"\\\" ) Default: \">\"

        Determines which shape is used for edges between `barpath` labels.

      • side Parent: data[type=icicle].pathbar Type: enumerated , one of ( \"top\"| \"bottom\" ) Default: \"top\"

        Determines on which side of the the treemap the `pathbar` should be presented.

      • textfont Parent: data[type=icicle].pathbar Type: object containing one or more of the keys listed below.

        Sets the font used inside `pathbar`.

        • color Parent: data[type=icicle].pathbar.textfont Type: color or array of colors
        • family Parent: data[type=icicle].pathbar.textfont Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=icicle].pathbar.textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=icicle].pathbar.textfont Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=icicle].pathbar.textfont Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=icicle].pathbar.textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=icicle].pathbar.textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=icicle].pathbar.textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=icicle].pathbar.textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • thickness Parent: data[type=icicle].pathbar Type: number greater than or equal to 12

        Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.

      • visible Parent: data[type=icicle].pathbar Type: boolean Default: true

        Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.

    • root Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=icicle].root Type: color Default: \"rgba(0,0,0,0)\"

        sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.

    • sort Parent: data[type=icicle] Type: boolean Default: true

      Determines whether or not the sectors are reordered from largest to smallest.

    • text Parent: data[type=icicle] Type: data_array

      Sets text elements associated with each sector. If trace `textinfo` contains a \"text\" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=icicle] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo`.

      • color Parent: data[type=icicle].textfont Type: color or array of colors
      • family Parent: data[type=icicle].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=icicle].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=icicle].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=icicle].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=icicle].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=icicle].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=icicle].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=icicle].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textinfo Parent: data[type=icicle] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"current path\", \"percent root\", \"percent entry\", \"percent parent\" joined with a \"+\" OR \"none\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"none\"

      Determines which trace information appear on the graph.

    • textposition Parent: data[type=icicle] Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"top left\"

      Sets the positions of the `text` elements.

    • texttemplate Parent: data[type=icicle] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.

    • tiling Parent: data[type=icicle] Type: object containing one or more of the keys listed below.
      • flip Parent: data[type=icicle].tiling Type: flaglist string. Any combination of \"x\", \"y\" joined with a \"+\" OR . Examples: \"x\", \"y\", \"x+y\",

        Determines if the positions obtained from solver are flipped on each axis.

      • orientation Parent: data[type=icicle].tiling Type: enumerated , one of ( \"v\"| \"h\" ) Default: \"h\"

        When set in conjunction with `tiling.flip`, determines on which side the root nodes are drawn in the chart. If `tiling.orientation` is \"v\" and `tiling.flip` is \"\", the root nodes appear at the top. If `tiling.orientation` is \"v\" and `tiling.flip` is \"y\", the root nodes appear at the bottom. If `tiling.orientation` is \"h\" and `tiling.flip` is \"\", the root nodes appear at the left. If `tiling.orientation` is \"h\" and `tiling.flip` is \"x\", the root nodes appear at the right.

      • pad Parent: data[type=icicle].tiling Type: number

        Sets the inner padding (in px).

    • type Parent: data[type=icicle] Type: \"icicle\"
    • uid Parent: data[type=icicle] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=icicle] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • values Parent: data[type=icicle] Type: data_array

      Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.

    • visible Parent: data[type=icicle] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/image/","title":"image","text":"A image trace is an object with the key \"type\" equal to \"image\" (i.e. {\"type\": \"image\"}) and any of the keys listed below. Display an image, i.e. data on a 2D regular raster. By default, when an image is displayed in a subplot, its y axis will be reversed (ie. `autorange: 'reversed'`), constrained to the domain (ie. `constrain: 'domain'`) and it will have the same scale as its x axis (ie. `scaleanchor: 'x,`) in order for pixels to be rendered as squares.
    • colormodel Parent: data[type=image] Type: enumerated , one of ( \"rgb\"| \"rgba\"| \"rgba256\"| \"hsl\"| \"hsla\" )

      Color model used to map the numerical color components described in `z` into colors. If `source` is specified, this attribute will be set to `rgba256` otherwise it defaults to `rgb`.

    • customdata Parent: data[type=image] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=image] Type: number Default: 1

      Set the pixel's horizontal size.

    • dy Parent: data[type=image] Type: number Default: 1

      Set the pixel's vertical size

    • hoverinfo Parent: data[type=image] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"color\", \"name\", \"text\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"x+y+z+text+name\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=image] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=image].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=image].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=image].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=image].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=image].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=image].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=image].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=image].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=image].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=image].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=image].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=image].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=image].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=image].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=image] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `z`, `color` and `colormodel`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=image] Type: data_array

      Same as `text`.

    • ids Parent: data[type=image] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=image] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=image] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=image].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=image].legendgrouptitle.font Type: color
        • family Parent: data[type=image].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=image].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=image].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=image].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=image].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=image].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=image].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=image].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=image].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=image] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=image] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • meta Parent: data[type=image] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=image] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=image] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • source Parent: data[type=image] Type: string

      Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[<media subtype\\\\>][;base64\\\\],<data\\\\>\"

    • text Parent: data[type=image] Type: data_array

      Sets the text elements associated with each z value.

    • type Parent: data[type=image] Type: \"image\"
    • uid Parent: data[type=image] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=image] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=image] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x0 Parent: data[type=image] Type: number or categorical coordinate string

      Set the image's x position. The left edge of the image (or the right edge if the x axis is reversed or dx is negative) will be found at xmin=x0-dx/2

    • xaxis Parent: data[type=image] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • y0 Parent: data[type=image] Type: number or categorical coordinate string

      Set the image's y position. The top edge of the image (or the bottom edge if the y axis is NOT reversed or if dy is negative) will be found at ymin=y0-dy/2. By default when an image trace is included, the y axis will be reversed so that the image is right-side-up, but you can disable this by setting yaxis.autorange=true or by providing an explicit y axis range.

    • yaxis Parent: data[type=image] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • z Parent: data[type=image] Type: data_array

      A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.

    • zmax Parent: data[type=image] {inner}Type: {array}

      Array defining the higher bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [255, 255, 255]. For the `rgba` colormodel, it is [255, 255, 255, 1]. For the `rgba256` colormodel, it is [255, 255, 255, 255]. For the `hsl` colormodel, it is [360, 100, 100]. For the `hsla` colormodel, it is [360, 100, 100, 1].

    • zmin Parent: data[type=image] {inner}Type: {array}

      Array defining the lower bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [0, 0, 0]. For the `rgba` colormodel, it is [0, 0, 0, 0]. For the `rgba256` colormodel, it is [0, 0, 0, 0]. For the `hsl` colormodel, it is [0, 0, 0]. For the `hsla` colormodel, it is [0, 0, 0, 0].

    • zorder Parent: data[type=image] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    • zsmooth Parent: data[type=image] Type: enumerated , one of ( \"fast\"| false )

      Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.

    "},{"location":"reference/indicator/","title":"indicator","text":"A indicator trace is an object with the key \"type\" equal to \"indicator\" (i.e. {\"type\": \"indicator\"}) and any of the keys listed below. An indicator is used to visualize a single `value` along with some contextual information such as `steps` or a `threshold`, using a combination of three visual elements: a number, a delta, and/or a gauge. Deltas are taken with respect to a `reference`. Gauges can be either angular or bullet (aka linear) gauges.
    • align Parent: data[type=indicator] Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

      Sets the horizontal alignment of the `text` within the box. Note that this attribute has no effect if an angular gauge is displayed: in this case, it is always centered

    • customdata Parent: data[type=indicator] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • delta Parent: data[type=indicator] Type: object containing one or more of the keys listed below.
      • decreasing Parent: data[type=indicator].delta Type: object containing one or more of the keys listed below.
        • color Parent: data[type=indicator].delta.decreasing Type: color Default: \"#FF4136\"

          Sets the color for increasing value.

        • symbol Parent: data[type=indicator].delta.decreasing Type: string Default: \"\u25bc\"

          Sets the symbol to display for increasing value

      • font Parent: data[type=indicator].delta Type: object containing one or more of the keys listed below.

        Set the font used to display the delta

        • color Parent: data[type=indicator].delta.font Type: color
        • family Parent: data[type=indicator].delta.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=indicator].delta.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=indicator].delta.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=indicator].delta.font Type: number greater than or equal to 1
        • style Parent: data[type=indicator].delta.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=indicator].delta.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=indicator].delta.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=indicator].delta.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • increasing Parent: data[type=indicator].delta Type: object containing one or more of the keys listed below.
        • color Parent: data[type=indicator].delta.increasing Type: color Default: \"#3D9970\"

          Sets the color for increasing value.

        • symbol Parent: data[type=indicator].delta.increasing Type: string Default: \"\u25b2\"

          Sets the symbol to display for increasing value

      • position Parent: data[type=indicator].delta Type: enumerated , one of ( \"top\"| \"bottom\"| \"left\"| \"right\" ) Default: \"bottom\"

        Sets the position of delta with respect to the number.

      • prefix Parent: data[type=indicator].delta Type: string

        Sets a prefix appearing before the delta.

      • reference Parent: data[type=indicator].delta Type: number

        Sets the reference value to compute the delta. By default, it is set to the current value.

      • relative Parent: data[type=indicator].delta Type: boolean

        Show relative change

      • suffix Parent: data[type=indicator].delta Type: string

        Sets a suffix appearing next to the delta.

      • valueformat Parent: data[type=indicator].delta Type: string

        Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

    • domain Parent: data[type=indicator] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=indicator].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this indicator trace .

      • row Parent: data[type=indicator].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this indicator trace .

      • x Parent: data[type=indicator].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this indicator trace (in plot fraction).

      • y Parent: data[type=indicator].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this indicator trace (in plot fraction).

    • gauge Parent: data[type=indicator] Type: object containing one or more of the keys listed below.

      The gauge of the Indicator plot.

      • axis Parent: data[type=indicator].gauge Type: object containing one or more of the keys listed below.
        • dtick Parent: data[type=indicator].gauge.axis Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=indicator].gauge.axis Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=indicator].gauge.axis Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • minexponent Parent: data[type=indicator].gauge.axis Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=indicator].gauge.axis Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • range Parent: data[type=indicator].gauge.axis {inner}Type: {array}

          Sets the range of this axis.

        • separatethousands Parent: data[type=indicator].gauge.axis Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=indicator].gauge.axis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=indicator].gauge.axis Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=indicator].gauge.axis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=indicator].gauge.axis Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • tick0 Parent: data[type=indicator].gauge.axis Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=indicator].gauge.axis Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=indicator].gauge.axis Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=indicator].gauge.axis Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=indicator].gauge.axis.tickfont Type: color
          • family Parent: data[type=indicator].gauge.axis.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=indicator].gauge.axis.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=indicator].gauge.axis.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=indicator].gauge.axis.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=indicator].gauge.axis.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=indicator].gauge.axis.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=indicator].gauge.axis.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=indicator].gauge.axis.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=indicator].gauge.axis Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=indicator].gauge.axis Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=indicator].gauge.axis.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=indicator].gauge.axis.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=indicator].gauge.axis.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=indicator].gauge.axis.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=indicator].gauge.axis.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabelstep Parent: data[type=indicator].gauge.axis Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=indicator].gauge.axis Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=indicator].gauge.axis Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=indicator].gauge.axis Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=indicator].gauge.axis Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" ) Default: \"outside\"

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=indicator].gauge.axis Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=indicator].gauge.axis Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=indicator].gauge.axis Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=indicator].gauge.axis Type: number Default: 1

          Sets the tick width (in px).

        • visible Parent: data[type=indicator].gauge.axis Type: boolean Default: true

          A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false

      • bar Parent: data[type=indicator].gauge Type: object containing one or more of the keys listed below.

        Set the appearance of the gauge's value

        • color Parent: data[type=indicator].gauge.bar Type: color Default: \"green\"

          Sets the background color of the arc.

        • line Parent: data[type=indicator].gauge.bar Type: object containing one or more of the keys listed below.
          • color Parent: data[type=indicator].gauge.bar.line Type: color Default: \"#444\"

            Sets the color of the line enclosing each sector.

          • width Parent: data[type=indicator].gauge.bar.line Type: number

            Sets the width (in px) of the line enclosing each sector.

        • thickness Parent: data[type=indicator].gauge.bar Type: number less than or equal to 1 Default: 1

          Sets the thickness of the bar as a fraction of the total thickness of the gauge.

      • bgcolor Parent: data[type=indicator].gauge Type: color

        Sets the gauge background color.

      • bordercolor Parent: data[type=indicator].gauge Type: color Default: \"#444\"

        Sets the color of the border enclosing the gauge.

      • borderwidth Parent: data[type=indicator].gauge Type: number Default: 1

        Sets the width (in px) of the border enclosing the gauge.

      • shape Parent: data[type=indicator].gauge Type: enumerated , one of ( \"angular\"| \"bullet\" ) Default: \"angular\"

        Set the shape of the gauge

      • steps Parent: data[type=indicator].gauge Type: array of object where each object has one or more of the keys listed below.
        • color Parent: data[type=indicator].gauge.steps Type: color

          Sets the background color of the arc.

        • line Parent: data[type=indicator].gauge.steps Type: object containing one or more of the keys listed below.
          • color Parent: data[type=indicator].gauge.steps.line Type: color Default: \"#444\"

            Sets the color of the line enclosing each sector.

          • width Parent: data[type=indicator].gauge.steps.line Type: number

            Sets the width (in px) of the line enclosing each sector.

        • name Parent: data[type=indicator].gauge.steps Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • range Parent: data[type=indicator].gauge.steps {inner}Type: {array}

          Sets the range of this axis.

        • templateitemname Parent: data[type=indicator].gauge.steps Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • thickness Parent: data[type=indicator].gauge.steps Type: number less than or equal to 1 Default: 1

          Sets the thickness of the bar as a fraction of the total thickness of the gauge.

      • threshold Parent: data[type=indicator].gauge Type: object containing one or more of the keys listed below.
        • line Parent: data[type=indicator].gauge.threshold Type: object containing one or more of the keys listed below.
          • color Parent: data[type=indicator].gauge.threshold.line Type: color Default: \"#444\"

            Sets the color of the threshold line.

          • width Parent: data[type=indicator].gauge.threshold.line Type: number Default: 1

            Sets the width (in px) of the threshold line.

        • thickness Parent: data[type=indicator].gauge.threshold Type: number less than or equal to 1 Default: 0.85

          Sets the thickness of the threshold line as a fraction of the thickness of the gauge.

        • value Parent: data[type=indicator].gauge.threshold Type: number

          Sets a treshold value drawn as a line.

    • ids Parent: data[type=indicator] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=indicator] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=indicator] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=indicator].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=indicator].legendgrouptitle.font Type: color
        • family Parent: data[type=indicator].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=indicator].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=indicator].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=indicator].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=indicator].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=indicator].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=indicator].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=indicator].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=indicator].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=indicator] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=indicator] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • meta Parent: data[type=indicator] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=indicator] Type: flaglist string. Any combination of \"number\", \"delta\", \"gauge\" joined with a \"+\" OR . Examples: \"number\", \"delta\", \"number+delta\", \"number+delta+gauge\", Default: \"number\"

      Determines how the value is displayed on the graph. `number` displays the value numerically in text. `delta` displays the difference to a reference value in text. Finally, `gauge` displays the value graphically on an axis.

    • name Parent: data[type=indicator] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • number Parent: data[type=indicator] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=indicator].number Type: object containing one or more of the keys listed below.

        Set the font used to display main number

        • color Parent: data[type=indicator].number.font Type: color
        • family Parent: data[type=indicator].number.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=indicator].number.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=indicator].number.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=indicator].number.font Type: number greater than or equal to 1
        • style Parent: data[type=indicator].number.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=indicator].number.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=indicator].number.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=indicator].number.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • prefix Parent: data[type=indicator].number Type: string

        Sets a prefix appearing before the number.

      • suffix Parent: data[type=indicator].number Type: string

        Sets a suffix appearing next to the number.

      • valueformat Parent: data[type=indicator].number Type: string

        Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

    • title Parent: data[type=indicator] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=indicator].title Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.

      • font Parent: data[type=indicator].title Type: object containing one or more of the keys listed below.

        Set the font used to display the title

        • color Parent: data[type=indicator].title.font Type: color
        • family Parent: data[type=indicator].title.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=indicator].title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=indicator].title.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=indicator].title.font Type: number greater than or equal to 1
        • style Parent: data[type=indicator].title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=indicator].title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=indicator].title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=indicator].title.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=indicator].title Type: string

        Sets the title of this indicator.

    • type Parent: data[type=indicator] Type: \"indicator\"
    • uid Parent: data[type=indicator] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=indicator] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • value Parent: data[type=indicator] Type: number

      Sets the number to be displayed.

    • visible Parent: data[type=indicator] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/isosurface/","title":"isosurface","text":"A isosurface trace is an object with the key \"type\" equal to \"isosurface\" (i.e. {\"type\": \"isosurface\"}) and any of the keys listed below. Draws isosurfaces between iso-min and iso-max values with coordinates given by four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as spaceframe between iso-min and iso-max values could also be drawn using this trace.
    • autocolorscale Parent: data[type=isosurface] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • caps Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=isosurface].caps Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=isosurface].caps.x Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • show Parent: data[type=isosurface].caps.x Type: boolean Default: true

          Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      • y Parent: data[type=isosurface].caps Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=isosurface].caps.y Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • show Parent: data[type=isosurface].caps.y Type: boolean Default: true

          Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      • z Parent: data[type=isosurface].caps Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=isosurface].caps.z Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • show Parent: data[type=isosurface].caps.z Type: boolean Default: true

          Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

    • cauto Parent: data[type=isosurface] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    • cmax Parent: data[type=isosurface] Type: number

      Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.

    • cmid Parent: data[type=isosurface] Type: number

      Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.

    • cmin Parent: data[type=isosurface] Type: number

      Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.

    • coloraxis Parent: data[type=isosurface] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=isosurface].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=isosurface].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=isosurface].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=isosurface].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=isosurface].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=isosurface].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=isosurface].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=isosurface].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=isosurface].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=isosurface].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=isosurface].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=isosurface].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=isosurface].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=isosurface].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=isosurface].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=isosurface].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=isosurface].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=isosurface].colorbar.tickfont Type: color
        • family Parent: data[type=isosurface].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=isosurface].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=isosurface].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=isosurface].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=isosurface].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=isosurface].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=isosurface].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=isosurface].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=isosurface].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=isosurface].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=isosurface].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=isosurface].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=isosurface].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=isosurface].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=isosurface].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=isosurface].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=isosurface].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=isosurface].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=isosurface].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=isosurface].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=isosurface].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=isosurface].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=isosurface].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=isosurface].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=isosurface].colorbar.title.font Type: color
          • family Parent: data[type=isosurface].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=isosurface].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=isosurface].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=isosurface].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=isosurface].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=isosurface].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=isosurface].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=isosurface].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=isosurface].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=isosurface].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=isosurface].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=isosurface].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=isosurface].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=isosurface].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=isosurface].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=isosurface] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • contour Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=isosurface].contour Type: color Default: \"#444\"

        Sets the color of the contour lines.

      • show Parent: data[type=isosurface].contour Type: boolean

        Sets whether or not dynamic contours are shown on hover

      • width Parent: data[type=isosurface].contour Type: number between or equal to 1 and 16 Default: 2

        Sets the width of the contour lines.

    • customdata Parent: data[type=isosurface] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • flatshading Parent: data[type=isosurface] Type: boolean Default: true

      Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.

    • hoverinfo Parent: data[type=isosurface] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=isosurface].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=isosurface].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=isosurface].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=isosurface].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=isosurface].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=isosurface].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=isosurface].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=isosurface].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=isosurface].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=isosurface].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=isosurface].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=isosurface].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=isosurface].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=isosurface].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=isosurface] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=isosurface] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=isosurface] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • isomax Parent: data[type=isosurface] Type: number

      Sets the maximum boundary for iso-surface plot.

    • isomin Parent: data[type=isosurface] Type: number

      Sets the minimum boundary for iso-surface plot.

    • legend Parent: data[type=isosurface] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=isosurface] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=isosurface].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=isosurface].legendgrouptitle.font Type: color
        • family Parent: data[type=isosurface].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=isosurface].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=isosurface].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=isosurface].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=isosurface].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=isosurface].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=isosurface].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=isosurface].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=isosurface].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=isosurface] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=isosurface] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lighting Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • ambient Parent: data[type=isosurface].lighting Type: number less than or equal to 1 Default: 0.8

        Ambient light increases overall color visibility but can wash out the image.

      • diffuse Parent: data[type=isosurface].lighting Type: number less than or equal to 1 Default: 0.8

        Represents the extent that incident rays are reflected in a range of angles.

      • facenormalsepsilon Parent: data[type=isosurface].lighting Type: number less than or equal to 1

        Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      • fresnel Parent: data[type=isosurface].lighting Type: number less than or equal to 5 Default: 0.2

        Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      • roughness Parent: data[type=isosurface].lighting Type: number less than or equal to 1 Default: 0.5

        Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      • specular Parent: data[type=isosurface].lighting Type: number less than or equal to 2 Default: 0.05

        Represents the level that incident rays are reflected in a single direction, causing shine.

      • vertexnormalsepsilon Parent: data[type=isosurface].lighting Type: number less than or equal to 1 Default: 1e-12

        Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

    • lightposition Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=isosurface].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the X coordinate for each vertex.

      • y Parent: data[type=isosurface].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the Y coordinate for each vertex.

      • z Parent: data[type=isosurface].lightposition Type: number between or equal to -100000 and 100000

        Numeric vector, representing the Z coordinate for each vertex.

    • meta Parent: data[type=isosurface] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=isosurface] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=isosurface] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    • reversescale Parent: data[type=isosurface] Type: boolean

      Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    • scene Parent: data[type=isosurface] Type: subplotid Default: scene

      Sets a reference between this trace's 3D coordinate system and a 3D scene. If \"scene\" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If \"scene2\", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    • showlegend Parent: data[type=isosurface] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=isosurface] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • slices Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=isosurface].slices Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=isosurface].slices.x Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • locations Parent: data[type=isosurface].slices.x Type: data_array

          Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.

        • show Parent: data[type=isosurface].slices.x Type: boolean

          Determines whether or not slice planes about the x dimension are drawn.

      • y Parent: data[type=isosurface].slices Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=isosurface].slices.y Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • locations Parent: data[type=isosurface].slices.y Type: data_array

          Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.

        • show Parent: data[type=isosurface].slices.y Type: boolean

          Determines whether or not slice planes about the y dimension are drawn.

      • z Parent: data[type=isosurface].slices Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=isosurface].slices.z Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • locations Parent: data[type=isosurface].slices.z Type: data_array

          Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.

        • show Parent: data[type=isosurface].slices.z Type: boolean

          Determines whether or not slice planes about the z dimension are drawn.

    • spaceframe Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • fill Parent: data[type=isosurface].spaceframe Type: number less than or equal to 1 Default: 0.15

        Sets the fill ratio of the `spaceframe` elements. The default fill value is 0.15 meaning that only 15% of the area of every faces of tetras would be shaded. Applying a greater `fill` ratio would allow the creation of stronger elements or could be sued to have entirely closed areas (in case of using 1).

      • show Parent: data[type=isosurface].spaceframe Type: boolean

        Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.

    • surface Parent: data[type=isosurface] Type: object containing one or more of the keys listed below.
      • count Parent: data[type=isosurface].surface Type: integer greater than or equal to 1 Default: 2

        Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.

      • fill Parent: data[type=isosurface].surface Type: number less than or equal to 1 Default: 1

        Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      • pattern Parent: data[type=isosurface].surface Type: flaglist string. Any combination of \"A\", \"B\", \"C\", \"D\", \"E\" joined with a \"+\" OR \"all\", \"odd\", \"even\". Examples: \"A\", \"B\", \"A+B\", \"A+B+C\", \"all\" Default: \"all\"

        Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.

      • show Parent: data[type=isosurface].surface Type: boolean Default: true

        Hides/displays surfaces between minimum and maximum iso-values.

    • text Parent: data[type=isosurface] Type: string or array of strings

      Sets the text elements associated with the vertices. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • type Parent: data[type=isosurface] Type: \"isosurface\"
    • uid Parent: data[type=isosurface] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=isosurface] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • value Parent: data[type=isosurface] Type: data_array

      Sets the 4th dimension (value) of the vertices.

    • valuehoverformat Parent: data[type=isosurface] Type: string

      Sets the hover text formatting rulefor `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • visible Parent: data[type=isosurface] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=isosurface] Type: data_array

      Sets the X coordinates of the vertices on X axis.

    • xhoverformat Parent: data[type=isosurface] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=isosurface] Type: data_array

      Sets the Y coordinates of the vertices on Y axis.

    • yhoverformat Parent: data[type=isosurface] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=isosurface] Type: data_array

      Sets the Z coordinates of the vertices on Z axis.

    • zhoverformat Parent: data[type=isosurface] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `zaxis.hoverformat`.

    "},{"location":"reference/layout/","title":"layout","text":"
    • activeselection Parent: layout Type: object containing one or more of the keys listed below.
      • fillcolor Parent: layout.activeselection Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color filling the active selection' interior.

      • opacity Parent: layout.activeselection Type: number less than or equal to 1 Default: 0.5

        Sets the opacity of the active selection.

    • activeshape Parent: layout Type: object containing one or more of the keys listed below.
      • fillcolor Parent: layout.activeshape Type: color Default: \"rgb(255,0,255)\"

        Sets the color filling the active shape' interior.

      • opacity Parent: layout.activeshape Type: number less than or equal to 1 Default: 0.5

        Sets the opacity of the active shape.

    • autosize Parent: layout Type: boolean

      Determines whether or not a layout width or height that has been left undefined by the user is initialized on each relayout. Note that, regardless of this attribute, an undefined layout width or height is always initialized on the first call to plot.

    • autotypenumbers Parent: layout Type: enumerated , one of ( \"convert types\"| \"strict\" ) Default: \"convert types\"

      Using \"strict\" a numeric string in trace data is not converted to a number. Using \"convert types\" a numeric string in trace data may be treated as a number during automatic axis `type` detection. This is the default value; however it could be overridden for individual axes.

    • calendar Parent: layout Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the default calendar system to use for interpreting and displaying dates throughout the plot.

    • clickmode Parent: layout Type: flaglist string. Any combination of \"event\", \"select\" joined with a \"+\" OR \"none\". Examples: \"event\", \"select\", \"event+select\", \"none\" Default: \"event\"

      Determines the mode of single click interactions. \"event\" is the default value and emits the `plotly_click` event. In addition this mode emits the `plotly_selected` event in drag modes \"lasso\" and \"select\", but with no event data attached (kept for compatibility reasons). The \"select\" flag enables selecting single data points via click. This mode also supports persistent selections, meaning that pressing Shift while clicking, adds to / subtracts from an existing selection. \"select\" with `hovermode`: \"x\" can be confusing, consider explicitly setting `hovermode`: \"closest\" when using this feature. Selection events are sent accordingly as long as \"event\" flag is set as well. When the \"event\" flag is missing, `plotly_click` and `plotly_selected` events are not fired.

    • colorscale Parent: layout Type: object containing one or more of the keys listed below.
      • diverging Parent: layout.colorscale Type: colorscale Default: [[[, 0, ,, , ', r, g, b, (, 5, ,, 1, 0, ,, 1, 7, 2, ), ', ]], [[, 0, ., 3, 5, ,, , ', r, g, b, (, 1, 0, 6, ,, 1, 3, 7, ,, 2, 4, 7, ), ', ]], [[, 0, ., 5, ,, , ', r, g, b, (, 1, 9, 0, ,, 1, 9, 0, ,, 1, 9, 0, ), ', ]], [[, 0, ., 6, ,, , ', r, g, b, (, 2, 2, 0, ,, 1, 7, 0, ,, 1, 3, 2, ), ', ]], [[, 0, ., 7, ,, , ', r, g, b, (, 2, 3, 0, ,, 1, 4, 5, ,, 9, 0, ), ', ]], [[, 1, ,, , ', r, g, b, (, 1, 7, 8, ,, 1, 0, ,, 2, 8, ), ', ]]]

        Sets the default diverging colorscale. Note that `autocolorscale` must be true for this attribute to work.

      • sequential Parent: layout.colorscale Type: colorscale Default: [[[, 0, ,, , ', r, g, b, (, 2, 2, 0, ,, 2, 2, 0, ,, 2, 2, 0, ), ', ]], [[, 0, ., 2, ,, , ', r, g, b, (, 2, 4, 5, ,, 1, 9, 5, ,, 1, 5, 7, ), ', ]], [[, 0, ., 4, ,, , ', r, g, b, (, 2, 4, 5, ,, 1, 6, 0, ,, 1, 0, 5, ), ', ]], [[, 1, ,, , ', r, g, b, (, 1, 7, 8, ,, 1, 0, ,, 2, 8, ), ', ]]]

        Sets the default sequential colorscale for positive values. Note that `autocolorscale` must be true for this attribute to work.

      • sequentialminus Parent: layout.colorscale Type: colorscale Default: [[[, 0, ,, , ', r, g, b, (, 5, ,, 1, 0, ,, 1, 7, 2, ), ', ]], [[, 0, ., 3, 5, ,, , ', r, g, b, (, 4, 0, ,, 6, 0, ,, 1, 9, 0, ), ', ]], [[, 0, ., 5, ,, , ', r, g, b, (, 7, 0, ,, 1, 0, 0, ,, 2, 4, 5, ), ', ]], [[, 0, ., 6, ,, , ', r, g, b, (, 9, 0, ,, 1, 2, 0, ,, 2, 4, 5, ), ', ]], [[, 0, ., 7, ,, , ', r, g, b, (, 1, 0, 6, ,, 1, 3, 7, ,, 2, 4, 7, ), ', ]], [[, 1, ,, , ', r, g, b, (, 2, 2, 0, ,, 2, 2, 0, ,, 2, 2, 0, ), ', ]]]

        Sets the default sequential colorscale for negative values. Note that `autocolorscale` must be true for this attribute to work.

    • colorway Parent: layout Type: colorlist Default: [#1f77b4, #ff7f0e, #2ca02c, #d62728, #9467bd, #8c564b, #e377c2, #7f7f7f, #bcbd22, #17becf]

      Sets the default trace colors.

    • computed Parent: layout Type: number or categorical coordinate string

      Placeholder for exporting automargin-impacting values namely `margin.t`, `margin.b`, `margin.l` and `margin.r` in \"full-json\" mode.

    • datarevision Parent: layout Type: number or categorical coordinate string

      If provided, a changed value tells `Plotly.react` that one or more data arrays has changed. This way you can modify arrays in-place rather than making a complete new copy for an incremental change. If NOT provided, `Plotly.react` assumes that data arrays are being treated as immutable, thus any data array with a different identity from its predecessor contains new data.

    • dragmode Parent: layout Type: enumerated , one of ( \"zoom\"| \"pan\"| \"select\"| \"lasso\"| \"drawclosedpath\"| \"drawopenpath\"| \"drawline\"| \"drawrect\"| \"drawcircle\"| \"orbit\"| \"turntable\"| false ) Default: \"zoom\"

      Determines the mode of drag interactions. \"select\" and \"lasso\" apply only to scatter traces with markers or text. \"orbit\" and \"turntable\" apply only to 3D scenes.

    • editrevision Parent: layout Type: number or categorical coordinate string

      Controls persistence of user-driven changes in `editable: true` configuration, other than trace names and axis titles. Defaults to `layout.uirevision`.

    • font Parent: layout Type: object containing one or more of the keys listed below.

      Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.

      • color Parent: layout.font Type: color Default: \"#444\"
      • family Parent: layout.font Type: string Default: \"\"Open Sans\", verdana, arial, sans-serif\"

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: layout.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: layout.font Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: layout.font Type: number greater than or equal to 1 Default: 12
      • style Parent: layout.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: layout.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: layout.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: layout.font Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • grid Parent: layout Type: object containing one or more of the keys listed below.
      • columns Parent: layout.grid Type: integer greater than or equal to 1

        The number of columns in the grid. If you provide a 2D `subplots` array, the length of its longest row is used as the default. If you give an `xaxes` array, its length is used as the default. But it's also possible to have a different length, if you want to leave a row at the end for non-cartesian subplots.

      • domain Parent: layout.grid Type: object containing one or more of the keys listed below.
        • x Parent: layout.grid.domain {inner}Type: {array} Default: [0, 1]

          Sets the horizontal domain of this grid subplot (in plot fraction). The first and last cells end exactly at the domain edges, with no grout around the edges.

        • y Parent: layout.grid.domain {inner}Type: {array} Default: [0, 1]

          Sets the vertical domain of this grid subplot (in plot fraction). The first and last cells end exactly at the domain edges, with no grout around the edges.

      • pattern Parent: layout.grid Type: enumerated , one of ( \"independent\"| \"coupled\" ) Default: \"coupled\"

        If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`, we can generate defaults using consecutive axis IDs, in two ways: \"coupled\" gives one x axis per column and one y axis per row. \"independent\" uses a new xy pair for each cell, left-to-right across each row then iterating rows according to `roworder`.

      • roworder Parent: layout.grid Type: enumerated , one of ( \"top to bottom\"| \"bottom to top\" ) Default: \"top to bottom\"

        Is the first row the top or the bottom? Note that columns are always enumerated from left to right.

      • rows Parent: layout.grid Type: integer greater than or equal to 1

        The number of rows in the grid. If you provide a 2D `subplots` array or a `yaxes` array, its length is used as the default. But it's also possible to have a different length, if you want to leave a row at the end for non-cartesian subplots.

      • subplots Parent: layout.grid {inner}Type: {array}

        Used for freeform grids, where some axes may be shared across subplots but others are not. Each entry should be a cartesian subplot id, like \"xy\" or \"x3y2\", or \"\" to leave that cell empty. You may reuse x axes within the same column, and y axes within the same row. Non-cartesian subplots and traces that support `domain` can place themselves in this grid separately using the `gridcell` attribute.

      • xaxes Parent: layout.grid {inner}Type: {array}

        Used with `yaxes` when the x and y axes are shared across columns and rows. Each entry should be an x axis id like \"x\", \"x2\", etc., or \"\" to not put an x axis in that column. Entries other than \"\" must be unique. Ignored if `subplots` is present. If missing but `yaxes` is present, will generate consecutive IDs.

      • xgap Parent: layout.grid Type: number less than or equal to 1

        Horizontal space between grid cells, expressed as a fraction of the total width available to one cell. Defaults to 0.1 for coupled-axes grids and 0.2 for independent grids.

      • xside Parent: layout.grid Type: enumerated , one of ( \"bottom\"| \"bottom plot\"| \"top plot\"| \"top\" ) Default: \"bottom plot\"

        Sets where the x axis labels and titles go. \"bottom\" means the very bottom of the grid. \"bottom plot\" is the lowest plot that each x axis is used in. \"top\" and \"top plot\" are similar.

      • yaxes Parent: layout.grid {inner}Type: {array}

        Used with `yaxes` when the x and y axes are shared across columns and rows. Each entry should be an y axis id like \"y\", \"y2\", etc., or \"\" to not put a y axis in that row. Entries other than \"\" must be unique. Ignored if `subplots` is present. If missing but `xaxes` is present, will generate consecutive IDs.

      • ygap Parent: layout.grid Type: number less than or equal to 1

        Vertical space between grid cells, expressed as a fraction of the total height available to one cell. Defaults to 0.1 for coupled-axes grids and 0.3 for independent grids.

      • yside Parent: layout.grid Type: enumerated , one of ( \"left\"| \"left plot\"| \"right plot\"| \"right\" ) Default: \"left plot\"

        Sets where the y axis labels and titles go. \"left\" means the very left edge of the grid. \"left plot\" is the leftmost plot that each y axis is used in. \"right\" and \"right plot\" are similar.

    • height Parent: layout Type: number greater than or equal to 10 Default: 450

      Sets the plot's height (in px).

    • hidesources Parent: layout Type: boolean

      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 Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).

    • hoverdistance Parent: layout Type: integer greater than or equal to -1 Default: 20

      Sets the default distance (in pixels) to look for data to add hover labels (-1 means no cutoff, 0 means no looking for data). This is only a real distance for hovering on point-like objects, like scatter points. For area-like objects (bars, scatter fills, etc) hovering is on inside the area and off outside, but these objects will not supersede hover on point-like objects in case of conflict.

    • hoverlabel Parent: layout Type: object containing one or more of the keys listed below.
      • align Parent: layout.hoverlabel Type: enumerated , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: layout.hoverlabel Type: color

        Sets the background color of all hover labels on graph

      • bordercolor Parent: layout.hoverlabel Type: color

        Sets the border color of all hover labels on graph.

      • font Parent: layout.hoverlabel Type: object containing one or more of the keys listed below.

        Sets the default hover label font used by all traces on the graph.

        • color Parent: layout.hoverlabel.font Type: color
        • family Parent: layout.hoverlabel.font Type: string Default: \"Arial, sans-serif\"

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: layout.hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: layout.hoverlabel.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: layout.hoverlabel.font Type: number greater than or equal to 1 Default: 13
        • style Parent: layout.hoverlabel.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: layout.hoverlabel.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: layout.hoverlabel.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: layout.hoverlabel.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • grouptitlefont Parent: layout.hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`.

        • color Parent: layout.hoverlabel.grouptitlefont Type: color
        • family Parent: layout.hoverlabel.grouptitlefont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: layout.hoverlabel.grouptitlefont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: layout.hoverlabel.grouptitlefont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: layout.hoverlabel.grouptitlefont Type: number greater than or equal to 1
        • style Parent: layout.hoverlabel.grouptitlefont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: layout.hoverlabel.grouptitlefont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: layout.hoverlabel.grouptitlefont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: layout.hoverlabel.grouptitlefont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: layout.hoverlabel Type: integer greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovermode Parent: layout Type: enumerated , one of ( \"x\"| \"y\"| \"closest\"| false| \"x unified\"| \"y unified\" ) Default: \"closest\"

      Determines the mode of hover interactions. If \"closest\", a single hoverlabel will appear for the \"closest\" point within the `hoverdistance`. If \"x\" (or \"y\"), multiple hoverlabels will appear for multiple points at the \"closest\" x- (or y-) coordinate within the `hoverdistance`, with the caveat that no more than one hoverlabel will appear per trace. If \"x unified\" (or \"y unified\"), a single hoverlabel will appear multiple points at the closest x- (or y-) coordinate within the `hoverdistance` with the caveat that no more than one hoverlabel will appear per trace. In this mode, spikelines are enabled by default perpendicular to the specified axis. If false, hover interactions are disabled.

    • hoversubplots Parent: layout Type: enumerated , one of ( \"single\"| \"overlaying\"| \"axis\" ) Default: \"overlaying\"

      Determines expansion of hover effects to other subplots If \"single\" just the axis pair of the primary point is included without overlaying subplots. If \"overlaying\" all subplots using the main axis and occupying the same space are included. If \"axis\", also include stacked subplots using the same axis when `hovermode` is set to \"x\", \"x unified\", \"y\" or \"y unified\".

    • legend Parent: layout Type: object containing one or more of the keys listed below.
      • bgcolor Parent: layout.legend Type: color

        Sets the legend background color. Defaults to `layout.paper_bgcolor`.

      • bordercolor Parent: layout.legend Type: color Default: \"#444\"

        Sets the color of the border enclosing the legend.

      • borderwidth Parent: layout.legend Type: number

        Sets the width (in px) of the border enclosing the legend.

      • entrywidth Parent: layout.legend Type: number

        Sets the width (in px or fraction) of the legend. Use 0 to size the entry based on the text width, when `entrywidthmode` is set to \"pixels\".

      • entrywidthmode Parent: layout.legend Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        Determines what entrywidth means.

      • font Parent: layout.legend Type: object containing one or more of the keys listed below.

        Sets the font used to text the legend items.

        • color Parent: layout.legend.font Type: color
        • family Parent: layout.legend.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: layout.legend.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: layout.legend.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: layout.legend.font Type: number greater than or equal to 1
        • style Parent: layout.legend.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: layout.legend.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: layout.legend.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: layout.legend.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • groupclick Parent: layout.legend Type: enumerated , one of ( \"toggleitem\"| \"togglegroup\" ) Default: \"togglegroup\"

        Determines the behavior on legend group item click. \"toggleitem\" toggles the visibility of the individual item clicked on the graph. \"togglegroup\" toggles the visibility of all items in the same legendgroup as the item clicked on the graph.

      • grouptitlefont Parent: layout.legend Type: object containing one or more of the keys listed below.

        Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%.

        • color Parent: layout.legend.grouptitlefont Type: color
        • family Parent: layout.legend.grouptitlefont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: layout.legend.grouptitlefont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: layout.legend.grouptitlefont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: layout.legend.grouptitlefont Type: number greater than or equal to 1
        • style Parent: layout.legend.grouptitlefont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: layout.legend.grouptitlefont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: layout.legend.grouptitlefont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: layout.legend.grouptitlefont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • indentation Parent: layout.legend Type: number greater than or equal to -15

        Sets the indentation (in px) of the legend entries.

      • itemclick Parent: layout.legend Type: enumerated , one of ( \"toggle\"| \"toggleothers\"| false ) Default: \"toggle\"

        Determines the behavior on legend item click. \"toggle\" toggles the visibility of the item clicked on the graph. \"toggleothers\" makes the clicked item the sole visible item on the graph. \"false\" disables legend item click interactions.

      • itemdoubleclick Parent: layout.legend Type: enumerated , one of ( \"toggle\"| \"toggleothers\"| false ) Default: \"toggleothers\"

        Determines the behavior on legend item double-click. \"toggle\" toggles the visibility of the item clicked on the graph. \"toggleothers\" makes the clicked item the sole visible item on the graph. \"false\" disables legend item double-click interactions.

      • itemsizing Parent: layout.legend Type: enumerated , one of ( \"trace\"| \"constant\" ) Default: \"trace\"

        Determines if the legend items symbols scale with their corresponding \"trace\" attributes or remain \"constant\" independent of the symbol size on the graph.

      • itemwidth Parent: layout.legend Type: number greater than or equal to 30 Default: 30

        Sets the width (in px) of the legend item symbols (the part other than the title.text).

      • maxheight Parent: layout.legend Type: number

        Sets the max height (in px) of the legend, or max height ratio (reference height \" ratio) if less than one. Default value is: 0.5 for horizontal legends; 1 for vertical legends. The minimum allowed height is 30px. For a ratio of 0.5, the legend will take up to 50% of the reference height before displaying a scrollbar. The reference height is the full layout height except for vertically oriented legends with a `yref` of `\"paper\"`, where the reference height is the plot height.

      • orientation Parent: layout.legend Type: enumerated , one of ( \"v\"| \"h\" ) Default: \"v\"

        Sets the orientation of the legend.

      • title Parent: layout.legend Type: object containing one or more of the keys listed below.
        • font Parent: layout.legend.title Type: object containing one or more of the keys listed below.

          Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%.

          • color Parent: layout.legend.title.font Type: color
          • family Parent: layout.legend.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: layout.legend.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: layout.legend.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: layout.legend.title.font Type: number greater than or equal to 1
          • style Parent: layout.legend.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: layout.legend.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: layout.legend.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: layout.legend.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: layout.legend.title Type: enumerated , one of ( \"top\"| \"left\"| \"top left\"| \"top center\"| \"top right\" )

          Determines the location of legend's title with respect to the legend items. Defaulted to \"top\" with `orientation` is \"h\". Defaulted to \"left\" with `orientation` is \"v\". The \"top left\" options could be used to expand top center and top right are for horizontal alignment legend area in both x and y sides.

        • text Parent: layout.legend.title Type: string

          Sets the title of the legend.

      • tracegroupgap Parent: layout.legend Type: number Default: 10

        Sets the amount of vertical space (in px) between legend groups.

      • traceorder Parent: layout.legend Type: flaglist string. Any combination of \"reversed\", \"grouped\" joined with a \"+\" OR \"normal\". Examples: \"reversed\", \"grouped\", \"reversed+grouped\", \"normal\"

        Determines the order at which the legend items are displayed. If \"normal\", the items are displayed top-to-bottom in the same order as the input data. If \"reversed\", the items are displayed in the opposite order as \"normal\". If \"grouped\", the items are displayed in groups (when a trace `legendgroup` is provided). if \"grouped+reversed\", the items are displayed in the opposite order as \"grouped\".

      • uirevision Parent: layout.legend Type: number or categorical coordinate string

        Controls persistence of legend-driven changes in trace and pie label visibility. Defaults to `layout.uirevision`.

      • valign Parent: layout.legend Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" ) Default: \"middle\"

        Sets the vertical alignment of the symbols with respect to their associated text.

      • visible Parent: layout.legend Type: boolean Default: true

        Determines whether or not this legend is visible.

      • x Parent: layout.legend Type: number

        Sets the x position with respect to `xref` (in normalized coordinates) of the legend. When `xref` is \"paper\", defaults to \"1.02\" for vertical legends and defaults to \"0\" for horizontal legends. When `xref` is \"container\", defaults to \"1\" for vertical legends and defaults to \"0\" for horizontal legends. Must be between \"0\" and \"1\" if `xref` is \"container\". and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: layout.legend Type: enumerated , one of ( \"auto\"| \"left\"| \"center\"| \"right\" ) Default: \"left\"

        Sets the legend's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the legend. Value \"auto\" anchors legends to the right for `x` values greater than or equal to 2/3, anchors legends to the left for `x` values less than or equal to 1/3 and anchors legends with respect to their center otherwise.

      • xref Parent: layout.legend Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: layout.legend Type: number

        Sets the y position with respect to `yref` (in normalized coordinates) of the legend. When `yref` is \"paper\", defaults to \"1\" for vertical legends, defaults to \"-0.1\" for horizontal legends on graphs w/o range sliders and defaults to \"1.1\" for horizontal legends on graph with one or multiple range sliders. When `yref` is \"container\", defaults to \"1\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: layout.legend Type: enumerated , one of ( \"auto\"| \"top\"| \"middle\"| \"bottom\" )

        Sets the legend's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the legend. Value \"auto\" anchors legends at their bottom for `y` values less than or equal to 1/3, anchors legends to at their top for `y` values greater than or equal to 2/3 and anchors legends with respect to their middle otherwise.

      • yref Parent: layout.legend Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • map Parent: layout Type: object containing one or more of the keys listed below.
      • bearing Parent: layout.map Type: number

        Sets the bearing angle of the map in degrees counter-clockwise from North (map.bearing).

      • bounds Parent: layout.map Type: object containing one or more of the keys listed below.
        • east Parent: layout.map.bounds Type: number

          Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared.

        • north Parent: layout.map.bounds Type: number

          Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared.

        • south Parent: layout.map.bounds Type: number

          Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared.

        • west Parent: layout.map.bounds Type: number

          Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared.

      • center Parent: layout.map Type: object containing one or more of the keys listed below.
        • lat Parent: layout.map.center Type: number

          Sets the latitude of the center of the map (in degrees North).

        • lon Parent: layout.map.center Type: number

          Sets the longitude of the center of the map (in degrees East).

      • domain Parent: layout.map Type: object containing one or more of the keys listed below.
        • column Parent: layout.map.domain Type: integer

          If there is a layout grid, use the domain for this column in the grid for this map subplot .

        • row Parent: layout.map.domain Type: integer

          If there is a layout grid, use the domain for this row in the grid for this map subplot .

        • x Parent: layout.map.domain {inner}Type: {array} Default: [0, 1]

          Sets the horizontal domain of this map subplot (in plot fraction).

        • y Parent: layout.map.domain {inner}Type: {array} Default: [0, 1]

          Sets the vertical domain of this map subplot (in plot fraction).

      • layers Parent: layout.map Type: array of object where each object has one or more of the keys listed below.
        • below Parent: layout.map.layers Type: string

          Determines if the layer will be inserted before the layer with the specified ID. If omitted or set to '', the layer will be inserted above every existing layer.

        • circle Parent: layout.map.layers Type: object containing one or more of the keys listed below.
          • radius Parent: layout.map.layers.circle Type: number Default: 15

            Sets the circle radius (map.layer.paint.circle-radius). Has an effect only when `type` is set to \"circle\".

        • color Parent: layout.map.layers Type: color Default: \"#444\"

          Sets the primary layer color. If `type` is \"circle\", color corresponds to the circle color (map.layer.paint.circle-color) If `type` is \"line\", color corresponds to the line color (map.layer.paint.line-color) If `type` is \"fill\", color corresponds to the fill color (map.layer.paint.fill-color) If `type` is \"symbol\", color corresponds to the icon color (map.layer.paint.icon-color)

        • coordinates Parent: layout.map.layers Type: number or categorical coordinate string

          Sets the coordinates array contains [longitude, latitude] pairs for the image corners listed in clockwise order: top left, top right, bottom right, bottom left. Only has an effect for \"image\" `sourcetype`.

        • fill Parent: layout.map.layers Type: object containing one or more of the keys listed below.
          • outlinecolor Parent: layout.map.layers.fill Type: color Default: \"#444\"

            Sets the fill outline color (map.layer.paint.fill-outline-color). Has an effect only when `type` is set to \"fill\".

        • line Parent: layout.map.layers Type: object containing one or more of the keys listed below.
          • dash Parent: layout.map.layers.line Type: data_array

            Sets the length of dashes and gaps (map.layer.paint.line-dasharray). Has an effect only when `type` is set to \"line\".

          • width Parent: layout.map.layers.line Type: number Default: 2

            Sets the line width (map.layer.paint.line-width). Has an effect only when `type` is set to \"line\".

        • maxzoom Parent: layout.map.layers Type: number less than or equal to 24 Default: 24

          Sets the maximum zoom level (map.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.

        • minzoom Parent: layout.map.layers Type: number less than or equal to 24

          Sets the minimum zoom level (map.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.

        • name Parent: layout.map.layers Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • opacity Parent: layout.map.layers Type: number less than or equal to 1 Default: 1

          Sets the opacity of the layer. If `type` is \"circle\", opacity corresponds to the circle opacity (map.layer.paint.circle-opacity) If `type` is \"line\", opacity corresponds to the line opacity (map.layer.paint.line-opacity) If `type` is \"fill\", opacity corresponds to the fill opacity (map.layer.paint.fill-opacity) If `type` is \"symbol\", opacity corresponds to the icon/text opacity (map.layer.paint.text-opacity)

        • source Parent: layout.map.layers Type: number or categorical coordinate string

          Sets the source data for this layer (map.layer.source). When `sourcetype` is set to \"geojson\", `source` can be a URL to a GeoJSON or a GeoJSON object. When `sourcetype` is set to \"vector\" or \"raster\", `source` can be a URL or an array of tile URLs. When `sourcetype` is set to \"image\", `source` can be a URL to an image.

        • sourceattribution Parent: layout.map.layers Type: string

          Sets the attribution for this source.

        • sourcelayer Parent: layout.map.layers Type: string

          Specifies the layer to use from a vector tile source (map.layer.source-layer). Required for \"vector\" source type that supports multiple layers.

        • sourcetype Parent: layout.map.layers Type: enumerated , one of ( \"geojson\"| \"vector\"| \"raster\"| \"image\" ) Default: \"geojson\"

          Sets the source type for this layer, that is the type of the layer data.

        • symbol Parent: layout.map.layers Type: object containing one or more of the keys listed below.
          • icon Parent: layout.map.layers.symbol Type: string Default: \"marker\"

            Sets the symbol icon image (map.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/

          • iconsize Parent: layout.map.layers.symbol Type: number Default: 10

            Sets the symbol icon size (map.layer.layout.icon-size). Has an effect only when `type` is set to \"symbol\".

          • placement Parent: layout.map.layers.symbol Type: enumerated , one of ( \"point\"| \"line\"| \"line-center\" ) Default: \"point\"

            Sets the symbol and/or text placement (map.layer.layout.symbol-placement). If `placement` is \"point\", the label is placed where the geometry is located If `placement` is \"line\", the label is placed along the line of the geometry If `placement` is \"line-center\", the label is placed on the center of the geometry

          • text Parent: layout.map.layers.symbol Type: string

            Sets the symbol text (map.layer.layout.text-field).

          • textfont Parent: layout.map.layers.symbol Type: object containing one or more of the keys listed below.

            Sets the icon text font (color=map.layer.paint.text-color, size=map.layer.layout.text-size). Has an effect only when `type` is set to \"symbol\".

            • color Parent: layout.map.layers.symbol.textfont Type: color
            • family Parent: layout.map.layers.symbol.textfont Type: string Default: \"Open Sans Regular, Arial Unicode MS Regular\"

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • size Parent: layout.map.layers.symbol.textfont Type: number greater than or equal to 1
            • style Parent: layout.map.layers.symbol.textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • weight Parent: layout.map.layers.symbol.textfont Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • textposition Parent: layout.map.layers.symbol Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

            Sets the positions of the `text` elements with respects to the (x,y) coordinates.

        • templateitemname Parent: layout.map.layers Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • type Parent: layout.map.layers Type: enumerated , one of ( \"circle\"| \"line\"| \"fill\"| \"symbol\"| \"raster\" ) Default: \"circle\"

          Sets the layer type, that is the how the layer data set in `source` will be rendered With `sourcetype` set to \"geojson\", the following values are allowed: \"circle\", \"line\", \"fill\" and \"symbol\". but note that \"line\" and \"fill\" are not compatible with Point GeoJSON geometries. With `sourcetype` set to \"vector\", the following values are allowed: \"circle\", \"line\", \"fill\" and \"symbol\". With `sourcetype` set to \"raster\" or \"image\", only the \"raster\" value is allowed.

        • visible Parent: layout.map.layers Type: boolean Default: true

          Determines whether this layer is displayed

      • pitch Parent: layout.map Type: number

        Sets the pitch angle of the map (in degrees, where \"0\" means perpendicular to the surface of the map) (map.pitch).

      • style Parent: layout.map Type: number or categorical coordinate string Default: basic

        Defines the map layers that are rendered by default below the trace layers defined in `data`, which are themselves by default rendered below the layers defined in `layout.map.layers`. These layers can be defined either explicitly as a Map Style object which can contain multiple layer definitions that load data from any public or private Tile Map Service (TMS or XYZ) or Web Map Service (WMS) or implicitly by using one of the built-in style objects which use WMSes or by using a custom style URL Map Style objects are of the form described in the MapLibre GL JS documentation available at https://maplibre.org/maplibre-style-spec/ The built-in plotly.js styles objects are: basic, carto-darkmatter, carto-darkmatter-nolabels, carto-positron, carto-positron-nolabels, carto-voyager, carto-voyager-nolabels, dark, light, open-street-map, outdoors, satellite, satellite-streets, streets, white-bg.

      • uirevision Parent: layout.map Type: number or categorical coordinate string

        Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.

      • zoom Parent: layout.map Type: number Default: 1

        Sets the zoom level of the map (map.zoom).

    • margin Parent: layout Type: object containing one or more of the keys listed below.
      • autoexpand Parent: layout.margin Type: boolean Default: true

        Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.

      • b Parent: layout.margin Type: number Default: 80

        Sets the bottom margin (in px).

      • l Parent: layout.margin Type: number Default: 80

        Sets the left margin (in px).

      • pad Parent: layout.margin Type: number

        Sets the amount of padding (in px) between the plotting area and the axis lines

      • r Parent: layout.margin Type: number Default: 80

        Sets the right margin (in px).

      • t Parent: layout.margin Type: number Default: 100

        Sets the top margin (in px).

    • meta Parent: layout Type: number or categorical coordinate string

      Assigns extra meta information that can be used in various `text` attributes. Attributes such as the graph, axis and colorbar `title.text`, annotation `text` `trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text all support `meta`. One can access `meta` fields using template strings: `%{meta[i]}` where `i` is the index of the `meta` item in question. `meta` can also be an object for example `{key: value}` which can be accessed %{meta[key]}.

    • minreducedheight Parent: layout Type: number greater than or equal to 2 Default: 64

      Minimum height of the plot with margin.automargin applied (in px)

    • minreducedwidth Parent: layout Type: number greater than or equal to 2 Default: 64

      Minimum width of the plot with margin.automargin applied (in px)

    • modebar Parent: layout Type: object containing one or more of the keys listed below.
      • activecolor Parent: layout.modebar Type: color

        Sets the color of the active or hovered on icons in the modebar.

      • add Parent: layout.modebar Type: string or array of strings

        Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include \"v1hovermode\", \"hoverclosest\", \"hovercompare\", \"togglehover\", \"togglespikelines\", \"drawline\", \"drawopenpath\", \"drawclosedpath\", \"drawcircle\", \"drawrect\", \"eraseshape\".

      • bgcolor Parent: layout.modebar Type: color

        Sets the background color of the modebar.

      • color Parent: layout.modebar Type: color

        Sets the color of the icons in the modebar.

      • orientation Parent: layout.modebar Type: enumerated , one of ( \"v\"| \"h\" ) Default: \"h\"

        Sets the orientation of the modebar.

      • remove Parent: layout.modebar Type: string or array of strings

        Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include \"autoScale2d\", \"autoscale\", \"editInChartStudio\", \"editinchartstudio\", \"hoverCompareCartesian\", \"hovercompare\", \"lasso\", \"lasso2d\", \"orbitRotation\", \"orbitrotation\", \"pan\", \"pan2d\", \"pan3d\", \"reset\", \"resetCameraDefault3d\", \"resetCameraLastSave3d\", \"resetGeo\", \"resetSankeyGroup\", \"resetScale2d\", \"resetViewMap\", \"resetViewMapbox\", \"resetViews\", \"resetcameradefault\", \"resetcameralastsave\", \"resetsankeygroup\", \"resetscale\", \"resetview\", \"resetviews\", \"select\", \"select2d\", \"sendDataToCloud\", \"senddatatocloud\", \"tableRotation\", \"tablerotation\", \"toImage\", \"toggleHover\", \"toggleSpikelines\", \"togglehover\", \"togglespikelines\", \"toimage\", \"zoom\", \"zoom2d\", \"zoom3d\", \"zoomIn2d\", \"zoomInGeo\", \"zoomInMap\", \"zoomInMapbox\", \"zoomOut2d\", \"zoomOutGeo\", \"zoomOutMap\", \"zoomOutMapbox\", \"zoomin\", \"zoomout\".

      • uirevision Parent: layout.modebar Type: number or categorical coordinate string

        Controls persistence of user-driven changes related to the modebar, including `hovermode`, `dragmode`, and `showspikes` at both the root level and inside subplots. Defaults to `layout.uirevision`.

    • newselection Parent: layout Type: object containing one or more of the keys listed below.
      • line Parent: layout.newselection Type: object containing one or more of the keys listed below.
        • color Parent: layout.newselection.line Type: color

          Sets the line color. By default uses either dark grey or white to increase contrast with background color.

        • dash Parent: layout.newselection.line Type: string Default: \"dot\"

          Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

        • width Parent: layout.newselection.line Type: number greater than or equal to 1 Default: 1

          Sets the line width (in px).

      • mode Parent: layout.newselection Type: enumerated , one of ( \"immediate\"| \"gradual\" ) Default: \"immediate\"

        Describes how a new selection is created. If `immediate`, a new selection is created after first mouse up. If `gradual`, a new selection is not created after first mouse. By adding to and subtracting from the initial selection, this option allows declaring extra outlines of the selection.

    • newshape Parent: layout Type: object containing one or more of the keys listed below.
      • drawdirection Parent: layout.newshape Type: enumerated , one of ( \"ortho\"| \"horizontal\"| \"vertical\"| \"diagonal\" ) Default: \"diagonal\"

        When `dragmode` is set to \"drawrect\", \"drawline\" or \"drawcircle\" this limits the drag to be horizontal, vertical or diagonal. Using \"diagonal\" there is no limit e.g. in drawing lines in any direction. \"ortho\" limits the draw to be either horizontal or vertical. \"horizontal\" allows horizontal extend. \"vertical\" allows vertical extend.

      • fillcolor Parent: layout.newshape Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color filling new shapes' interior. Please note that if using a fillcolor with alpha greater than half, drag inside the active shape starts moving the shape underneath, otherwise a new shape could be started over.

      • fillrule Parent: layout.newshape Type: enumerated , one of ( \"evenodd\"| \"nonzero\" ) Default: \"evenodd\"

        Determines the path's interior. For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule

      • label Parent: layout.newshape Type: object containing one or more of the keys listed below.
        • font Parent: layout.newshape.label Type: object containing one or more of the keys listed below.

          Sets the new shape label text font.

          • color Parent: layout.newshape.label.font Type: color
          • family Parent: layout.newshape.label.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: layout.newshape.label.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: layout.newshape.label.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: layout.newshape.label.font Type: number greater than or equal to 1
          • style Parent: layout.newshape.label.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: layout.newshape.label.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: layout.newshape.label.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: layout.newshape.label.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • padding Parent: layout.newshape.label Type: number Default: 3

          Sets padding (in px) between edge of label and edge of new shape.

        • text Parent: layout.newshape.label Type: string

          Sets the text to display with the new shape. It is also used for legend item if `name` is not provided.

        • textangle Parent: layout.newshape.label Type: angle Default: \"auto\"

          Sets the angle at which the label text is drawn with respect to the horizontal. For lines, angle \"auto\" is the same angle as the line. For all other shapes, angle \"auto\" is horizontal.

        • textposition Parent: layout.newshape.label Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\"| \"start\"| \"middle\"| \"end\" )

          Sets the position of the label text relative to the new shape. Supported values for rectangles, circles and paths are \"top left\", \"top center\", \"top right\", \"middle left\", \"middle center\", \"middle right\", \"bottom left\", \"bottom center\", and \"bottom right\". Supported values for lines are \"start\", \"middle\", and \"end\". Default: \"middle center\" for rectangles, circles, and paths; \"middle\" for lines.

        • texttemplate Parent: layout.newshape.label Type: string

          Template string used for rendering the new shape's label. Note that this will override `text`. Variables are inserted using %{variable}, for example \"x0: %{x0}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{x0:$.2f}\". See https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{x0|%m %b %Y}\". See https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. A single multiplication or division operation may be applied to numeric variables, and combined with d3 number formatting, for example \"Length in cm: %{x0\"2.54}\", \"%{slope\"60:.1f} meters per second.\" For log axes, variable values are given in log units. For date axes, x/y coordinate variables and center variables use datetimes, while all other variable values use values in ms. Finally, the template string has access to variables `x0`, `x1`, `y0`, `y1`, `slope`, `dx`, `dy`, `width`, `height`, `length`, `xcenter` and `ycenter`.

        • xanchor Parent: layout.newshape.label Type: enumerated , one of ( \"auto\"| \"left\"| \"center\"| \"right\" ) Default: \"auto\"

          Sets the label's horizontal position anchor This anchor binds the specified `textposition` to the \"left\", \"center\" or \"right\" of the label text. For example, if `textposition` is set to \"top right\" and `xanchor` to \"right\" then the right-most portion of the label text lines up with the right-most edge of the new shape.

        • yanchor Parent: layout.newshape.label Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets the label's vertical position anchor This anchor binds the specified `textposition` to the \"top\", \"middle\" or \"bottom\" of the label text. For example, if `textposition` is set to \"top right\" and `yanchor` to \"top\" then the top-most portion of the label text lines up with the top-most edge of the new shape.

      • layer Parent: layout.newshape Type: enumerated , one of ( \"below\"| \"above\"| \"between\" ) Default: \"above\"

        Specifies whether new shapes are drawn below gridlines (\"below\"), between gridlines and traces (\"between\") or above traces (\"above\").

      • legend Parent: layout.newshape Type: subplotid Default: legend

        Sets the reference to a legend to show new shape in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

      • legendgroup Parent: layout.newshape Type: string

        Sets the legend group for new shape. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

      • legendgrouptitle Parent: layout.newshape Type: object containing one or more of the keys listed below.
        • font Parent: layout.newshape.legendgrouptitle Type: object containing one or more of the keys listed below.

          Sets this legend group's title font.

          • color Parent: layout.newshape.legendgrouptitle.font Type: color
          • family Parent: layout.newshape.legendgrouptitle.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: layout.newshape.legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: layout.newshape.legendgrouptitle.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: layout.newshape.legendgrouptitle.font Type: number greater than or equal to 1
          • style Parent: layout.newshape.legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: layout.newshape.legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: layout.newshape.legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: layout.newshape.legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • text Parent: layout.newshape.legendgrouptitle Type: string

          Sets the title of the legend group.

      • legendrank Parent: layout.newshape Type: number Default: 1000

        Sets the legend rank for new shape. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items.

      • legendwidth Parent: layout.newshape Type: number

        Sets the width (in px or fraction) of the legend for new shape.

      • line Parent: layout.newshape Type: object containing one or more of the keys listed below.
        • color Parent: layout.newshape.line Type: color

          Sets the line color. By default uses either dark grey or white to increase contrast with background color.

        • dash Parent: layout.newshape.line Type: string Default: \"solid\"

          Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

        • width Parent: layout.newshape.line Type: number Default: 4

          Sets the line width (in px).

      • name Parent: layout.newshape Type: string

        Sets new shape name. The name appears as the legend item.

      • opacity Parent: layout.newshape Type: number less than or equal to 1 Default: 1

        Sets the opacity of new shapes.

      • showlegend Parent: layout.newshape Type: boolean

        Determines whether or not new shape is shown in the legend.

      • visible Parent: layout.newshape Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

        Determines whether or not new shape is visible. If \"legendonly\", the shape is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • paper_bgcolor Parent: layout Type: color Default: \"#fff\"

      Sets the background color of the paper where the graph is drawn.

    • plot_bgcolor Parent: layout Type: color Default: \"#fff\"

      Sets the background color of the plotting area in-between x and y axes.

    • selectdirection Parent: layout Type: enumerated , one of ( \"h\"| \"v\"| \"d\"| \"any\" ) Default: \"any\"

      When `dragmode` is set to \"select\", this limits the selection of the drag to horizontal, vertical or diagonal. \"h\" only allows horizontal selection, \"v\" only vertical, \"d\" only diagonal and \"any\" sets no limit.

    • selectionrevision Parent: layout Type: number or categorical coordinate string

      Controls persistence of user-driven changes in selected points from all traces.

    • selections Parent: layout Type: array of object where each object has one or more of the keys listed below.
      • line Parent: layout.selections Type: object containing one or more of the keys listed below.
        • color Parent: layout.selections.line Type: color

          Sets the line color.

        • dash Parent: layout.selections.line Type: string Default: \"dot\"

          Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

        • width Parent: layout.selections.line Type: number greater than or equal to 1 Default: 1

          Sets the line width (in px).

      • name Parent: layout.selections Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

      • opacity Parent: layout.selections Type: number less than or equal to 1 Default: 0.7

        Sets the opacity of the selection.

      • path Parent: layout.selections Type: string

        For `type` \"path\" - a valid SVG path similar to `shapes.path` in data coordinates. Allowed segments are: M, L and Z.

      • templateitemname Parent: layout.selections Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      • type Parent: layout.selections Type: enumerated , one of ( \"rect\"| \"path\" )

        Specifies the selection type to be drawn. If \"rect\", a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`). If \"path\", draw a custom SVG path using `path`.

      • x0 Parent: layout.selections Type: number or categorical coordinate string

        Sets the selection's starting x position.

      • x1 Parent: layout.selections Type: number or categorical coordinate string

        Sets the selection's end x position.

      • xref Parent: layout.selections Type: enumerated , one of ( \"paper\"| \"/^x([2-9]|[1-9][0-9]+)?( domain)?$/\" )

        Sets the selection's x coordinate axis. If set to a x axis id (e.g. \"x\" or \"x2\"), the `x` position refers to a x coordinate. If set to \"paper\", the `x` position refers to the distance from the left of the plotting area in normalized coordinates where \"0\" (\"1\") corresponds to the left (right). If set to a x axis ID followed by \"domain\" (separated by a space), the position behaves like for \"paper\", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., \"x2 domain\" refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.

      • y0 Parent: layout.selections Type: number or categorical coordinate string

        Sets the selection's starting y position.

      • y1 Parent: layout.selections Type: number or categorical coordinate string

        Sets the selection's end y position.

      • yref Parent: layout.selections Type: enumerated , one of ( \"paper\"| \"/^y([2-9]|[1-9][0-9]+)?( domain)?$/\" )

        Sets the selection's x coordinate axis. If set to a y axis id (e.g. \"y\" or \"y2\"), the `y` position refers to a y coordinate. If set to \"paper\", the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where \"0\" (\"1\") corresponds to the bottom (top). If set to a y axis ID followed by \"domain\" (separated by a space), the position behaves like for \"paper\", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., \"y2 domain\" refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.

    • separators Parent: layout Type: string

      Sets the decimal and thousand separators. For example, \". \" puts a '.' before decimals and a space between thousands. In English locales, dflt is \".,\" but other locales may alter this default.

    • showlegend Parent: layout Type: boolean

      Determines whether or not a legend is drawn. Default is `true` if there is a trace to show and any of these: a) Two or more traces would by default be shown in the legend. b) One pie trace is shown in the legend. c) One trace is explicitly given with `showlegend: true`.

    • spikedistance Parent: layout Type: integer greater than or equal to -1 Default: -1

      Sets the default distance (in pixels) to look for data to draw spikelines to (-1 means no cutoff, 0 means no looking for data). As with hoverdistance, distance does not apply to area-like objects. In addition, some objects can be hovered on but will not generate spikelines, such as scatter fills.

    • template Parent: layout Type: number or categorical coordinate string

      Default attributes to be applied to the plot. Templates can be created from existing plots using `Plotly.makeTemplate`, or created manually. They should be objects with format: `{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}` `layoutTemplate` and `traceTemplate` are objects matching the attribute structure of `layout` and a data trace. Trace templates are applied cyclically to traces of each type. Container arrays (eg `annotations`) have special handling: An object ending in `defaults` (eg `annotationdefaults`) is applied to each array item. But if an item has a `templateitemname` key we look in the template array for an item with matching `name` and apply that instead. If no matching `name` is found we mark the item invisible. Any named template item not referenced is appended to the end of the array, so you can use this for a watermark annotation or a logo image, for example. To omit one of these items on the plot, make an item with matching `templateitemname` and `visible: false`.

    • title Parent: layout Type: object containing one or more of the keys listed below.
      • automargin Parent: layout.title Type: boolean

        Determines whether the title can automatically push the figure margins. If `yref='paper'` then the margin will expand to ensure that the title doesn\u2019t overlap with the edges of the container. If `yref='container'` then the margins will ensure that the title doesn\u2019t overlap with the plot area, tick labels, and axis titles. If `automargin=true` and the margins need to be expanded, then y will be set to a default 1 and yanchor will be set to an appropriate default to ensure that minimal margin space is needed. Note that when `yref='paper'`, only 1 or 0 are allowed y values. Invalid values will be reset to the default 1.

      • font Parent: layout.title Type: object containing one or more of the keys listed below.

        Sets the title font.

        • color Parent: layout.title.font Type: color
        • family Parent: layout.title.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: layout.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: layout.title.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: layout.title.font Type: number greater than or equal to 1
        • style Parent: layout.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: layout.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: layout.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: layout.title.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • pad Parent: layout.title Type: object containing one or more of the keys listed below.

        Sets the padding of the title. Each padding value only applies when the corresponding `xanchor`/`yanchor` value is set accordingly. E.g. for left padding to take effect, `xanchor` must be set to \"left\". The same rule applies if `xanchor`/`yanchor` is determined automatically. Padding is muted if the respective anchor value is \"middle\"/\"center\".

        • b Parent: layout.title.pad Type: number

          The amount of padding (in px) along the bottom of the component.

        • l Parent: layout.title.pad Type: number

          The amount of padding (in px) on the left side of the component.

        • r Parent: layout.title.pad Type: number

          The amount of padding (in px) on the right side of the component.

        • t Parent: layout.title.pad Type: number

          The amount of padding (in px) along the top of the component.

      • subtitle Parent: layout.title Type: object containing one or more of the keys listed below.
        • font Parent: layout.title.subtitle Type: object containing one or more of the keys listed below.

          Sets the subtitle font.

          • color Parent: layout.title.subtitle.font Type: color
          • family Parent: layout.title.subtitle.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: layout.title.subtitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: layout.title.subtitle.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: layout.title.subtitle.font Type: number greater than or equal to 1
          • style Parent: layout.title.subtitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: layout.title.subtitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: layout.title.subtitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: layout.title.subtitle.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • text Parent: layout.title.subtitle Type: string

          Sets the plot's subtitle.

      • text Parent: layout.title Type: string

        Sets the plot's title.

      • x Parent: layout.title Type: number less than or equal to 1 Default: 0.5

        Sets the x position with respect to `xref` in normalized coordinates from \"0\" (left) to \"1\" (right).

      • xanchor Parent: layout.title Type: enumerated , one of ( \"auto\"| \"left\"| \"center\"| \"right\" ) Default: \"auto\"

        Sets the title's horizontal alignment with respect to its x position. \"left\" means that the title starts at x, \"right\" means that the title ends at x and \"center\" means that the title's center is at x. \"auto\" divides `xref` by three and calculates the `xanchor` value automatically based on the value of `x`.

      • xref Parent: layout.title Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"container\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: layout.title Type: number less than or equal to 1 Default: \"auto\"

        Sets the y position with respect to `yref` in normalized coordinates from \"0\" (bottom) to \"1\" (top). \"auto\" places the baseline of the title onto the vertical center of the top margin.

      • yanchor Parent: layout.title Type: enumerated , one of ( \"auto\"| \"top\"| \"middle\"| \"bottom\" ) Default: \"auto\"

        Sets the title's vertical alignment with respect to its y position. \"top\" means that the title's cap line is at y, \"bottom\" means that the title's baseline is at y and \"middle\" means that the title's midline is at y. \"auto\" divides `yref` by three and calculates the `yanchor` value automatically based on the value of `y`.

      • yref Parent: layout.title Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"container\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • transition Parent: layout Type: object containing one or more of the keys listed below.

      Sets transition options used during Plotly.react updates.

      • duration Parent: layout.transition Type: number Default: 500

        The duration of the transition, in milliseconds. If equal to zero, updates are synchronous.

      • easing Parent: layout.transition Type: enumerated , one of ( \"linear\"| \"quad\"| \"cubic\"| \"sin\"| \"exp\"| \"circle\"| \"elastic\"| \"back\"| \"bounce\"| \"linear-in\"| \"quad-in\"| \"cubic-in\"| \"sin-in\"| \"exp-in\"| \"circle-in\"| \"elastic-in\"| \"back-in\"| \"bounce-in\"| \"linear-out\"| \"quad-out\"| \"cubic-out\"| \"sin-out\"| \"exp-out\"| \"circle-out\"| \"elastic-out\"| \"back-out\"| \"bounce-out\"| \"linear-in-out\"| \"quad-in-out\"| \"cubic-in-out\"| \"sin-in-out\"| \"exp-in-out\"| \"circle-in-out\"| \"elastic-in-out\"| \"back-in-out\"| \"bounce-in-out\" ) Default: \"cubic-in-out\"

        The easing function used for the transition

      • ordering Parent: layout.transition Type: enumerated , one of ( \"layout first\"| \"traces first\" ) Default: \"layout first\"

        Determines whether the figure's layout or traces smoothly transitions during updates that make both traces and layout change.

    • uirevision Parent: layout Type: number or categorical coordinate string

      Used to allow user interactions with the plot to persist after `Plotly.react` calls that are unaware of these interactions. If `uirevision` is omitted, or if it is given and it changed from the previous `Plotly.react` call, the exact new figure is used. If `uirevision` is truthy and did NOT change, any attribute that has been affected by user interactions and did not receive a different value in the new figure will keep the interaction value. `layout.uirevision` attribute serves as the default for `uirevision` attributes in various sub-containers. For finer control you can set these sub-attributes directly. For example, if your app separately controls the data on the x and y axes you might set `xaxis.uirevision=\"time\"` and `yaxis.uirevision=\"cost\"`. Then if only the y data is changed, you can update `yaxis.uirevision=\"quantity\"` and the y axis range will reset but the x axis range will retain any user-driven zoom.

    • uniformtext Parent: layout Type: object containing one or more of the keys listed below.
      • minsize Parent: layout.uniformtext Type: number

        Sets the minimum text size between traces of the same type.

      • mode Parent: layout.uniformtext Type: enumerated , one of ( false| \"hide\"| \"show\" )

        Determines how the font size for various text elements are uniformed between each trace type. If the computed text sizes were smaller than the minimum size defined by `uniformtext.minsize` using \"hide\" option hides the text; and using \"show\" option shows the text without further downscaling. Please note that if the size defined by `minsize` is greater than the font size defined by trace, then the `minsize` is used.

    • width Parent: layout Type: number greater than or equal to 10 Default: 700

      Sets the plot's width (in px).

    "},{"location":"reference/mesh3d/","title":"mesh3d","text":"A mesh3d trace is an object with the key \"type\" equal to \"mesh3d\" (i.e. {\"type\": \"mesh3d\"}) and any of the keys listed below. Draws sets of triangles with coordinates given by three 1-dimensional arrays in `x`, `y`, `z` and (1) a sets of `i`, `j`, `k` indices (2) Delaunay triangulation or (3) the Alpha-shape algorithm or (4) the Convex-hull algorithm
    • alphahull Parent: data[type=mesh3d] Type: number Default: -1

      Determines how the mesh surface triangles are derived from the set of vertices (points) represented by the `x`, `y` and `z` arrays, if the `i`, `j`, `k` arrays are not supplied. For general use of `mesh3d` it is preferred that `i`, `j`, `k` are supplied. If \"-1\", Delaunay triangulation is used, which is mainly suitable if the mesh is a single, more or less layer surface that is perpendicular to `delaunayaxis`. In case the `delaunayaxis` intersects the mesh surface at more than one point it will result triangles that are very long in the dimension of `delaunayaxis`. If \">0\", the alpha-shape algorithm is used. In this case, the positive `alphahull` value signals the use of the alpha-shape algorithm, _and_ its value acts as the parameter for the mesh fitting. If \"0\", the convex-hull algorithm is used. It is suitable for convex bodies or if the intention is to enclose the `x`, `y` and `z` point set into a convex hull.

    • autocolorscale Parent: data[type=mesh3d] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • cauto Parent: data[type=mesh3d] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here `intensity`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    • cmax Parent: data[type=mesh3d] Type: number

      Sets the upper bound of the color domain. Value should have the same units as `intensity` and if set, `cmin` must be set as well.

    • cmid Parent: data[type=mesh3d] Type: number

      Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `intensity`. Has no effect when `cauto` is `false`.

    • cmin Parent: data[type=mesh3d] Type: number

      Sets the lower bound of the color domain. Value should have the same units as `intensity` and if set, `cmax` must be set as well.

    • color Parent: data[type=mesh3d] Type: color

      Sets the color of the whole mesh

    • coloraxis Parent: data[type=mesh3d] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=mesh3d] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=mesh3d].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=mesh3d].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=mesh3d].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=mesh3d].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=mesh3d].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=mesh3d].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=mesh3d].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=mesh3d].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=mesh3d].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=mesh3d].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=mesh3d].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=mesh3d].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=mesh3d].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=mesh3d].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=mesh3d].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=mesh3d].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=mesh3d].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=mesh3d].colorbar.tickfont Type: color
        • family Parent: data[type=mesh3d].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=mesh3d].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=mesh3d].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=mesh3d].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=mesh3d].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=mesh3d].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=mesh3d].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=mesh3d].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=mesh3d].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=mesh3d].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=mesh3d].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=mesh3d].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=mesh3d].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=mesh3d].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=mesh3d].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=mesh3d].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=mesh3d].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=mesh3d].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=mesh3d].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=mesh3d].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=mesh3d].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=mesh3d].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=mesh3d].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=mesh3d].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=mesh3d].colorbar.title.font Type: color
          • family Parent: data[type=mesh3d].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=mesh3d].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=mesh3d].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=mesh3d].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=mesh3d].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=mesh3d].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=mesh3d].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=mesh3d].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=mesh3d].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=mesh3d].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=mesh3d].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=mesh3d].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=mesh3d].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=mesh3d].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=mesh3d].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=mesh3d] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • contour Parent: data[type=mesh3d] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=mesh3d].contour Type: color Default: \"#444\"

        Sets the color of the contour lines.

      • show Parent: data[type=mesh3d].contour Type: boolean

        Sets whether or not dynamic contours are shown on hover

      • width Parent: data[type=mesh3d].contour Type: number between or equal to 1 and 16 Default: 2

        Sets the width of the contour lines.

    • customdata Parent: data[type=mesh3d] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • delaunayaxis Parent: data[type=mesh3d] Type: enumerated , one of ( \"x\"| \"y\"| \"z\" ) Default: \"z\"

      Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay triangulation. It has an effect if `i`, `j`, `k` are not provided and `alphahull` is set to indicate Delaunay triangulation.

    • facecolor Parent: data[type=mesh3d] Type: data_array

      Sets the color of each face Overrides \"color\" and \"vertexcolor\".

    • flatshading Parent: data[type=mesh3d] Type: boolean

      Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.

    • hoverinfo Parent: data[type=mesh3d] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=mesh3d] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=mesh3d].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=mesh3d].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=mesh3d].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=mesh3d].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=mesh3d].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=mesh3d].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=mesh3d].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=mesh3d].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=mesh3d].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=mesh3d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=mesh3d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=mesh3d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=mesh3d].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=mesh3d].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=mesh3d] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=mesh3d] Type: string or array of strings

      Same as `text`.

    • i Parent: data[type=mesh3d] Type: data_array

      A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the \"first\" vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `i[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `i` represents a point in space, which is the first vertex of a triangle.

    • ids Parent: data[type=mesh3d] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • intensity Parent: data[type=mesh3d] Type: data_array

      Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.

    • intensitymode Parent: data[type=mesh3d] Type: enumerated , one of ( \"vertex\"| \"cell\" ) Default: \"vertex\"

      Determines the source of `intensity` values.

    • j Parent: data[type=mesh3d] Type: data_array

      A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the \"second\" vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle.

    • k Parent: data[type=mesh3d] Type: data_array

      A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the \"third\" vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `k[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle.

    • legend Parent: data[type=mesh3d] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=mesh3d] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=mesh3d] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=mesh3d].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=mesh3d].legendgrouptitle.font Type: color
        • family Parent: data[type=mesh3d].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=mesh3d].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=mesh3d].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=mesh3d].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=mesh3d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=mesh3d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=mesh3d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=mesh3d].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=mesh3d].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=mesh3d] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=mesh3d] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lighting Parent: data[type=mesh3d] Type: object containing one or more of the keys listed below.
      • ambient Parent: data[type=mesh3d].lighting Type: number less than or equal to 1 Default: 0.8

        Ambient light increases overall color visibility but can wash out the image.

      • diffuse Parent: data[type=mesh3d].lighting Type: number less than or equal to 1 Default: 0.8

        Represents the extent that incident rays are reflected in a range of angles.

      • facenormalsepsilon Parent: data[type=mesh3d].lighting Type: number less than or equal to 1 Default: 1e-06

        Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      • fresnel Parent: data[type=mesh3d].lighting Type: number less than or equal to 5 Default: 0.2

        Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      • roughness Parent: data[type=mesh3d].lighting Type: number less than or equal to 1 Default: 0.5

        Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      • specular Parent: data[type=mesh3d].lighting Type: number less than or equal to 2 Default: 0.05

        Represents the level that incident rays are reflected in a single direction, causing shine.

      • vertexnormalsepsilon Parent: data[type=mesh3d].lighting Type: number less than or equal to 1 Default: 1e-12

        Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

    • lightposition Parent: data[type=mesh3d] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=mesh3d].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the X coordinate for each vertex.

      • y Parent: data[type=mesh3d].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the Y coordinate for each vertex.

      • z Parent: data[type=mesh3d].lightposition Type: number between or equal to -100000 and 100000

        Numeric vector, representing the Z coordinate for each vertex.

    • meta Parent: data[type=mesh3d] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=mesh3d] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=mesh3d] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    • reversescale Parent: data[type=mesh3d] Type: boolean

      Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    • scene Parent: data[type=mesh3d] Type: subplotid Default: scene

      Sets a reference between this trace's 3D coordinate system and a 3D scene. If \"scene\" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If \"scene2\", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    • showlegend Parent: data[type=mesh3d] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=mesh3d] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • text Parent: data[type=mesh3d] Type: string or array of strings

      Sets the text elements associated with the vertices. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • type Parent: data[type=mesh3d] Type: \"mesh3d\"
    • uid Parent: data[type=mesh3d] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=mesh3d] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • vertexcolor Parent: data[type=mesh3d] Type: data_array

      Sets the color of each vertex Overrides \"color\". While Red, green and blue colors are in the range of 0 and 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1.

    • visible Parent: data[type=mesh3d] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=mesh3d] Type: data_array

      Sets the X coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.

    • xcalendar Parent: data[type=mesh3d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=mesh3d] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=mesh3d] Type: data_array

      Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.

    • ycalendar Parent: data[type=mesh3d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=mesh3d] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=mesh3d] Type: data_array

      Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.

    • zcalendar Parent: data[type=mesh3d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `z` date data.

    • zhoverformat Parent: data[type=mesh3d] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `zaxis.hoverformat`.

    "},{"location":"reference/ohlc/","title":"ohlc","text":"A ohlc trace is an object with the key \"type\" equal to \"ohlc\" (i.e. {\"type\": \"ohlc\"}) and any of the keys listed below. The ohlc (short for Open-High-Low-Close) is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red.
    • close Parent: data[type=ohlc] Type: data_array

      Sets the close values.

    • customdata Parent: data[type=ohlc] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • decreasing Parent: data[type=ohlc] Type: object containing one or more of the keys listed below.
      • line Parent: data[type=ohlc].decreasing Type: object containing one or more of the keys listed below.
        • color Parent: data[type=ohlc].decreasing.line Type: color Default: \"#FF4136\"

          Sets the line color.

        • dash Parent: data[type=ohlc].decreasing.line Type: string Default: \"solid\"

          Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

        • width Parent: data[type=ohlc].decreasing.line Type: number Default: 2

          Sets the line width (in px).

    • high Parent: data[type=ohlc] Type: data_array

      Sets the high values.

    • hoverinfo Parent: data[type=ohlc] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=ohlc] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=ohlc].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=ohlc].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=ohlc].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=ohlc].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=ohlc].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=ohlc].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=ohlc].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=ohlc].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=ohlc].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=ohlc].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=ohlc].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=ohlc].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=ohlc].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=ohlc].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      • split Parent: data[type=ohlc].hoverlabel Type: boolean

        Show hover information (open, close, high, low) in separate labels.

    • hovertext Parent: data[type=ohlc] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=ohlc] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • increasing Parent: data[type=ohlc] Type: object containing one or more of the keys listed below.
      • line Parent: data[type=ohlc].increasing Type: object containing one or more of the keys listed below.
        • color Parent: data[type=ohlc].increasing.line Type: color Default: \"#3D9970\"

          Sets the line color.

        • dash Parent: data[type=ohlc].increasing.line Type: string Default: \"solid\"

          Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

        • width Parent: data[type=ohlc].increasing.line Type: number Default: 2

          Sets the line width (in px).

    • legend Parent: data[type=ohlc] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=ohlc] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=ohlc] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=ohlc].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=ohlc].legendgrouptitle.font Type: color
        • family Parent: data[type=ohlc].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=ohlc].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=ohlc].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=ohlc].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=ohlc].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=ohlc].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=ohlc].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=ohlc].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=ohlc].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=ohlc] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=ohlc] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=ohlc] Type: object containing one or more of the keys listed below.
      • dash Parent: data[type=ohlc].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\"). Note that this style setting can also be set per direction via `increasing.line.dash` and `decreasing.line.dash`.

      • width Parent: data[type=ohlc].line Type: number Default: 2

        [object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.

    • low Parent: data[type=ohlc] Type: data_array

      Sets the low values.

    • meta Parent: data[type=ohlc] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=ohlc] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=ohlc] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • open Parent: data[type=ohlc] Type: data_array

      Sets the open values.

    • selectedpoints Parent: data[type=ohlc] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=ohlc] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=ohlc] Type: string or array of strings

      Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.

    • tickwidth Parent: data[type=ohlc] Type: number less than or equal to 0.5 Default: 0.3

      Sets the width of the open/close tick marks relative to the \"x\" minimal interval.

    • type Parent: data[type=ohlc] Type: \"ohlc\"
    • uid Parent: data[type=ohlc] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=ohlc] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=ohlc] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=ohlc] Type: data_array

      Sets the x coordinates. If absent, linear coordinate will be generated.

    • xaxis Parent: data[type=ohlc] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=ohlc] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=ohlc] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=ohlc] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=ohlc] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=ohlc] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • yaxis Parent: data[type=ohlc] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • yhoverformat Parent: data[type=ohlc] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • zorder Parent: data[type=ohlc] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/parcats/","title":"parcats","text":"A parcats trace is an object with the key \"type\" equal to \"parcats\" (i.e. {\"type\": \"parcats\"}) and any of the keys listed below. Parallel categories diagram for multidimensional categorical data.
    • arrangement Parent: data[type=parcats] Type: enumerated , one of ( \"perpendicular\"| \"freeform\"| \"fixed\" ) Default: \"perpendicular\"

      Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary.

    • bundlecolors Parent: data[type=parcats] Type: boolean Default: true

      Sort paths so that like colors are bundled together within each category.

    • counts Parent: data[type=parcats] Type: number or array of numbers Default: 1

      The number of observations represented by each state. Defaults to 1 so that each state represents one observation

    • dimensions Parent: data[type=parcats] Type: array of object where each object has one or more of the keys listed below.
      • categoryarray Parent: data[type=parcats].dimensions Type: data_array

        Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to \"array\". Used with `categoryorder`.

      • categoryorder Parent: data[type=parcats].dimensions Type: enumerated , one of ( \"trace\"| \"category ascending\"| \"category descending\"| \"array\" ) Default: \"trace\"

        Specifies the ordering logic for the categories in the dimension. By default, plotly uses \"trace\", which specifies the order that is present in the data supplied. Set `categoryorder` to \"category ascending\" or \"category descending\" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to \"array\" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the \"trace\" mode. The unspecified categories will follow the categories in `categoryarray`.

      • displayindex Parent: data[type=parcats].dimensions Type: integer

        The display index of dimension, from left to right, zero indexed, defaults to dimension index.

      • label Parent: data[type=parcats].dimensions Type: string

        The shown name of the dimension.

      • ticktext Parent: data[type=parcats].dimensions Type: data_array

        Sets alternative tick labels for the categories in this dimension. Only has an effect if `categoryorder` is set to \"array\". Should be an array the same length as `categoryarray` Used with `categoryorder`.

      • values Parent: data[type=parcats].dimensions Type: data_array

        Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated).

      • visible Parent: data[type=parcats].dimensions Type: boolean Default: true

        Shows the dimension when set to `true` (the default). Hides the dimension for `false`.

    • domain Parent: data[type=parcats] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=parcats].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this parcats trace .

      • row Parent: data[type=parcats].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this parcats trace .

      • x Parent: data[type=parcats].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this parcats trace (in plot fraction).

      • y Parent: data[type=parcats].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this parcats trace (in plot fraction).

    • hoverinfo Parent: data[type=parcats] Type: flaglist string. Any combination of \"count\", \"probability\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"count\", \"probability\", \"count+probability\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoveron Parent: data[type=parcats] Type: enumerated , one of ( \"category\"| \"color\"| \"dimension\" ) Default: \"category\"

      Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension.

    • hovertemplate Parent: data[type=parcats] Type: string

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over dimensions. Note that \"categorycount\", \"colorcount\" and \"bandcolorcount\" are only available when `hoveron` contains the \"color\" flag. Finally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • labelfont Parent: data[type=parcats] Type: object containing one or more of the keys listed below.

      Sets the font for the `dimension` labels.

      • color Parent: data[type=parcats].labelfont Type: color
      • family Parent: data[type=parcats].labelfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=parcats].labelfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=parcats].labelfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=parcats].labelfont Type: number greater than or equal to 1
      • style Parent: data[type=parcats].labelfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=parcats].labelfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=parcats].labelfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=parcats].labelfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • legendgrouptitle Parent: data[type=parcats] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=parcats].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=parcats].legendgrouptitle.font Type: color
        • family Parent: data[type=parcats].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=parcats].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=parcats].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=parcats].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=parcats].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=parcats].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=parcats].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=parcats].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=parcats].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendwidth Parent: data[type=parcats] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=parcats] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=parcats].line Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=parcats].line Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.

      • cmax Parent: data[type=parcats].line Type: number

        Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.

      • cmid Parent: data[type=parcats].line Type: number

        Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.

      • cmin Parent: data[type=parcats].line Type: number

        Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.

      • color Parent: data[type=parcats].line Type: color or array of colors

        Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.

      • coloraxis Parent: data[type=parcats].line Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=parcats].line Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=parcats].line.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=parcats].line.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=parcats].line.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=parcats].line.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=parcats].line.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=parcats].line.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=parcats].line.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=parcats].line.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=parcats].line.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=parcats].line.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=parcats].line.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=parcats].line.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=parcats].line.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=parcats].line.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=parcats].line.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=parcats].line.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=parcats].line.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=parcats].line.colorbar.tickfont Type: color
          • family Parent: data[type=parcats].line.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=parcats].line.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=parcats].line.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=parcats].line.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=parcats].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=parcats].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=parcats].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=parcats].line.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=parcats].line.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=parcats].line.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=parcats].line.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=parcats].line.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=parcats].line.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=parcats].line.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=parcats].line.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=parcats].line.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=parcats].line.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=parcats].line.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=parcats].line.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=parcats].line.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=parcats].line.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=parcats].line.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=parcats].line.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=parcats].line.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=parcats].line.colorbar.title.font Type: color
            • family Parent: data[type=parcats].line.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=parcats].line.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=parcats].line.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=parcats].line.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=parcats].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=parcats].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=parcats].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=parcats].line.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=parcats].line.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=parcats].line.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=parcats].line.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=parcats].line.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=parcats].line.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=parcats].line.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=parcats].line.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=parcats].line Type: colorscale

        Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • hovertemplate Parent: data[type=parcats].line Type: string

        Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over lines.Finally, the template string has access to variables `count` and `probability`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

      • reversescale Parent: data[type=parcats].line Type: boolean

        Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.

      • shape Parent: data[type=parcats].line Type: enumerated , one of ( \"linear\"| \"hspline\" ) Default: \"linear\"

        Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines

      • showscale Parent: data[type=parcats].line Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.

    • meta Parent: data[type=parcats] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=parcats] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • sortpaths Parent: data[type=parcats] Type: enumerated , one of ( \"forward\"| \"backward\" ) Default: \"forward\"

      Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left.

    • tickfont Parent: data[type=parcats] Type: object containing one or more of the keys listed below.

      Sets the font for the `category` labels.

      • color Parent: data[type=parcats].tickfont Type: color
      • family Parent: data[type=parcats].tickfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=parcats].tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=parcats].tickfont Type: string Default: \"auto\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=parcats].tickfont Type: number greater than or equal to 1
      • style Parent: data[type=parcats].tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=parcats].tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=parcats].tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=parcats].tickfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • type Parent: data[type=parcats] Type: \"parcats\"
    • uid Parent: data[type=parcats] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=parcats] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=parcats] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/parcoords/","title":"parcoords","text":"A parcoords trace is an object with the key \"type\" equal to \"parcoords\" (i.e. {\"type\": \"parcoords\"}) and any of the keys listed below. Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`.
    • customdata Parent: data[type=parcoords] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dimensions Parent: data[type=parcoords] Type: array of object where each object has one or more of the keys listed below.
      • constraintrange Parent: data[type=parcoords].dimensions {inner}Type: {array}

        The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue <= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.

      • label Parent: data[type=parcoords].dimensions Type: string

        The shown name of the dimension.

      • multiselect Parent: data[type=parcoords].dimensions Type: boolean Default: true

        Do we allow multiple selection ranges or just a single range?

      • name Parent: data[type=parcoords].dimensions Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

      • range Parent: data[type=parcoords].dimensions {inner}Type: {array}

        The domain range that represents the full, shown axis extent. Defaults to the `values` extent. Must be an array of `[fromValue, toValue]` with finite numbers as elements.

      • templateitemname Parent: data[type=parcoords].dimensions Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      • tickformat Parent: data[type=parcoords].dimensions Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • ticktext Parent: data[type=parcoords].dimensions Type: data_array

        Sets the text displayed at the ticks position via `tickvals`.

      • tickvals Parent: data[type=parcoords].dimensions Type: data_array

        Sets the values at which ticks on this axis appear.

      • values Parent: data[type=parcoords].dimensions Type: data_array

        Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number.

      • visible Parent: data[type=parcoords].dimensions Type: boolean Default: true

        Shows the dimension when set to `true` (the default). Hides the dimension for `false`.

    • domain Parent: data[type=parcoords] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=parcoords].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this parcoords trace .

      • row Parent: data[type=parcoords].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this parcoords trace .

      • x Parent: data[type=parcoords].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this parcoords trace (in plot fraction).

      • y Parent: data[type=parcoords].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this parcoords trace (in plot fraction).

    • ids Parent: data[type=parcoords] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • labelangle Parent: data[type=parcoords] Type: angle

      Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the labels vertically. Tilted labels with \"labelangle\" may be positioned better inside margins when `labelposition` is set to \"bottom\".

    • labelfont Parent: data[type=parcoords] Type: object containing one or more of the keys listed below.

      Sets the font for the `dimension` labels.

      • color Parent: data[type=parcoords].labelfont Type: color
      • family Parent: data[type=parcoords].labelfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=parcoords].labelfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=parcoords].labelfont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=parcoords].labelfont Type: number greater than or equal to 1
      • style Parent: data[type=parcoords].labelfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=parcoords].labelfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=parcoords].labelfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=parcoords].labelfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • labelside Parent: data[type=parcoords] Type: enumerated , one of ( \"top\"| \"bottom\" ) Default: \"top\"

      Specifies the location of the `label`. \"top\" positions labels above, next to the title \"bottom\" positions labels below the graph Tilted labels with \"labelangle\" may be positioned better inside margins when `labelposition` is set to \"bottom\".

    • legend Parent: data[type=parcoords] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=parcoords] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=parcoords].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=parcoords].legendgrouptitle.font Type: color
        • family Parent: data[type=parcoords].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=parcoords].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=parcoords].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=parcoords].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=parcoords].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=parcoords].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=parcoords].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=parcoords].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=parcoords].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=parcoords] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=parcoords] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=parcoords] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=parcoords].line Type: boolean

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=parcoords].line Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.

      • cmax Parent: data[type=parcoords].line Type: number

        Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.

      • cmid Parent: data[type=parcoords].line Type: number

        Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.

      • cmin Parent: data[type=parcoords].line Type: number

        Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.

      • color Parent: data[type=parcoords].line Type: color or array of colors

        Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.

      • coloraxis Parent: data[type=parcoords].line Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=parcoords].line Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=parcoords].line.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=parcoords].line.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=parcoords].line.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=parcoords].line.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=parcoords].line.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=parcoords].line.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=parcoords].line.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=parcoords].line.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=parcoords].line.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=parcoords].line.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=parcoords].line.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=parcoords].line.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=parcoords].line.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=parcoords].line.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=parcoords].line.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=parcoords].line.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=parcoords].line.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=parcoords].line.colorbar.tickfont Type: color
          • family Parent: data[type=parcoords].line.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=parcoords].line.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=parcoords].line.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=parcoords].line.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=parcoords].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=parcoords].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=parcoords].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=parcoords].line.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=parcoords].line.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=parcoords].line.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=parcoords].line.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=parcoords].line.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=parcoords].line.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=parcoords].line.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=parcoords].line.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=parcoords].line.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=parcoords].line.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=parcoords].line.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=parcoords].line.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=parcoords].line.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=parcoords].line.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=parcoords].line.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=parcoords].line.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=parcoords].line.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=parcoords].line.colorbar.title.font Type: color
            • family Parent: data[type=parcoords].line.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=parcoords].line.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=parcoords].line.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=parcoords].line.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=parcoords].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=parcoords].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=parcoords].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=parcoords].line.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=parcoords].line.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=parcoords].line.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=parcoords].line.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=parcoords].line.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=parcoords].line.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=parcoords].line.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=parcoords].line.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=parcoords].line Type: colorscale Default: [[[, 0, ,, , ', #, 4, 4, 0, 1, 5, 4, ', ]], [[, 0, ., 0, 6, 2, 7, 4, 5, 0, 9, 8, 0, 3, 9, 2, 1, 5, 6, 9, ,, , ', #, 4, 8, 1, 8, 6, a, ', ]], [[, 0, ., 1, 2, 5, 4, 9, 0, 1, 9, 6, 0, 7, 8, 4, 3, 1, 3, 7, ,, , ', #, 4, 7, 2, d, 7, b, ', ]], [[, 0, ., 1, 8, 8, 2, 3, 5, 2, 9, 4, 1, 1, 7, 6, 4, 7, 0, 6, ,, , ', #, 4, 2, 4, 0, 8, 6, ', ]], [[, 0, ., 2, 5, 0, 9, 8, 0, 3, 9, 2, 1, 5, 6, 8, 6, 2, 7, 4, ,, , ', #, 3, b, 5, 2, 8, b, ', ]], [[, 0, ., 3, 1, 3, 7, 2, 5, 4, 9, 0, 1, 9, 6, 0, 7, 8, 4, ,, , ', #, 3, 3, 6, 3, 8, d, ', ]], [[, 0, ., 3, 7, 6, 4, 7, 0, 5, 8, 8, 2, 3, 5, 2, 9, 4, 1, ,, , ', #, 2, c, 7, 2, 8, e, ', ]], [[, 0, ., 4, 3, 9, 2, 1, 5, 6, 8, 6, 2, 7, 4, 5, 0, 9, 8, ,, , ', #, 2, 6, 8, 2, 8, e, ', ]], [[, 0, ., 5, 0, 1, 9, 6, 0, 7, 8, 4, 3, 1, 3, 7, 2, 5, 5, ,, , ', #, 2, 1, 9, 1, 8, c, ', ]], [[, 0, ., 5, 6, 4, 7, 0, 5, 8, 8, 2, 3, 5, 2, 9, 4, 1, 2, ,, , ', #, 1, f, a, 0, 8, 8, ', ]], [[, 0, ., 6, 2, 7, 4, 5, 0, 9, 8, 0, 3, 9, 2, 1, 5, 6, 9, ,, , ', #, 2, 8, a, e, 8, 0, ', ]], [[, 0, ., 6, 9, 0, 1, 9, 6, 0, 7, 8, 4, 3, 1, 3, 7, 2, 5, ,, , ', #, 3, f, b, c, 7, 3, ', ]], [[, 0, ., 7, 5, 2, 9, 4, 1, 1, 7, 6, 4, 7, 0, 5, 8, 8, 2, ,, , ', #, 5, e, c, 9, 6, 2, ', ]], [[, 0, ., 8, 1, 5, 6, 8, 6, 2, 7, 4, 5, 0, 9, 8, 0, 3, 9, ,, , ', #, 8, 4, d, 4, 4, b, ', ]], [[, 0, ., 8, 7, 8, 4, 3, 1, 3, 7, 2, 5, 4, 9, 0, 1, 9, 6, ,, , ', #, a, d, d, c, 3, 0, ', ]], [[, 0, ., 9, 4, 1, 1, 7, 6, 4, 7, 0, 5, 8, 8, 2, 3, 5, 3, ,, , ', #, d, 8, e, 2, 1, 9, ', ]], [[, 1, ,, , ', #, f, d, e, 7, 2, 5, ', ]]]

        Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • reversescale Parent: data[type=parcoords].line Type: boolean

        Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.

      • showscale Parent: data[type=parcoords].line Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.

    • meta Parent: data[type=parcoords] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=parcoords] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • rangefont Parent: data[type=parcoords] Type: object containing one or more of the keys listed below.

      Sets the font for the `dimension` range values.

      • color Parent: data[type=parcoords].rangefont Type: color
      • family Parent: data[type=parcoords].rangefont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=parcoords].rangefont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=parcoords].rangefont Type: string Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=parcoords].rangefont Type: number greater than or equal to 1
      • style Parent: data[type=parcoords].rangefont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=parcoords].rangefont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=parcoords].rangefont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=parcoords].rangefont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • tickfont Parent: data[type=parcoords] Type: object containing one or more of the keys listed below.

      Sets the font for the `dimension` tick values.

      • color Parent: data[type=parcoords].tickfont Type: color
      • family Parent: data[type=parcoords].tickfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=parcoords].tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=parcoords].tickfont Type: string Default: \"auto\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=parcoords].tickfont Type: number greater than or equal to 1
      • style Parent: data[type=parcoords].tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=parcoords].tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=parcoords].tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=parcoords].tickfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • type Parent: data[type=parcoords] Type: \"parcoords\"
    • uid Parent: data[type=parcoords] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=parcoords] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=parcoords] Type: object containing one or more of the keys listed below.
      • line Parent: data[type=parcoords].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=parcoords].unselected.line Type: color Default: \"#7f7f7f\"

          Sets the base color of unselected lines. in connection with `unselected.line.opacity`.

        • opacity Parent: data[type=parcoords].unselected.line Type: number less than or equal to 1 Default: \"auto\"

          Sets the opacity of unselected lines. The default \"auto\" decreases the opacity smoothly as the number of lines increases. Use \"1\" to achieve exact `unselected.line.color`.

    • visible Parent: data[type=parcoords] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/pie/","title":"pie","text":"A pie trace is an object with the key \"type\" equal to \"pie\" (i.e. {\"type\": \"pie\"}) and any of the keys listed below. A data visualized by the sectors of the pie is set in `values`. The sector labels are set in `labels`. The sector colors are set in `marker.colors`
    • automargin Parent: data[type=pie] Type: boolean

      Determines whether outside text labels can push the margins.

    • customdata Parent: data[type=pie] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • direction Parent: data[type=pie] Type: enumerated , one of ( \"clockwise\"| \"counterclockwise\" ) Default: \"counterclockwise\"

      Specifies the direction at which succeeding sectors follow one another.

    • dlabel Parent: data[type=pie] Type: number Default: 1

      Sets the label step. See `label0` for more info.

    • domain Parent: data[type=pie] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=pie].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this pie trace .

      • row Parent: data[type=pie].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this pie trace .

      • x Parent: data[type=pie].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this pie trace (in plot fraction).

      • y Parent: data[type=pie].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this pie trace (in plot fraction).

    • hole Parent: data[type=pie] Type: number less than or equal to 1

      Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.

    • hoverinfo Parent: data[type=pie] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"percent\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=pie] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=pie].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=pie].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=pie].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=pie].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=pie].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=pie].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=pie].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=pie].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=pie].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=pie].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=pie].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=pie].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=pie].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=pie].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=pie] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=pie] Type: string or array of strings

      Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=pie] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextfont Parent: data[type=pie] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying inside the sector.

      • color Parent: data[type=pie].insidetextfont Type: color or array of colors
      • family Parent: data[type=pie].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=pie].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=pie].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=pie].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=pie].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=pie].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=pie].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=pie].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • insidetextorientation Parent: data[type=pie] Type: enumerated , one of ( \"horizontal\"| \"radial\"| \"tangential\"| \"auto\" ) Default: \"auto\"

      Controls the orientation of the text inside chart sectors. When set to \"auto\", text may be oriented in any direction in order to be as big as possible in the middle of a sector. The \"horizontal\" option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The \"radial\" option orients text along the radius of the sector. The \"tangential\" option orients text perpendicular to the radius of the sector.

    • label0 Parent: data[type=pie] Type: number

      Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.

    • labels Parent: data[type=pie] Type: data_array

      Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.

    • legend Parent: data[type=pie] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=pie] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=pie] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=pie].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=pie].legendgrouptitle.font Type: color
        • family Parent: data[type=pie].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=pie].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=pie].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=pie].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=pie].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=pie].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=pie].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=pie].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=pie].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=pie] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=pie] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=pie] Type: object containing one or more of the keys listed below.
      • colors Parent: data[type=pie].marker Type: data_array

        Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.

      • line Parent: data[type=pie].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=pie].marker.line Type: color or array of colors Default: \"#444\"

          Sets the color of the line enclosing each sector.

        • width Parent: data[type=pie].marker.line Type: number or array of numbers

          Sets the width (in px) of the line enclosing each sector.

      • pattern Parent: data[type=pie].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=pie].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=pie].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=pie].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=pie].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=pie].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=pie].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=pie].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=pie].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

    • meta Parent: data[type=pie] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=pie] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=pie] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • outsidetextfont Parent: data[type=pie] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying outside the sector.

      • color Parent: data[type=pie].outsidetextfont Type: color or array of colors
      • family Parent: data[type=pie].outsidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=pie].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=pie].outsidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=pie].outsidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=pie].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=pie].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=pie].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=pie].outsidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • pull Parent: data[type=pie] Type: number or array of numbers less than or equal to 1

      Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.

    • rotation Parent: data[type=pie] Type: angle

      Instead of the first slice starting at 12 o'clock, rotate to some other angle.

    • scalegroup Parent: data[type=pie] Type: string

      If there are multiple pie charts that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.

    • showlegend Parent: data[type=pie] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • sort Parent: data[type=pie] Type: boolean Default: true

      Determines whether or not the sectors are reordered from largest to smallest.

    • text Parent: data[type=pie] Type: data_array

      Sets text elements associated with each sector. If trace `textinfo` contains a \"text\" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=pie] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo`.

      • color Parent: data[type=pie].textfont Type: color or array of colors
      • family Parent: data[type=pie].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=pie].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=pie].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=pie].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=pie].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=pie].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=pie].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=pie].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textinfo Parent: data[type=pie] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"percent\" joined with a \"+\" OR \"none\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"none\"

      Determines which trace information appear on the graph.

    • textposition Parent: data[type=pie] Type: enumerated or array of enumerateds , one of ( \"inside\"| \"outside\"| \"auto\"| \"none\" ) Default: \"auto\"

      Specifies the location of the `textinfo`.

    • texttemplate Parent: data[type=pie] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`.

    • title Parent: data[type=pie] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=pie].title Type: object containing one or more of the keys listed below.

        Sets the font used for `title`.

        • color Parent: data[type=pie].title.font Type: color or array of colors
        • family Parent: data[type=pie].title.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=pie].title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=pie].title.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=pie].title.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=pie].title.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=pie].title.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=pie].title.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=pie].title.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • position Parent: data[type=pie].title Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle center\"| \"bottom left\"| \"bottom center\"| \"bottom right\" )

        Specifies the location of the `title`.

      • text Parent: data[type=pie].title Type: string

        Sets the title of the chart. If it is empty, no title is displayed.

    • type Parent: data[type=pie] Type: \"pie\"
    • uid Parent: data[type=pie] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=pie] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • values Parent: data[type=pie] Type: data_array

      Sets the values of the sectors. If omitted, we count occurrences of each label.

    • visible Parent: data[type=pie] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/sankey/","title":"sankey","text":"A sankey trace is an object with the key \"type\" equal to \"sankey\" (i.e. {\"type\": \"sankey\"}) and any of the keys listed below. Sankey plots for network flow data analysis. The nodes are specified in `nodes` and the links between sources and targets in `links`. The colors are set in `nodes[i].color` and `links[i].color`, otherwise defaults are used.
    • arrangement Parent: data[type=sankey] Type: enumerated , one of ( \"snap\"| \"perpendicular\"| \"freeform\"| \"fixed\" ) Default: \"snap\"

      If value is `snap` (the default), the node arrangement is assisted by automatic snapping of elements to preserve space between nodes specified via `nodepad`. If value is `perpendicular`, the nodes can only move along a line perpendicular to the flow. If value is `freeform`, the nodes can freely move on the plane. If value is `fixed`, the nodes are stationary.

    • customdata Parent: data[type=sankey] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • domain Parent: data[type=sankey] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=sankey].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this sankey trace .

      • row Parent: data[type=sankey].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this sankey trace .

      • x Parent: data[type=sankey].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this sankey trace (in plot fraction).

      • y Parent: data[type=sankey].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this sankey trace (in plot fraction).

    • hoverinfo Parent: data[type=sankey] Type: flaglist string. Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo` for nodes and links respectively.

    • hoverlabel Parent: data[type=sankey] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=sankey].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=sankey].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=sankey].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=sankey].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=sankey].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=sankey].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=sankey].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=sankey].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=sankey].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=sankey].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=sankey].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=sankey].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=sankey].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=sankey].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • ids Parent: data[type=sankey] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=sankey] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=sankey] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=sankey].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=sankey].legendgrouptitle.font Type: color
        • family Parent: data[type=sankey].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=sankey].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=sankey].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=sankey].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=sankey].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=sankey].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=sankey].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=sankey].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=sankey].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=sankey] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=sankey] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • link Parent: data[type=sankey] Type: object containing one or more of the keys listed below.

      The links of the Sankey plot.

      • arrowlen Parent: data[type=sankey].link Type: number

        Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.

      • color Parent: data[type=sankey].link Type: color or array of colors

        Sets the `link` color. It can be a single value, or an array for specifying color for each `link`. If `link.color` is omitted, then by default, a translucent grey link will be used.

      • colorscales Parent: data[type=sankey].link Type: array of object where each object has one or more of the keys listed below.
        • cmax Parent: data[type=sankey].link.colorscales Type: number Default: 1

          Sets the upper bound of the color domain.

        • cmin Parent: data[type=sankey].link.colorscales Type: number

          Sets the lower bound of the color domain.

        • colorscale Parent: data[type=sankey].link.colorscales Type: colorscale Default: [[[, 0, ,, , ', w, h, i, t, e, ', ]], [[, 1, ,, , ', b, l, a, c, k, ', ]]]

          Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • label Parent: data[type=sankey].link.colorscales Type: string

          The label of the links to color based on their concentration within a flow.

        • name Parent: data[type=sankey].link.colorscales Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=sankey].link.colorscales Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      • customdata Parent: data[type=sankey].link Type: data_array

        Assigns extra data to each link.

      • hovercolor Parent: data[type=sankey].link Type: color or array of colors

        Sets the `link` hover color. It can be a single value, or an array for specifying hover colors for each `link`. If `link.hovercolor` is omitted, then by default, links will become slightly more opaque when hovered over.

      • hoverinfo Parent: data[type=sankey].link Type: enumerated , one of ( \"all\"| \"none\"| \"skip\" ) Default: \"all\"

        Determines which trace information appear when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

      • hoverlabel Parent: data[type=sankey].link Type: object containing one or more of the keys listed below.
        • align Parent: data[type=sankey].link.hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

          Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

        • bgcolor Parent: data[type=sankey].link.hoverlabel Type: color or array of colors

          Sets the background color of the hover labels for this trace

        • bordercolor Parent: data[type=sankey].link.hoverlabel Type: color or array of colors

          Sets the border color of the hover labels for this trace.

        • font Parent: data[type=sankey].link.hoverlabel Type: object containing one or more of the keys listed below.

          Sets the font used in hover labels.

          • color Parent: data[type=sankey].link.hoverlabel.font Type: color or array of colors
          • family Parent: data[type=sankey].link.hoverlabel.font Type: string or array of strings

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=sankey].link.hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=sankey].link.hoverlabel.font Type: string or array of strings Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=sankey].link.hoverlabel.font Type: number or array of numbers greater than or equal to 1
          • style Parent: data[type=sankey].link.hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=sankey].link.hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=sankey].link.hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=sankey].link.hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • namelength Parent: data[type=sankey].link.hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

          Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      • hovertemplate Parent: data[type=sankey].link Type: string or array of strings

        Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Variables `source` and `target` are node objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

      • label Parent: data[type=sankey].link Type: data_array

        The shown name of the link.

      • line Parent: data[type=sankey].link Type: object containing one or more of the keys listed below.
        • color Parent: data[type=sankey].link.line Type: color or array of colors Default: \"#444\"

          Sets the color of the `line` around each `link`.

        • width Parent: data[type=sankey].link.line Type: number or array of numbers

          Sets the width (in px) of the `line` around each `link`.

      • source Parent: data[type=sankey].link Type: data_array

        An integer number `[0..nodes.length - 1]` that represents the source node.

      • target Parent: data[type=sankey].link Type: data_array

        An integer number `[0..nodes.length - 1]` that represents the target node.

      • value Parent: data[type=sankey].link Type: data_array

        A numeric value representing the flow volume value.

    • meta Parent: data[type=sankey] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=sankey] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • node Parent: data[type=sankey] Type: object containing one or more of the keys listed below.

      The nodes of the Sankey plot.

      • align Parent: data[type=sankey].node Type: enumerated , one of ( \"justify\"| \"left\"| \"right\"| \"center\" ) Default: \"justify\"

        Sets the alignment method used to position the nodes along the horizontal axis.

      • color Parent: data[type=sankey].node Type: color or array of colors

        Sets the `node` color. It can be a single value, or an array for specifying color for each `node`. If `node.color` is omitted, then the default `Plotly` color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node.

      • customdata Parent: data[type=sankey].node Type: data_array

        Assigns extra data to each node.

      • groups Parent: data[type=sankey].node {inner}Type: {array}

        Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.

      • hoverinfo Parent: data[type=sankey].node Type: enumerated , one of ( \"all\"| \"none\"| \"skip\" ) Default: \"all\"

        Determines which trace information appear when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

      • hoverlabel Parent: data[type=sankey].node Type: object containing one or more of the keys listed below.
        • align Parent: data[type=sankey].node.hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

          Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

        • bgcolor Parent: data[type=sankey].node.hoverlabel Type: color or array of colors

          Sets the background color of the hover labels for this trace

        • bordercolor Parent: data[type=sankey].node.hoverlabel Type: color or array of colors

          Sets the border color of the hover labels for this trace.

        • font Parent: data[type=sankey].node.hoverlabel Type: object containing one or more of the keys listed below.

          Sets the font used in hover labels.

          • color Parent: data[type=sankey].node.hoverlabel.font Type: color or array of colors
          • family Parent: data[type=sankey].node.hoverlabel.font Type: string or array of strings

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=sankey].node.hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=sankey].node.hoverlabel.font Type: string or array of strings Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=sankey].node.hoverlabel.font Type: number or array of numbers greater than or equal to 1
          • style Parent: data[type=sankey].node.hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=sankey].node.hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=sankey].node.hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=sankey].node.hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • namelength Parent: data[type=sankey].node.hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

          Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

      • hovertemplate Parent: data[type=sankey].node Type: string or array of strings

        Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Variables `sourceLinks` and `targetLinks` are arrays of link objects.Finally, the template string has access to variables `value` and `label`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

      • label Parent: data[type=sankey].node Type: data_array

        The shown name of the node.

      • line Parent: data[type=sankey].node Type: object containing one or more of the keys listed below.
        • color Parent: data[type=sankey].node.line Type: color or array of colors Default: \"#444\"

          Sets the color of the `line` around each `node`.

        • width Parent: data[type=sankey].node.line Type: number or array of numbers Default: 0.5

          Sets the width (in px) of the `line` around each `node`.

      • pad Parent: data[type=sankey].node Type: number Default: 20

        Sets the padding (in px) between the `nodes`.

      • thickness Parent: data[type=sankey].node Type: number greater than or equal to 1 Default: 20

        Sets the thickness (in px) of the `nodes`.

      • x Parent: data[type=sankey].node Type: data_array

        The normalized horizontal position of the node.

      • y Parent: data[type=sankey].node Type: data_array

        The normalized vertical position of the node.

    • orientation Parent: data[type=sankey] Type: enumerated , one of ( \"v\"| \"h\" ) Default: \"h\"

      Sets the orientation of the Sankey diagram.

    • selectedpoints Parent: data[type=sankey] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • textfont Parent: data[type=sankey] Type: object containing one or more of the keys listed below.

      Sets the font for node labels

      • color Parent: data[type=sankey].textfont Type: color
      • family Parent: data[type=sankey].textfont Type: string

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=sankey].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=sankey].textfont Type: string Default: \"auto\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=sankey].textfont Type: number greater than or equal to 1
      • style Parent: data[type=sankey].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=sankey].textfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=sankey].textfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=sankey].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • type Parent: data[type=sankey] Type: \"sankey\"
    • uid Parent: data[type=sankey] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=sankey] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • valueformat Parent: data[type=sankey] Type: string Default: \".3s\"

      Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

    • valuesuffix Parent: data[type=sankey] Type: string

      Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.

    • visible Parent: data[type=sankey] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/scatter/","title":"scatter","text":"A scatter trace is an object with the key \"type\" equal to \"scatter\" (i.e. {\"type\": \"scatter\"}) and any of the keys listed below. 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 numerical arrays.
    • alignmentgroup Parent: data[type=scatter] Type: string

      Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    • cliponaxis Parent: data[type=scatter] Type: boolean Default: true

      Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • connectgaps Parent: data[type=scatter] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scatter] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=scatter] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • dy Parent: data[type=scatter] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • error_x Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=scatter].error_x Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=scatter].error_x Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=scatter].error_x Type: color

        Sets the stroke color of the error bars.

      • copy_ystyle Parent: data[type=scatter].error_x Type: boolean
      • symmetric Parent: data[type=scatter].error_x Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=scatter].error_x Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=scatter].error_x Type: integer
      • tracerefminus Parent: data[type=scatter].error_x Type: integer
      • type Parent: data[type=scatter].error_x Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=scatter].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=scatter].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=scatter].error_x Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=scatter].error_x Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • error_y Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=scatter].error_y Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=scatter].error_y Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=scatter].error_y Type: color

        Sets the stroke color of the error bars.

      • symmetric Parent: data[type=scatter].error_y Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=scatter].error_y Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=scatter].error_y Type: integer
      • tracerefminus Parent: data[type=scatter].error_y Type: integer
      • type Parent: data[type=scatter].error_y Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=scatter].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=scatter].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=scatter].error_y Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=scatter].error_y Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • fill Parent: data[type=scatter] Type: enumerated , one of ( \"none\"| \"tozeroy\"| \"tozerox\"| \"tonexty\"| \"tonextx\"| \"toself\"| \"tonext\" )

      Sets the area to fill with a solid color. Defaults to \"none\" unless this trace is stacked, then it gets \"tonexty\" (\"tonextx\") if `orientation` is \"v\" (\"h\") Use with `fillcolor` if not \"none\". \"tozerox\" and \"tozeroy\" fill to x=0 and y=0 respectively. \"tonextx\" and \"tonexty\" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like \"tozerox\" and \"tozeroy\". \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. \"tonext\" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like \"toself\" if there is no trace before it. \"tonext\" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    • fillcolor Parent: data[type=scatter] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. If fillgradient is specified, fillcolor is ignored except for setting the background color of the hover label, if any.

    • fillgradient Parent: data[type=scatter] Type: object containing one or more of the keys listed below.

      Sets a fill gradient. If not specified, the fillcolor is used instead.

      • colorscale Parent: data[type=scatter].fillgradient Type: colorscale

        Sets the fill gradient colors as a color scale. The color scale is interpreted as a gradient applied in the direction specified by \"orientation\", from the lowest to the highest value of the scatter plot along that axis, or from the center to the most distant point from it, if orientation is \"radial\".

      • start Parent: data[type=scatter].fillgradient Type: number

        Sets the gradient start value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is \"horizontal\", the gradient will be horizontal and start from the x-position given by start. If omitted, the gradient starts at the lowest value of the trace along the respective axis. Ignored if orientation is \"radial\".

      • stop Parent: data[type=scatter].fillgradient Type: number

        Sets the gradient end value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is \"horizontal\", the gradient will be horizontal and end at the x-position given by end. If omitted, the gradient ends at the highest value of the trace along the respective axis. Ignored if orientation is \"radial\".

      • type Parent: data[type=scatter].fillgradient Type: enumerated , one of ( \"radial\"| \"horizontal\"| \"vertical\"| \"none\" ) Default: \"none\"

        Sets the type/orientation of the color gradient for the fill. Defaults to \"none\".

    • fillpattern Parent: data[type=scatter] Type: object containing one or more of the keys listed below.

      Sets the pattern within the marker.

      • bgcolor Parent: data[type=scatter].fillpattern Type: color or array of colors

        When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

      • fgcolor Parent: data[type=scatter].fillpattern Type: color or array of colors

        When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

      • fgopacity Parent: data[type=scatter].fillpattern Type: number less than or equal to 1

        Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

      • fillmode Parent: data[type=scatter].fillpattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

        Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

      • path Parent: data[type=scatter].fillpattern Type: string or array of strings

        Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

      • shape Parent: data[type=scatter].fillpattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

        Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

      • size Parent: data[type=scatter].fillpattern Type: number or array of numbers Default: 8

        Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

      • solidity Parent: data[type=scatter].fillpattern Type: number or array of numbers less than or equal to 1 Default: 0.3

        Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

    • groupnorm Parent: data[type=scatter] Type: enumerated , one of ( \"\"| \"fraction\"| \"percent\" )

      Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used - including if `visible` is \"legendonly\" but not if it is `false`. Sets the normalization for the sum of this `stackgroup`. With \"fraction\", the value of each trace at each location is divided by the sum of all trace values at that location. \"percent\" is the same but multiplied by 100 to show percentages. If there are multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set.

    • hoverinfo Parent: data[type=scatter] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scatter].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scatter].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scatter].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scatter].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scatter].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scatter].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatter].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatter].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatter].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scatter].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatter].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatter].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatter].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scatter].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoveron Parent: data[type=scatter] Type: flaglist string. Any combination of \"points\", \"fills\" joined with a \"+\" OR . Examples: \"points\", \"fills\", \"points+fills\",

      Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is \"toself\" or \"tonext\" and there are no markers or text, then the default is \"fills\", otherwise it is \"points\".

    • hovertemplate Parent: data[type=scatter] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scatter] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scatter] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=scatter] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scatter] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scatter].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scatter].legendgrouptitle.font Type: color
        • family Parent: data[type=scatter].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatter].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatter].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatter].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scatter].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatter].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatter].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatter].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scatter].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scatter] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scatter] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • backoff Parent: data[type=scatter].line Type: number or array of numbers Default: \"auto\"

        Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With \"auto\" the lines would trim before markers if `marker.angleref` is set to \"previous\".

      • color Parent: data[type=scatter].line Type: color

        Sets the line color.

      • dash Parent: data[type=scatter].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • shape Parent: data[type=scatter].line Type: enumerated , one of ( \"linear\"| \"spline\"| \"hv\"| \"vh\"| \"hvh\"| \"vhv\" ) Default: \"linear\"

        Determines the line shape. With \"spline\" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      • simplify Parent: data[type=scatter].line Type: boolean Default: true

        Simplifies lines by removing nearly-collinear points. When transitioning lines, it may be desirable to disable this so that the number of points along the resulting SVG path is unaffected.

      • smoothing Parent: data[type=scatter].line Type: number less than or equal to 1.3 Default: 1

        Has an effect only if `shape` is set to \"spline\" Sets the amount of smoothing. \"0\" corresponds to no smoothing (equivalent to a \"linear\" shape).

      • width Parent: data[type=scatter].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scatter].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • angleref Parent: data[type=scatter].marker Type: enumerated , one of ( \"previous\"| \"up\" ) Default: \"up\"

        Sets the reference for marker angle. With \"previous\", angle 0 points along the line from the previous point to this one. With \"up\", angle 0 points toward the top of the screen.

      • autocolorscale Parent: data[type=scatter].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scatter].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scatter].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scatter].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scatter].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scatter].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scatter].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scatter].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scatter].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scatter].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scatter].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scatter].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scatter].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scatter].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scatter].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scatter].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scatter].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scatter].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scatter].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scatter].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scatter].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scatter].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scatter].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scatter].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scatter].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scatter].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scatter].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scatter].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scatter].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scatter].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scatter].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scatter].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scatter].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scatter].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scatter].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scatter].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scatter].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scatter].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scatter].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scatter].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scatter].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scatter].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scatter].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scatter].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scatter].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scatter].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scatter].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scatter].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scatter].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scatter].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scatter].marker.colorbar.title.font Type: color
            • family Parent: data[type=scatter].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scatter].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scatter].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scatter].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scatter].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scatter].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scatter].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scatter].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scatter].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scatter].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scatter].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scatter].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scatter].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scatter].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scatter].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scatter].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • gradient Parent: data[type=scatter].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatter].marker.gradient Type: color or array of colors

          Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        • type Parent: data[type=scatter].marker.gradient Type: enumerated or array of enumerateds , one of ( \"radial\"| \"horizontal\"| \"vertical\"| \"none\" ) Default: \"none\"

          Sets the type of gradient used to fill the markers

      • line Parent: data[type=scatter].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scatter].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scatter].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scatter].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scatter].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scatter].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scatter].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scatter].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scatter].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scatter].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scatter].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • maxdisplayed Parent: data[type=scatter].marker Type: number

        Sets a maximum number of points to be drawn on the graph. \"0\" corresponds to no limit.

      • opacity Parent: data[type=scatter].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scatter].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scatter].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scatter].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scatter].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scatter].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scatter].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • standoff Parent: data[type=scatter].marker Type: number or array of numbers

        Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      • symbol Parent: data[type=scatter].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scatter] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scatter] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scatter] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • offsetgroup Parent: data[type=scatter] Type: string

      Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    • opacity Parent: data[type=scatter] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • orientation Parent: data[type=scatter] Type: enumerated , one of ( \"v\"| \"h\" )

      Only relevant in the following cases: 1. when `scattermode` is set to \"group\". 2. when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is \"legendonly\" but not if it is `false`. Sets the stacking direction. With \"v\" (\"h\"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.

    • selected Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatter].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatter].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scatter].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scatter].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scatter].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatter].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scatter] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scatter] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • stackgaps Parent: data[type=scatter] Type: enumerated , one of ( \"infer zero\"| \"interpolate\" ) Default: \"infer zero\"

      Only relevant when `stackgroup` is used, and only the first `stackgaps` found in the `stackgroup` will be used - including if `visible` is \"legendonly\" but not if it is `false`. Determines how we handle locations at which other traces in this group have data but this one does not. With \"infer zero\" we insert a zero at these locations. With \"interpolate\" we linearly interpolate between existing values, and extrapolate a constant beyond the existing values.

    • stackgroup Parent: data[type=scatter] Type: string

      Set several scatter traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `orientation` is \"h\"). If blank or omitted this trace will not be stacked. Stacking also turns `fill` on by default, using \"tonexty\" (\"tonextx\") if `orientation` is \"h\" (\"v\") and sets the default `mode` to \"lines\" irrespective of point count. You can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    • text Parent: data[type=scatter] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scatter] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scatter].textfont Type: color or array of colors
      • family Parent: data[type=scatter].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=scatter].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=scatter].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=scatter].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scatter].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=scatter].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=scatter].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scatter].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scatter] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scatter] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

    • type Parent: data[type=scatter] Type: \"scatter\"
    • uid Parent: data[type=scatter] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scatter] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scatter] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatter].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatter].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scatter].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scatter].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scatter].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatter].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scatter] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=scatter] Type: data_array

      Sets the x coordinates.

    • x0 Parent: data[type=scatter] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • xaxis Parent: data[type=scatter] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=scatter] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=scatter] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=scatter] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=scatter] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=scatter] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • y Parent: data[type=scatter] Type: data_array

      Sets the y coordinates.

    • y0 Parent: data[type=scatter] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • yaxis Parent: data[type=scatter] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ycalendar Parent: data[type=scatter] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=scatter] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=scatter] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=scatter] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=scatter] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    • zorder Parent: data[type=scatter] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/scatter3d/","title":"scatter3d","text":"A scatter3d trace is an object with the key \"type\" equal to \"scatter3d\" (i.e. {\"type\": \"scatter3d\"}) and any of the keys listed below. The data visualized as scatter point or lines in 3D dimension is set in `x`, `y`, `z`. 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` Projections are achieved via `projection`. Surface fills are achieved via `surfaceaxis`.
    • connectgaps Parent: data[type=scatter3d] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scatter3d] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • error_x Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=scatter3d].error_x Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=scatter3d].error_x Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=scatter3d].error_x Type: color

        Sets the stroke color of the error bars.

      • copy_zstyle Parent: data[type=scatter3d].error_x Type: boolean
      • symmetric Parent: data[type=scatter3d].error_x Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=scatter3d].error_x Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=scatter3d].error_x Type: integer
      • tracerefminus Parent: data[type=scatter3d].error_x Type: integer
      • type Parent: data[type=scatter3d].error_x Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=scatter3d].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=scatter3d].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=scatter3d].error_x Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=scatter3d].error_x Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • error_y Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=scatter3d].error_y Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=scatter3d].error_y Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=scatter3d].error_y Type: color

        Sets the stroke color of the error bars.

      • copy_zstyle Parent: data[type=scatter3d].error_y Type: boolean
      • symmetric Parent: data[type=scatter3d].error_y Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=scatter3d].error_y Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=scatter3d].error_y Type: integer
      • tracerefminus Parent: data[type=scatter3d].error_y Type: integer
      • type Parent: data[type=scatter3d].error_y Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=scatter3d].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=scatter3d].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=scatter3d].error_y Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=scatter3d].error_y Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • error_z Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=scatter3d].error_z Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=scatter3d].error_z Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=scatter3d].error_z Type: color

        Sets the stroke color of the error bars.

      • symmetric Parent: data[type=scatter3d].error_z Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=scatter3d].error_z Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=scatter3d].error_z Type: integer
      • tracerefminus Parent: data[type=scatter3d].error_z Type: integer
      • type Parent: data[type=scatter3d].error_z Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=scatter3d].error_z Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=scatter3d].error_z Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=scatter3d].error_z Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=scatter3d].error_z Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • hoverinfo Parent: data[type=scatter3d] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scatter3d].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scatter3d].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scatter3d].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scatter3d].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scatter3d].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scatter3d].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatter3d].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatter3d].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatter3d].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scatter3d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatter3d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatter3d].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatter3d].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scatter3d].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=scatter3d] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scatter3d] Type: string or array of strings

      Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scatter3d] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=scatter3d] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scatter3d] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scatter3d].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scatter3d].legendgrouptitle.font Type: color
        • family Parent: data[type=scatter3d].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatter3d].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatter3d].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatter3d].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scatter3d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatter3d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatter3d].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatter3d].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scatter3d].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scatter3d] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scatter3d] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=scatter3d].line Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scatter3d].line Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.

      • cmax Parent: data[type=scatter3d].line Type: number

        Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.

      • cmid Parent: data[type=scatter3d].line Type: number

        Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.

      • cmin Parent: data[type=scatter3d].line Type: number

        Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.

      • color Parent: data[type=scatter3d].line Type: color or array of colors

        Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.

      • coloraxis Parent: data[type=scatter3d].line Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scatter3d].line Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scatter3d].line.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scatter3d].line.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scatter3d].line.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scatter3d].line.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scatter3d].line.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scatter3d].line.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scatter3d].line.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scatter3d].line.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scatter3d].line.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scatter3d].line.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scatter3d].line.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scatter3d].line.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scatter3d].line.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scatter3d].line.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scatter3d].line.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scatter3d].line.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scatter3d].line.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scatter3d].line.colorbar.tickfont Type: color
          • family Parent: data[type=scatter3d].line.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scatter3d].line.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scatter3d].line.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scatter3d].line.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scatter3d].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scatter3d].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scatter3d].line.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scatter3d].line.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scatter3d].line.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scatter3d].line.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scatter3d].line.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scatter3d].line.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scatter3d].line.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scatter3d].line.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scatter3d].line.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scatter3d].line.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scatter3d].line.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scatter3d].line.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scatter3d].line.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scatter3d].line.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scatter3d].line.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scatter3d].line.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scatter3d].line.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scatter3d].line.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scatter3d].line.colorbar.title.font Type: color
            • family Parent: data[type=scatter3d].line.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scatter3d].line.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scatter3d].line.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scatter3d].line.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scatter3d].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scatter3d].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scatter3d].line.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scatter3d].line.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scatter3d].line.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scatter3d].line.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scatter3d].line.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scatter3d].line.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scatter3d].line.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scatter3d].line.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scatter3d].line.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scatter3d].line Type: colorscale

        Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • dash Parent: data[type=scatter3d].line Type: enumerated , one of ( \"dash\"| \"dashdot\"| \"dot\"| \"longdash\"| \"longdashdot\"| \"solid\" ) Default: \"solid\"

        Sets the dash style of the lines.

      • reversescale Parent: data[type=scatter3d].line Type: boolean

        Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.

      • showscale Parent: data[type=scatter3d].line Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.

      • width Parent: data[type=scatter3d].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=scatter3d].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scatter3d].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scatter3d].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scatter3d].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scatter3d].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scatter3d].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scatter3d].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scatter3d].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scatter3d].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scatter3d].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scatter3d].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scatter3d].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scatter3d].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scatter3d].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scatter3d].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scatter3d].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scatter3d].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scatter3d].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scatter3d].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scatter3d].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scatter3d].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scatter3d].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scatter3d].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scatter3d].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scatter3d].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scatter3d].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scatter3d].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scatter3d].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scatter3d].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scatter3d].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scatter3d].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scatter3d].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scatter3d].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scatter3d].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scatter3d].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scatter3d].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scatter3d].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scatter3d].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scatter3d].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scatter3d].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scatter3d].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scatter3d].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scatter3d].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scatter3d].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scatter3d].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scatter3d].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scatter3d].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scatter3d].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scatter3d].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scatter3d].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scatter3d].marker.colorbar.title.font Type: color
            • family Parent: data[type=scatter3d].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scatter3d].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scatter3d].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scatter3d].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scatter3d].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scatter3d].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scatter3d].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scatter3d].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scatter3d].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scatter3d].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scatter3d].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scatter3d].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scatter3d].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scatter3d].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scatter3d].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scatter3d].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=scatter3d].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scatter3d].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scatter3d].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scatter3d].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scatter3d].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scatter3d].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scatter3d].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scatter3d].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scatter3d].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scatter3d].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scatter3d].marker.line Type: number

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=scatter3d].marker Type: number less than or equal to 1

        Sets the marker opacity. Note that the marker opacity for scatter3d traces must be a scalar value for performance reasons. To set a blending opacity value (i.e. which is not transparent), set \"marker.color\" to an rgba color and use its alpha channel.

      • reversescale Parent: data[type=scatter3d].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scatter3d].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scatter3d].marker Type: number or array of numbers Default: 8

        Sets the marker size (in px).

      • sizemin Parent: data[type=scatter3d].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scatter3d].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scatter3d].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • symbol Parent: data[type=scatter3d].marker Type: enumerated or array of enumerateds , one of ( \"circle\"| \"circle-open\"| \"cross\"| \"diamond\"| \"diamond-open\"| \"square\"| \"square-open\"| \"x\" ) Default: \"circle\"

        Sets the marker symbol type.

    • meta Parent: data[type=scatter3d] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scatter3d] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\" Default: \"lines+markers\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scatter3d] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scatter3d] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • projection Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=scatter3d].projection Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=scatter3d].projection.x Type: number less than or equal to 1 Default: 1

          Sets the projection color.

        • scale Parent: data[type=scatter3d].projection.x Type: number less than or equal to 10 Default: 0.6666666666666666

          Sets the scale factor determining the size of the projection marker points.

        • show Parent: data[type=scatter3d].projection.x Type: boolean

          Sets whether or not projections are shown along the x axis.

      • y Parent: data[type=scatter3d].projection Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=scatter3d].projection.y Type: number less than or equal to 1 Default: 1

          Sets the projection color.

        • scale Parent: data[type=scatter3d].projection.y Type: number less than or equal to 10 Default: 0.6666666666666666

          Sets the scale factor determining the size of the projection marker points.

        • show Parent: data[type=scatter3d].projection.y Type: boolean

          Sets whether or not projections are shown along the y axis.

      • z Parent: data[type=scatter3d].projection Type: object containing one or more of the keys listed below.
        • opacity Parent: data[type=scatter3d].projection.z Type: number less than or equal to 1 Default: 1

          Sets the projection color.

        • scale Parent: data[type=scatter3d].projection.z Type: number less than or equal to 10 Default: 0.6666666666666666

          Sets the scale factor determining the size of the projection marker points.

        • show Parent: data[type=scatter3d].projection.z Type: boolean

          Sets whether or not projections are shown along the z axis.

    • scene Parent: data[type=scatter3d] Type: subplotid Default: scene

      Sets a reference between this trace's 3D coordinate system and a 3D scene. If \"scene\" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If \"scene2\", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    • showlegend Parent: data[type=scatter3d] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • surfaceaxis Parent: data[type=scatter3d] Type: enumerated , one of ( \"-1\"| \"0\"| \"1\"| \"2\" ) Default: \"-1\"

      If \"-1\", the scatter points are not fill with a surface If \"0\", \"1\", \"2\", the scatter points are filled with a Delaunay surface about the x, y, z respectively.

    • surfacecolor Parent: data[type=scatter3d] Type: color

      Sets the surface fill color.

    • text Parent: data[type=scatter3d] Type: string or array of strings

      Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scatter3d] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scatter3d].textfont Type: color or array of colors
      • family Parent: data[type=scatter3d].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • size Parent: data[type=scatter3d].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scatter3d].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • variant Parent: data[type=scatter3d].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scatter3d].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scatter3d] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"top center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scatter3d] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

    • type Parent: data[type=scatter3d] Type: \"scatter3d\"
    • uid Parent: data[type=scatter3d] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scatter3d] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=scatter3d] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=scatter3d] Type: data_array

      Sets the x coordinates.

    • xcalendar Parent: data[type=scatter3d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=scatter3d] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=scatter3d] Type: data_array

      Sets the y coordinates.

    • ycalendar Parent: data[type=scatter3d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=scatter3d] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=scatter3d] Type: data_array

      Sets the z coordinates.

    • zcalendar Parent: data[type=scatter3d] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `z` date data.

    • zhoverformat Parent: data[type=scatter3d] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `zaxis.hoverformat`.

    "},{"location":"reference/scattercarpet/","title":"scattercarpet","text":"A scattercarpet trace is an object with the key \"type\" equal to \"scattercarpet\" (i.e. {\"type\": \"scattercarpet\"}) and any of the keys listed below. Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.
    • a Parent: data[type=scattercarpet] Type: data_array

      Sets the a-axis coordinates.

    • b Parent: data[type=scattercarpet] Type: data_array

      Sets the b-axis coordinates.

    • carpet Parent: data[type=scattercarpet] Type: string

      An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie

    • connectgaps Parent: data[type=scattercarpet] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scattercarpet] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • fill Parent: data[type=scattercarpet] Type: enumerated , one of ( \"none\"| \"toself\"| \"tonext\" ) Default: \"none\"

      Sets the area to fill with a solid color. Use with `fillcolor` if not \"none\". scatterternary has a subset of the options available to scatter. \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. \"tonext\" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like \"toself\" if there is no trace before it. \"tonext\" should not be used if one trace does not enclose the other.

    • fillcolor Parent: data[type=scattercarpet] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scattercarpet] Type: flaglist string. Any combination of \"a\", \"b\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"a\", \"b\", \"a+b\", \"a+b+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scattercarpet] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scattercarpet].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scattercarpet].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scattercarpet].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scattercarpet].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scattercarpet].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scattercarpet].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattercarpet].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattercarpet].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattercarpet].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scattercarpet].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattercarpet].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattercarpet].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattercarpet].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scattercarpet].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoveron Parent: data[type=scattercarpet] Type: flaglist string. Any combination of \"points\", \"fills\" joined with a \"+\" OR . Examples: \"points\", \"fills\", \"points+fills\",

      Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is \"toself\" or \"tonext\" and there are no markers or text, then the default is \"fills\", otherwise it is \"points\".

    • hovertemplate Parent: data[type=scattercarpet] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scattercarpet] Type: string or array of strings

      Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scattercarpet] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=scattercarpet] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scattercarpet] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scattercarpet] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scattercarpet].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scattercarpet].legendgrouptitle.font Type: color
        • family Parent: data[type=scattercarpet].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattercarpet].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattercarpet].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattercarpet].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scattercarpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattercarpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattercarpet].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattercarpet].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scattercarpet].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scattercarpet] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scattercarpet] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scattercarpet] Type: object containing one or more of the keys listed below.
      • backoff Parent: data[type=scattercarpet].line Type: number or array of numbers Default: \"auto\"

        Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With \"auto\" the lines would trim before markers if `marker.angleref` is set to \"previous\".

      • color Parent: data[type=scattercarpet].line Type: color

        Sets the line color.

      • dash Parent: data[type=scattercarpet].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • shape Parent: data[type=scattercarpet].line Type: enumerated , one of ( \"linear\"| \"spline\" ) Default: \"linear\"

        Determines the line shape. With \"spline\" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      • smoothing Parent: data[type=scattercarpet].line Type: number less than or equal to 1.3 Default: 1

        Has an effect only if `shape` is set to \"spline\" Sets the amount of smoothing. \"0\" corresponds to no smoothing (equivalent to a \"linear\" shape).

      • width Parent: data[type=scattercarpet].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scattercarpet] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scattercarpet].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • angleref Parent: data[type=scattercarpet].marker Type: enumerated , one of ( \"previous\"| \"up\" ) Default: \"up\"

        Sets the reference for marker angle. With \"previous\", angle 0 points along the line from the previous point to this one. With \"up\", angle 0 points toward the top of the screen.

      • autocolorscale Parent: data[type=scattercarpet].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scattercarpet].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scattercarpet].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scattercarpet].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scattercarpet].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scattercarpet].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scattercarpet].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scattercarpet].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scattercarpet].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scattercarpet].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scattercarpet].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scattercarpet].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scattercarpet].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scattercarpet].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scattercarpet].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scattercarpet].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scattercarpet].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scattercarpet].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scattercarpet].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scattercarpet].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scattercarpet].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scattercarpet].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scattercarpet].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scattercarpet].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scattercarpet].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scattercarpet].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scattercarpet].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scattercarpet].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scattercarpet].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scattercarpet].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scattercarpet].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scattercarpet].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scattercarpet].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scattercarpet].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scattercarpet].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scattercarpet].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scattercarpet].marker.colorbar.title.font Type: color
            • family Parent: data[type=scattercarpet].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scattercarpet].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scattercarpet].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scattercarpet].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scattercarpet].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scattercarpet].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scattercarpet].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scattercarpet].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scattercarpet].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scattercarpet].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scattercarpet].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scattercarpet].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scattercarpet].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scattercarpet].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scattercarpet].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • gradient Parent: data[type=scattercarpet].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattercarpet].marker.gradient Type: color or array of colors

          Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        • type Parent: data[type=scattercarpet].marker.gradient Type: enumerated or array of enumerateds , one of ( \"radial\"| \"horizontal\"| \"vertical\"| \"none\" ) Default: \"none\"

          Sets the type of gradient used to fill the markers

      • line Parent: data[type=scattercarpet].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scattercarpet].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scattercarpet].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scattercarpet].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scattercarpet].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scattercarpet].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scattercarpet].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scattercarpet].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scattercarpet].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scattercarpet].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scattercarpet].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • maxdisplayed Parent: data[type=scattercarpet].marker Type: number

        Sets a maximum number of points to be drawn on the graph. \"0\" corresponds to no limit.

      • opacity Parent: data[type=scattercarpet].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scattercarpet].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scattercarpet].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scattercarpet].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scattercarpet].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scattercarpet].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scattercarpet].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • standoff Parent: data[type=scattercarpet].marker Type: number or array of numbers

        Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      • symbol Parent: data[type=scattercarpet].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scattercarpet] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scattercarpet] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\" Default: \"markers\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scattercarpet] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scattercarpet] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • selected Parent: data[type=scattercarpet] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattercarpet].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattercarpet].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scattercarpet].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scattercarpet].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scattercarpet].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattercarpet].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scattercarpet] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scattercarpet] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=scattercarpet] Type: string or array of strings

      Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scattercarpet] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scattercarpet].textfont Type: color or array of colors
      • family Parent: data[type=scattercarpet].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=scattercarpet].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=scattercarpet].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=scattercarpet].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scattercarpet].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=scattercarpet].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=scattercarpet].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scattercarpet].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scattercarpet] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scattercarpet] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `a`, `b` and `text`.

    • type Parent: data[type=scattercarpet] Type: \"scattercarpet\"
    • uid Parent: data[type=scattercarpet] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scattercarpet] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scattercarpet] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattercarpet].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattercarpet].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scattercarpet].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scattercarpet].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scattercarpet].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattercarpet].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scattercarpet] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • xaxis Parent: data[type=scattercarpet] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • yaxis Parent: data[type=scattercarpet] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • zorder Parent: data[type=scattercarpet] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/scattergeo/","title":"scattergeo","text":"A scattergeo trace is an object with the key \"type\" equal to \"scattergeo\" (i.e. {\"type\": \"scattergeo\"}) and any of the keys listed below. The data visualized as scatter point or lines on a geographic map is provided either by longitude/latitude pairs in `lon` and `lat` respectively or by geographic location IDs or names in `locations`.
    • connectgaps Parent: data[type=scattergeo] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scattergeo] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • featureidkey Parent: data[type=scattergeo] Type: string Default: \"id\"

      Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example \"properties.name\".

    • fill Parent: data[type=scattergeo] Type: enumerated , one of ( \"none\"| \"toself\" ) Default: \"none\"

      Sets the area to fill with a solid color. Use with `fillcolor` if not \"none\". \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.

    • fillcolor Parent: data[type=scattergeo] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • geo Parent: data[type=scattergeo] Type: subplotid Default: geo

      Sets a reference between this trace's geospatial coordinates and a geographic map. If \"geo\" (the default value), the geospatial coordinates refer to `layout.geo`. If \"geo2\", the geospatial coordinates refer to `layout.geo2`, and so on.

    • geojson Parent: data[type=scattergeo] Type: number or categorical coordinate string

      Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used when `locations` is set. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type \"FeatureCollection\" or \"Feature\" with geometries of type \"Polygon\" or \"MultiPolygon\".

    • hoverinfo Parent: data[type=scattergeo] Type: flaglist string. Any combination of \"lon\", \"lat\", \"location\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"lon\", \"lat\", \"lon+lat\", \"lon+lat+location\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scattergeo] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scattergeo].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scattergeo].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scattergeo].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scattergeo].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scattergeo].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scattergeo].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattergeo].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattergeo].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattergeo].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scattergeo].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattergeo].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattergeo].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattergeo].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scattergeo].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=scattergeo] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scattergeo] Type: string or array of strings

      Sets hover text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scattergeo] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • lat Parent: data[type=scattergeo] Type: data_array

      Sets the latitude coordinates (in degrees North).

    • legend Parent: data[type=scattergeo] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scattergeo] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scattergeo] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scattergeo].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scattergeo].legendgrouptitle.font Type: color
        • family Parent: data[type=scattergeo].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattergeo].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattergeo].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattergeo].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scattergeo].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattergeo].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattergeo].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattergeo].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scattergeo].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scattergeo] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scattergeo] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scattergeo] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=scattergeo].line Type: color

        Sets the line color.

      • dash Parent: data[type=scattergeo].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • width Parent: data[type=scattergeo].line Type: number Default: 2

        Sets the line width (in px).

    • locationmode Parent: data[type=scattergeo] Type: enumerated , one of ( \"ISO-3\"| \"USA-states\"| \"country names\"| \"geojson-id\" ) Default: \"ISO-3\"

      Determines the set of locations used to match entries in `locations` to regions on the map. Values \"ISO-3\", \"USA-states\", \"country names\" correspond to features on the base map and value \"geojson-id\" corresponds to features from a custom GeoJSON linked to the `geojson` attribute.

    • locations Parent: data[type=scattergeo] Type: data_array

      Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.

    • lon Parent: data[type=scattergeo] Type: data_array

      Sets the longitude coordinates (in degrees East).

    • marker Parent: data[type=scattergeo] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scattergeo].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • angleref Parent: data[type=scattergeo].marker Type: enumerated , one of ( \"previous\"| \"up\"| \"north\" ) Default: \"up\"

        Sets the reference for marker angle. With \"previous\", angle 0 points along the line from the previous point to this one. With \"up\", angle 0 points toward the top of the screen. With \"north\", angle 0 points north based on the current map projection.

      • autocolorscale Parent: data[type=scattergeo].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scattergeo].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scattergeo].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scattergeo].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scattergeo].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scattergeo].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scattergeo].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scattergeo].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scattergeo].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scattergeo].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scattergeo].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scattergeo].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scattergeo].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scattergeo].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scattergeo].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scattergeo].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scattergeo].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scattergeo].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scattergeo].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scattergeo].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scattergeo].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scattergeo].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scattergeo].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scattergeo].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scattergeo].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scattergeo].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scattergeo].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scattergeo].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scattergeo].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scattergeo].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scattergeo].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scattergeo].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scattergeo].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scattergeo].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scattergeo].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scattergeo].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scattergeo].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scattergeo].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scattergeo].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scattergeo].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scattergeo].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scattergeo].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scattergeo].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scattergeo].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scattergeo].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scattergeo].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scattergeo].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scattergeo].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scattergeo].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scattergeo].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scattergeo].marker.colorbar.title.font Type: color
            • family Parent: data[type=scattergeo].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scattergeo].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scattergeo].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scattergeo].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scattergeo].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scattergeo].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scattergeo].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scattergeo].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scattergeo].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scattergeo].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scattergeo].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scattergeo].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scattergeo].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scattergeo].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scattergeo].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scattergeo].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • gradient Parent: data[type=scattergeo].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergeo].marker.gradient Type: color or array of colors

          Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        • type Parent: data[type=scattergeo].marker.gradient Type: enumerated or array of enumerateds , one of ( \"radial\"| \"horizontal\"| \"vertical\"| \"none\" ) Default: \"none\"

          Sets the type of gradient used to fill the markers

      • line Parent: data[type=scattergeo].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scattergeo].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scattergeo].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scattergeo].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scattergeo].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scattergeo].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scattergeo].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scattergeo].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scattergeo].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scattergeo].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scattergeo].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=scattergeo].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scattergeo].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scattergeo].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scattergeo].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scattergeo].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scattergeo].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scattergeo].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • standoff Parent: data[type=scattergeo].marker Type: number or array of numbers

        Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      • symbol Parent: data[type=scattergeo].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scattergeo] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scattergeo] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\" Default: \"markers\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scattergeo] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scattergeo] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • selected Parent: data[type=scattergeo] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattergeo].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergeo].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scattergeo].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scattergeo].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scattergeo].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergeo].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scattergeo] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scattergeo] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=scattergeo] Type: string or array of strings

      Sets text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scattergeo] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scattergeo].textfont Type: color or array of colors
      • family Parent: data[type=scattergeo].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=scattergeo].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=scattergeo].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=scattergeo].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scattergeo].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=scattergeo].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=scattergeo].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scattergeo].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scattergeo] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scattergeo] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon`, `location` and `text`.

    • type Parent: data[type=scattergeo] Type: \"scattergeo\"
    • uid Parent: data[type=scattergeo] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scattergeo] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scattergeo] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattergeo].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergeo].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scattergeo].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scattergeo].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scattergeo].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergeo].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scattergeo] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/scattergl/","title":"scattergl","text":"A scattergl trace is an object with the key \"type\" equal to \"scattergl\" (i.e. {\"type\": \"scattergl\"}) and any of the keys listed below. The data visualized as scatter point or lines is set in `x` and `y` using the WebGL plotting engine. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to a numerical arrays.
    • connectgaps Parent: data[type=scattergl] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scattergl] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dx Parent: data[type=scattergl] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • dy Parent: data[type=scattergl] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • error_x Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=scattergl].error_x Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=scattergl].error_x Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=scattergl].error_x Type: color

        Sets the stroke color of the error bars.

      • copy_ystyle Parent: data[type=scattergl].error_x Type: boolean
      • symmetric Parent: data[type=scattergl].error_x Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=scattergl].error_x Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=scattergl].error_x Type: integer
      • tracerefminus Parent: data[type=scattergl].error_x Type: integer
      • type Parent: data[type=scattergl].error_x Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=scattergl].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=scattergl].error_x Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=scattergl].error_x Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=scattergl].error_x Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • error_y Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • array Parent: data[type=scattergl].error_y Type: data_array

        Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.

      • arrayminus Parent: data[type=scattergl].error_y Type: data_array

        Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.

      • color Parent: data[type=scattergl].error_y Type: color

        Sets the stroke color of the error bars.

      • symmetric Parent: data[type=scattergl].error_y Type: boolean

        Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.

      • thickness Parent: data[type=scattergl].error_y Type: number Default: 2

        Sets the thickness (in px) of the error bars.

      • traceref Parent: data[type=scattergl].error_y Type: integer
      • tracerefminus Parent: data[type=scattergl].error_y Type: integer
      • type Parent: data[type=scattergl].error_y Type: enumerated , one of ( \"percent\"| \"constant\"| \"sqrt\"| \"data\" )

        Determines the rule used to generate the error bars. If \"constant\", the bar lengths are of a constant value. Set this constant in `value`. If \"percent\", the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If \"sqrt\", the bar lengths correspond to the square of the underlying data. If \"data\", the bar lengths are set with data set `array`.

      • value Parent: data[type=scattergl].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars.

      • valueminus Parent: data[type=scattergl].error_y Type: number Default: 10

        Sets the value of either the percentage (if `type` is set to \"percent\") or the constant (if `type` is set to \"constant\") corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars

      • visible Parent: data[type=scattergl].error_y Type: boolean

        Determines whether or not this set of error bars is visible.

      • width Parent: data[type=scattergl].error_y Type: number

        Sets the width (in px) of the cross-bar at both ends of the error bars.

    • fill Parent: data[type=scattergl] Type: enumerated , one of ( \"none\"| \"tozeroy\"| \"tozerox\"| \"tonexty\"| \"tonextx\"| \"toself\"| \"tonext\" ) Default: \"none\"

      Sets the area to fill with a solid color. Defaults to \"none\" unless this trace is stacked, then it gets \"tonexty\" (\"tonextx\") if `orientation` is \"v\" (\"h\") Use with `fillcolor` if not \"none\". \"tozerox\" and \"tozeroy\" fill to x=0 and y=0 respectively. \"tonextx\" and \"tonexty\" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like \"tozerox\" and \"tozeroy\". \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. \"tonext\" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like \"toself\" if there is no trace before it. \"tonext\" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    • fillcolor Parent: data[type=scattergl] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scattergl] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scattergl].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scattergl].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scattergl].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scattergl].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scattergl].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scattergl].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattergl].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattergl].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattergl].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scattergl].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattergl].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattergl].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattergl].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scattergl].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=scattergl] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scattergl] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scattergl] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=scattergl] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scattergl] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scattergl].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scattergl].legendgrouptitle.font Type: color
        • family Parent: data[type=scattergl].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattergl].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattergl].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattergl].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scattergl].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattergl].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattergl].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattergl].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scattergl].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scattergl] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scattergl] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=scattergl].line Type: color

        Sets the line color.

      • dash Parent: data[type=scattergl].line Type: enumerated , one of ( \"dash\"| \"dashdot\"| \"dot\"| \"longdash\"| \"longdashdot\"| \"solid\" ) Default: \"solid\"

        Sets the style of the lines.

      • shape Parent: data[type=scattergl].line Type: enumerated , one of ( \"linear\"| \"hv\"| \"vh\"| \"hvh\"| \"vhv\" ) Default: \"linear\"

        Determines the line shape. The values correspond to step-wise line shapes.

      • width Parent: data[type=scattergl].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scattergl].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • autocolorscale Parent: data[type=scattergl].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scattergl].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scattergl].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scattergl].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scattergl].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scattergl].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scattergl].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scattergl].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scattergl].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scattergl].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scattergl].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scattergl].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scattergl].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scattergl].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scattergl].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scattergl].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scattergl].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scattergl].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scattergl].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scattergl].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scattergl].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scattergl].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scattergl].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scattergl].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scattergl].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scattergl].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scattergl].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scattergl].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scattergl].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scattergl].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scattergl].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scattergl].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scattergl].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scattergl].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scattergl].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scattergl].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scattergl].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scattergl].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scattergl].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scattergl].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scattergl].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scattergl].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scattergl].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scattergl].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scattergl].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scattergl].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scattergl].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scattergl].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scattergl].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scattergl].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scattergl].marker.colorbar.title.font Type: color
            • family Parent: data[type=scattergl].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scattergl].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scattergl].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scattergl].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scattergl].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scattergl].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scattergl].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scattergl].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scattergl].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scattergl].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scattergl].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scattergl].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scattergl].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scattergl].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scattergl].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scattergl].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=scattergl].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scattergl].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scattergl].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scattergl].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scattergl].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scattergl].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scattergl].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scattergl].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scattergl].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scattergl].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scattergl].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=scattergl].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scattergl].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scattergl].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scattergl].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scattergl].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scattergl].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scattergl].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • symbol Parent: data[type=scattergl].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scattergl] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scattergl] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\"

      Determines the drawing mode for this scatter trace.

    • name Parent: data[type=scattergl] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scattergl] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • selected Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattergl].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergl].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scattergl].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scattergl].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scattergl].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergl].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scattergl] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scattergl] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=scattergl] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scattergl].textfont Type: color or array of colors
      • family Parent: data[type=scattergl].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • size Parent: data[type=scattergl].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scattergl].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • variant Parent: data[type=scattergl].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scattergl].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"bold\" ) Default: \"normal\"

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scattergl] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scattergl] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

    • type Parent: data[type=scattergl] Type: \"scattergl\"
    • uid Parent: data[type=scattergl] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scattergl] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scattergl] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattergl].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergl].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scattergl].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scattergl].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scattergl].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattergl].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scattergl] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=scattergl] Type: data_array

      Sets the x coordinates.

    • x0 Parent: data[type=scattergl] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • xaxis Parent: data[type=scattergl] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xcalendar Parent: data[type=scattergl] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=scattergl] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=scattergl] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=scattergl] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=scattergl] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • y Parent: data[type=scattergl] Type: data_array

      Sets the y coordinates.

    • y0 Parent: data[type=scattergl] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • yaxis Parent: data[type=scattergl] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • ycalendar Parent: data[type=scattergl] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=scattergl] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=scattergl] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=scattergl] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=scattergl] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    "},{"location":"reference/scattermap/","title":"scattermap","text":"A scattermap trace is an object with the key \"type\" equal to \"scattermap\" (i.e. {\"type\": \"scattermap\"}) and any of the keys listed below. The data visualized as scatter point, lines or marker symbols on a MapLibre GL geographic map is provided by longitude/latitude pairs in `lon` and `lat`.
    • below Parent: data[type=scattermap] Type: string

      Determines if this scattermap trace's layers are to be inserted before the layer with the specified ID. By default, scattermap layers are inserted above all the base layers. To place the scattermap layers above every other layer, set `below` to \"''\".

    • cluster Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=scattermap].cluster Type: color or array of colors

        Sets the color for each cluster step.

      • enabled Parent: data[type=scattermap].cluster Type: boolean

        Determines whether clustering is enabled or disabled.

      • maxzoom Parent: data[type=scattermap].cluster Type: number less than or equal to 24 Default: 24

        Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.

      • opacity Parent: data[type=scattermap].cluster Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the marker opacity.

      • size Parent: data[type=scattermap].cluster Type: number or array of numbers Default: 20

        Sets the size for each cluster step.

      • step Parent: data[type=scattermap].cluster Type: number or array of numbers greater than or equal to -1 Default: -1

        Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in conjunction with arrays for `size` and / or `color`. If an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value.

    • connectgaps Parent: data[type=scattermap] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scattermap] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • fill Parent: data[type=scattermap] Type: enumerated , one of ( \"none\"| \"toself\" ) Default: \"none\"

      Sets the area to fill with a solid color. Use with `fillcolor` if not \"none\". \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.

    • fillcolor Parent: data[type=scattermap] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scattermap] Type: flaglist string. Any combination of \"lon\", \"lat\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"lon\", \"lat\", \"lon+lat\", \"lon+lat+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scattermap].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scattermap].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scattermap].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scattermap].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scattermap].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scattermap].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattermap].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattermap].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattermap].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scattermap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattermap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattermap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattermap].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scattermap].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=scattermap] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scattermap] Type: string or array of strings

      Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scattermap] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • lat Parent: data[type=scattermap] Type: data_array

      Sets the latitude coordinates (in degrees North).

    • legend Parent: data[type=scattermap] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scattermap] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scattermap].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scattermap].legendgrouptitle.font Type: color
        • family Parent: data[type=scattermap].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattermap].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattermap].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattermap].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scattermap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattermap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattermap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattermap].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scattermap].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scattermap] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scattermap] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=scattermap].line Type: color

        Sets the line color.

      • width Parent: data[type=scattermap].line Type: number Default: 2

        Sets the line width (in px).

    • lon Parent: data[type=scattermap] Type: data_array

      Sets the longitude coordinates (in degrees East).

    • marker Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.
      • allowoverlap Parent: data[type=scattermap].marker Type: boolean

        Flag to draw all symbols, even if they overlap.

      • angle Parent: data[type=scattermap].marker Type: number or array of numbers Default: \"auto\"

        Sets the marker orientation from true North, in degrees clockwise. When using the \"auto\" default, no rotation would be applied in perspective views which is different from using a zero angle.

      • autocolorscale Parent: data[type=scattermap].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scattermap].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scattermap].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scattermap].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scattermap].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scattermap].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scattermap].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scattermap].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scattermap].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scattermap].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scattermap].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scattermap].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scattermap].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scattermap].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scattermap].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scattermap].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scattermap].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scattermap].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scattermap].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scattermap].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scattermap].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scattermap].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scattermap].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scattermap].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scattermap].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scattermap].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scattermap].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scattermap].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scattermap].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scattermap].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scattermap].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scattermap].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scattermap].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scattermap].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scattermap].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scattermap].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scattermap].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scattermap].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scattermap].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scattermap].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scattermap].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scattermap].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scattermap].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scattermap].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scattermap].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scattermap].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scattermap].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scattermap].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scattermap].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scattermap].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scattermap].marker.colorbar.title.font Type: color
            • family Parent: data[type=scattermap].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scattermap].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scattermap].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scattermap].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scattermap].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scattermap].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scattermap].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scattermap].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scattermap].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scattermap].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scattermap].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scattermap].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scattermap].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scattermap].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scattermap].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scattermap].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • opacity Parent: data[type=scattermap].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scattermap].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scattermap].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scattermap].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scattermap].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scattermap].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scattermap].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • symbol Parent: data[type=scattermap].marker Type: string or array of strings Default: \"circle\"

        Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for \"circle\" symbols.

    • meta Parent: data[type=scattermap] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scattermap] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\" Default: \"markers\"

      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.

    • name Parent: data[type=scattermap] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scattermap] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • selected Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattermap].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattermap].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scattermap].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scattermap].selected.marker Type: number

          Sets the marker size of selected points.

    • selectedpoints Parent: data[type=scattermap] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scattermap] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • subplot Parent: data[type=scattermap] Type: subplotid Default: map

      Sets a reference between this trace's data coordinates and a map subplot. If \"map\" (the default value), the data refer to `layout.map`. If \"map2\", the data refer to `layout.map2`, and so on.

    • text Parent: data[type=scattermap] Type: string or array of strings

      Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.

      Sets the icon text font (color=map.layer.paint.text-color, size=map.layer.layout.text-size). Has an effect only when `type` is set to \"symbol\".

      • color Parent: data[type=scattermap].textfont Type: color
      • family Parent: data[type=scattermap].textfont Type: string Default: \"Open Sans Regular, Arial Unicode MS Regular\"

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • size Parent: data[type=scattermap].textfont Type: number greater than or equal to 1
      • style Parent: data[type=scattermap].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • weight Parent: data[type=scattermap].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scattermap] Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scattermap] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon` and `text`.

    • type Parent: data[type=scattermap] Type: \"scattermap\"
    • uid Parent: data[type=scattermap] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scattermap] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scattermap] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattermap].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattermap].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scattermap].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scattermap].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scattermap] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/scattermapbox/","title":"scattermapbox","text":"A scattermapbox trace is an object with the key \"type\" equal to \"scattermapbox\" (i.e. {\"type\": \"scattermapbox\"}) and any of the keys listed below. \"scattermapbox\" trace is deprecated! Please consider switching to the \"scattermap\" trace type and `map` subplots. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ The data visualized as scatter point, lines or marker symbols on a Mapbox GL geographic map is provided by longitude/latitude pairs in `lon` and `lat`.
    • below Parent: data[type=scattermapbox] Type: string

      Determines if this scattermapbox trace's layers are to be inserted before the layer with the specified ID. By default, scattermapbox layers are inserted above all the base layers. To place the scattermapbox layers above every other layer, set `below` to \"''\".

    • cluster Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=scattermapbox].cluster Type: color or array of colors

        Sets the color for each cluster step.

      • enabled Parent: data[type=scattermapbox].cluster Type: boolean

        Determines whether clustering is enabled or disabled.

      • maxzoom Parent: data[type=scattermapbox].cluster Type: number less than or equal to 24 Default: 24

        Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.

      • opacity Parent: data[type=scattermapbox].cluster Type: number or array of numbers less than or equal to 1 Default: 1

        Sets the marker opacity.

      • size Parent: data[type=scattermapbox].cluster Type: number or array of numbers Default: 20

        Sets the size for each cluster step.

      • step Parent: data[type=scattermapbox].cluster Type: number or array of numbers greater than or equal to -1 Default: -1

        Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in conjunction with arrays for `size` and / or `color`. If an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value.

    • connectgaps Parent: data[type=scattermapbox] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scattermapbox] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • fill Parent: data[type=scattermapbox] Type: enumerated , one of ( \"none\"| \"toself\" ) Default: \"none\"

      Sets the area to fill with a solid color. Use with `fillcolor` if not \"none\". \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.

    • fillcolor Parent: data[type=scattermapbox] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scattermapbox] Type: flaglist string. Any combination of \"lon\", \"lat\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"lon\", \"lat\", \"lon+lat\", \"lon+lat+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scattermapbox].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scattermapbox].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scattermapbox].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scattermapbox].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scattermapbox].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scattermapbox].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattermapbox].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattermapbox].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattermapbox].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scattermapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattermapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattermapbox].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattermapbox].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scattermapbox].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=scattermapbox] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scattermapbox] Type: string or array of strings

      Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scattermapbox] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • lat Parent: data[type=scattermapbox] Type: data_array

      Sets the latitude coordinates (in degrees North).

    • legend Parent: data[type=scattermapbox] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scattermapbox] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scattermapbox].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scattermapbox].legendgrouptitle.font Type: color
        • family Parent: data[type=scattermapbox].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattermapbox].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattermapbox].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattermapbox].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scattermapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattermapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattermapbox].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattermapbox].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scattermapbox].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scattermapbox] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scattermapbox] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=scattermapbox].line Type: color

        Sets the line color.

      • width Parent: data[type=scattermapbox].line Type: number Default: 2

        Sets the line width (in px).

    • lon Parent: data[type=scattermapbox] Type: data_array

      Sets the longitude coordinates (in degrees East).

    • marker Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.
      • allowoverlap Parent: data[type=scattermapbox].marker Type: boolean

        Flag to draw all symbols, even if they overlap.

      • angle Parent: data[type=scattermapbox].marker Type: number or array of numbers Default: \"auto\"

        Sets the marker orientation from true North, in degrees clockwise. When using the \"auto\" default, no rotation would be applied in perspective views which is different from using a zero angle.

      • autocolorscale Parent: data[type=scattermapbox].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scattermapbox].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scattermapbox].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scattermapbox].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scattermapbox].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scattermapbox].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scattermapbox].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scattermapbox].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scattermapbox].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scattermapbox].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scattermapbox].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scattermapbox].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scattermapbox].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scattermapbox].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scattermapbox].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scattermapbox].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scattermapbox].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scattermapbox].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scattermapbox].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scattermapbox].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scattermapbox].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scattermapbox].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scattermapbox].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scattermapbox].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scattermapbox].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scattermapbox].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scattermapbox].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scattermapbox].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scattermapbox].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scattermapbox].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scattermapbox].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scattermapbox].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scattermapbox].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scattermapbox].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scattermapbox].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scattermapbox].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scattermapbox].marker.colorbar.title.font Type: color
            • family Parent: data[type=scattermapbox].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scattermapbox].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scattermapbox].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scattermapbox].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scattermapbox].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scattermapbox].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scattermapbox].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scattermapbox].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scattermapbox].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scattermapbox].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scattermapbox].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scattermapbox].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scattermapbox].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scattermapbox].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scattermapbox].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • opacity Parent: data[type=scattermapbox].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scattermapbox].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scattermapbox].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scattermapbox].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scattermapbox].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scattermapbox].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scattermapbox].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • symbol Parent: data[type=scattermapbox].marker Type: string or array of strings Default: \"circle\"

        Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for \"circle\" symbols.

    • meta Parent: data[type=scattermapbox] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scattermapbox] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\" Default: \"markers\"

      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.

    • name Parent: data[type=scattermapbox] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scattermapbox] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • selected Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattermapbox].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattermapbox].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scattermapbox].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scattermapbox].selected.marker Type: number

          Sets the marker size of selected points.

    • selectedpoints Parent: data[type=scattermapbox] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scattermapbox] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • subplot Parent: data[type=scattermapbox] Type: subplotid Default: mapbox

      mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If \"mapbox\" (the default value), the data refer to `layout.mapbox`. If \"mapbox2\", the data refer to `layout.mapbox2`, and so on.

    • text Parent: data[type=scattermapbox] Type: string or array of strings

      Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.

      Sets the icon text font (color=mapbox.layer.paint.text-color, size=mapbox.layer.layout.text-size). Has an effect only when `type` is set to \"symbol\".

      • color Parent: data[type=scattermapbox].textfont Type: color
      • family Parent: data[type=scattermapbox].textfont Type: string Default: \"Open Sans Regular, Arial Unicode MS Regular\"

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • size Parent: data[type=scattermapbox].textfont Type: number greater than or equal to 1
      • style Parent: data[type=scattermapbox].textfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • weight Parent: data[type=scattermapbox].textfont Type: integer between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scattermapbox] Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scattermapbox] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon` and `text`.

    • type Parent: data[type=scattermapbox] Type: \"scattermapbox\"
    • uid Parent: data[type=scattermapbox] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scattermapbox] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scattermapbox] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattermapbox].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattermapbox].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scattermapbox].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scattermapbox].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scattermapbox] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/scatterpolar/","title":"scatterpolar","text":"A scatterpolar trace is an object with the key \"type\" equal to \"scatterpolar\" (i.e. {\"type\": \"scatterpolar\"}) and any of the keys listed below. The scatterpolar trace type encompasses line charts, scatter charts, text charts, and bubble charts in polar coordinates. The data visualized as scatter point or lines is set in `r` (radial) and `theta` (angular) coordinates 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 numerical arrays.
    • cliponaxis Parent: data[type=scatterpolar] Type: boolean

      Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • connectgaps Parent: data[type=scatterpolar] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scatterpolar] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dr Parent: data[type=scatterpolar] Type: number Default: 1

      Sets the r coordinate step.

    • dtheta Parent: data[type=scatterpolar] Type: number

      Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.

    • fill Parent: data[type=scatterpolar] Type: enumerated , one of ( \"none\"| \"toself\"| \"tonext\" ) Default: \"none\"

      Sets the area to fill with a solid color. Use with `fillcolor` if not \"none\". scatterpolar has a subset of the options available to scatter. \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. \"tonext\" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like \"toself\" if there is no trace before it. \"tonext\" should not be used if one trace does not enclose the other.

    • fillcolor Parent: data[type=scatterpolar] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scatterpolar] Type: flaglist string. Any combination of \"r\", \"theta\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"r\", \"theta\", \"r+theta\", \"r+theta+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scatterpolar] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scatterpolar].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scatterpolar].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scatterpolar].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scatterpolar].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scatterpolar].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scatterpolar].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatterpolar].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatterpolar].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatterpolar].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scatterpolar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatterpolar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatterpolar].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatterpolar].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scatterpolar].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoveron Parent: data[type=scatterpolar] Type: flaglist string. Any combination of \"points\", \"fills\" joined with a \"+\" OR . Examples: \"points\", \"fills\", \"points+fills\",

      Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is \"toself\" or \"tonext\" and there are no markers or text, then the default is \"fills\", otherwise it is \"points\".

    • hovertemplate Parent: data[type=scatterpolar] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scatterpolar] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scatterpolar] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=scatterpolar] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scatterpolar] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scatterpolar] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scatterpolar].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scatterpolar].legendgrouptitle.font Type: color
        • family Parent: data[type=scatterpolar].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatterpolar].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatterpolar].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatterpolar].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scatterpolar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatterpolar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatterpolar].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatterpolar].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scatterpolar].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scatterpolar] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scatterpolar] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scatterpolar] Type: object containing one or more of the keys listed below.
      • backoff Parent: data[type=scatterpolar].line Type: number or array of numbers Default: \"auto\"

        Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With \"auto\" the lines would trim before markers if `marker.angleref` is set to \"previous\".

      • color Parent: data[type=scatterpolar].line Type: color

        Sets the line color.

      • dash Parent: data[type=scatterpolar].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • shape Parent: data[type=scatterpolar].line Type: enumerated , one of ( \"linear\"| \"spline\" ) Default: \"linear\"

        Determines the line shape. With \"spline\" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      • smoothing Parent: data[type=scatterpolar].line Type: number less than or equal to 1.3 Default: 1

        Has an effect only if `shape` is set to \"spline\" Sets the amount of smoothing. \"0\" corresponds to no smoothing (equivalent to a \"linear\" shape).

      • width Parent: data[type=scatterpolar].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scatterpolar] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scatterpolar].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • angleref Parent: data[type=scatterpolar].marker Type: enumerated , one of ( \"previous\"| \"up\" ) Default: \"up\"

        Sets the reference for marker angle. With \"previous\", angle 0 points along the line from the previous point to this one. With \"up\", angle 0 points toward the top of the screen.

      • autocolorscale Parent: data[type=scatterpolar].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scatterpolar].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scatterpolar].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scatterpolar].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scatterpolar].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scatterpolar].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scatterpolar].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scatterpolar].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scatterpolar].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scatterpolar].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scatterpolar].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scatterpolar].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scatterpolar].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scatterpolar].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scatterpolar].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scatterpolar].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scatterpolar].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scatterpolar].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scatterpolar].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scatterpolar].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scatterpolar].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scatterpolar].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scatterpolar].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scatterpolar].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scatterpolar].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scatterpolar].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scatterpolar].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scatterpolar].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scatterpolar].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scatterpolar].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scatterpolar].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scatterpolar].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scatterpolar].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scatterpolar].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scatterpolar].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scatterpolar].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scatterpolar].marker.colorbar.title.font Type: color
            • family Parent: data[type=scatterpolar].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scatterpolar].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scatterpolar].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scatterpolar].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scatterpolar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scatterpolar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scatterpolar].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scatterpolar].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scatterpolar].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scatterpolar].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scatterpolar].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scatterpolar].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scatterpolar].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scatterpolar].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scatterpolar].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • gradient Parent: data[type=scatterpolar].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolar].marker.gradient Type: color or array of colors

          Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        • type Parent: data[type=scatterpolar].marker.gradient Type: enumerated or array of enumerateds , one of ( \"radial\"| \"horizontal\"| \"vertical\"| \"none\" ) Default: \"none\"

          Sets the type of gradient used to fill the markers

      • line Parent: data[type=scatterpolar].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scatterpolar].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scatterpolar].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scatterpolar].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scatterpolar].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scatterpolar].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scatterpolar].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scatterpolar].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scatterpolar].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scatterpolar].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scatterpolar].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • maxdisplayed Parent: data[type=scatterpolar].marker Type: number

        Sets a maximum number of points to be drawn on the graph. \"0\" corresponds to no limit.

      • opacity Parent: data[type=scatterpolar].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scatterpolar].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scatterpolar].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scatterpolar].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scatterpolar].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scatterpolar].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scatterpolar].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • standoff Parent: data[type=scatterpolar].marker Type: number or array of numbers

        Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      • symbol Parent: data[type=scatterpolar].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scatterpolar] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scatterpolar] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scatterpolar] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scatterpolar] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • r Parent: data[type=scatterpolar] Type: data_array

      Sets the radial coordinates

    • r0 Parent: data[type=scatterpolar] Type: number or categorical coordinate string

      Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.

    • selected Parent: data[type=scatterpolar] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatterpolar].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolar].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scatterpolar].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scatterpolar].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scatterpolar].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolar].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scatterpolar] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scatterpolar] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • subplot Parent: data[type=scatterpolar] Type: subplotid Default: polar

      Sets a reference between this trace's data coordinates and a polar subplot. If \"polar\" (the default value), the data refer to `layout.polar`. If \"polar2\", the data refer to `layout.polar2`, and so on.

    • text Parent: data[type=scatterpolar] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scatterpolar] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scatterpolar].textfont Type: color or array of colors
      • family Parent: data[type=scatterpolar].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=scatterpolar].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=scatterpolar].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=scatterpolar].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scatterpolar].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=scatterpolar].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=scatterpolar].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scatterpolar].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scatterpolar] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scatterpolar] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `r`, `theta` and `text`.

    • theta Parent: data[type=scatterpolar] Type: data_array

      Sets the angular coordinates

    • theta0 Parent: data[type=scatterpolar] Type: number or categorical coordinate string

      Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.

    • thetaunit Parent: data[type=scatterpolar] Type: enumerated , one of ( \"radians\"| \"degrees\"| \"gradians\" ) Default: \"degrees\"

      Sets the unit of input \"theta\" values. Has an effect only when on \"linear\" angular axes.

    • type Parent: data[type=scatterpolar] Type: \"scatterpolar\"
    • uid Parent: data[type=scatterpolar] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scatterpolar] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scatterpolar] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatterpolar].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolar].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scatterpolar].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scatterpolar].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scatterpolar].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolar].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scatterpolar] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/scatterpolargl/","title":"scatterpolargl","text":"A scatterpolargl trace is an object with the key \"type\" equal to \"scatterpolargl\" (i.e. {\"type\": \"scatterpolargl\"}) and any of the keys listed below. The scatterpolargl trace type encompasses line charts, scatter charts, and bubble charts in polar coordinates using the WebGL plotting engine. The data visualized as scatter point or lines is set in `r` (radial) and `theta` (angular) coordinates Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays.
    • connectgaps Parent: data[type=scatterpolargl] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scatterpolargl] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • dr Parent: data[type=scatterpolargl] Type: number Default: 1

      Sets the r coordinate step.

    • dtheta Parent: data[type=scatterpolargl] Type: number

      Sets the theta coordinate step. By default, the `dtheta` step equals the subplot's period divided by the length of the `r` coordinates.

    • fill Parent: data[type=scatterpolargl] Type: enumerated , one of ( \"none\"| \"tozeroy\"| \"tozerox\"| \"tonexty\"| \"tonextx\"| \"toself\"| \"tonext\" ) Default: \"none\"

      Sets the area to fill with a solid color. Defaults to \"none\" unless this trace is stacked, then it gets \"tonexty\" (\"tonextx\") if `orientation` is \"v\" (\"h\") Use with `fillcolor` if not \"none\". \"tozerox\" and \"tozeroy\" fill to x=0 and y=0 respectively. \"tonextx\" and \"tonexty\" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like \"tozerox\" and \"tozeroy\". \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. \"tonext\" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like \"toself\" if there is no trace before it. \"tonext\" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

    • fillcolor Parent: data[type=scatterpolargl] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scatterpolargl] Type: flaglist string. Any combination of \"r\", \"theta\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"r\", \"theta\", \"r+theta\", \"r+theta+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scatterpolargl] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scatterpolargl].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scatterpolargl].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scatterpolargl].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scatterpolargl].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scatterpolargl].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scatterpolargl].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatterpolargl].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatterpolargl].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatterpolargl].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scatterpolargl].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatterpolargl].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatterpolargl].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatterpolargl].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scatterpolargl].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=scatterpolargl] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scatterpolargl] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scatterpolargl] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=scatterpolargl] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scatterpolargl] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scatterpolargl] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scatterpolargl].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scatterpolargl].legendgrouptitle.font Type: color
        • family Parent: data[type=scatterpolargl].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatterpolargl].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatterpolargl].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatterpolargl].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scatterpolargl].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatterpolargl].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatterpolargl].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatterpolargl].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scatterpolargl].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scatterpolargl] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scatterpolargl] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scatterpolargl] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=scatterpolargl].line Type: color

        Sets the line color.

      • dash Parent: data[type=scatterpolargl].line Type: enumerated , one of ( \"dash\"| \"dashdot\"| \"dot\"| \"longdash\"| \"longdashdot\"| \"solid\" ) Default: \"solid\"

        Sets the style of the lines.

      • width Parent: data[type=scatterpolargl].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scatterpolargl] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scatterpolargl].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • autocolorscale Parent: data[type=scatterpolargl].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scatterpolargl].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scatterpolargl].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scatterpolargl].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scatterpolargl].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scatterpolargl].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scatterpolargl].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scatterpolargl].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scatterpolargl].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scatterpolargl].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scatterpolargl].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scatterpolargl].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scatterpolargl].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scatterpolargl].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scatterpolargl].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scatterpolargl].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scatterpolargl].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scatterpolargl].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scatterpolargl].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scatterpolargl].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scatterpolargl].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scatterpolargl].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scatterpolargl].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scatterpolargl].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scatterpolargl].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scatterpolargl].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scatterpolargl].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scatterpolargl].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scatterpolargl].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scatterpolargl].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scatterpolargl].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scatterpolargl].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: color
            • family Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scatterpolargl].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scatterpolargl].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scatterpolargl].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scatterpolargl].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scatterpolargl].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scatterpolargl].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scatterpolargl].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scatterpolargl].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=scatterpolargl].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scatterpolargl].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scatterpolargl].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scatterpolargl].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scatterpolargl].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scatterpolargl].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scatterpolargl].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scatterpolargl].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scatterpolargl].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scatterpolargl].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scatterpolargl].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=scatterpolargl].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scatterpolargl].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scatterpolargl].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scatterpolargl].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scatterpolargl].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scatterpolargl].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scatterpolargl].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • symbol Parent: data[type=scatterpolargl].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scatterpolargl] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scatterpolargl] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scatterpolargl] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scatterpolargl] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • r Parent: data[type=scatterpolargl] Type: data_array

      Sets the radial coordinates

    • r0 Parent: data[type=scatterpolargl] Type: number or categorical coordinate string

      Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step.

    • selected Parent: data[type=scatterpolargl] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatterpolargl].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolargl].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scatterpolargl].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scatterpolargl].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scatterpolargl].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolargl].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scatterpolargl] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scatterpolargl] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • subplot Parent: data[type=scatterpolargl] Type: subplotid Default: polar

      Sets a reference between this trace's data coordinates and a polar subplot. If \"polar\" (the default value), the data refer to `layout.polar`. If \"polar2\", the data refer to `layout.polar2`, and so on.

    • text Parent: data[type=scatterpolargl] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scatterpolargl] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scatterpolargl].textfont Type: color or array of colors
      • family Parent: data[type=scatterpolargl].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • size Parent: data[type=scatterpolargl].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scatterpolargl].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • variant Parent: data[type=scatterpolargl].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scatterpolargl].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"bold\" ) Default: \"normal\"

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scatterpolargl] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scatterpolargl] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `r`, `theta` and `text`.

    • theta Parent: data[type=scatterpolargl] Type: data_array

      Sets the angular coordinates

    • theta0 Parent: data[type=scatterpolargl] Type: number or categorical coordinate string

      Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step.

    • thetaunit Parent: data[type=scatterpolargl] Type: enumerated , one of ( \"radians\"| \"degrees\"| \"gradians\" ) Default: \"degrees\"

      Sets the unit of input \"theta\" values. Has an effect only when on \"linear\" angular axes.

    • type Parent: data[type=scatterpolargl] Type: \"scatterpolargl\"
    • uid Parent: data[type=scatterpolargl] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scatterpolargl] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scatterpolargl] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatterpolargl].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolargl].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scatterpolargl].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scatterpolargl].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scatterpolargl].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterpolargl].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scatterpolargl] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/scattersmith/","title":"scattersmith","text":"A scattersmith trace is an object with the key \"type\" equal to \"scattersmith\" (i.e. {\"type\": \"scattersmith\"}) and any of the keys listed below. The scattersmith trace type encompasses line charts, scatter charts, text charts, and bubble charts in smith coordinates. The data visualized as scatter point or lines is set in `real` and `imag` (imaginary) coordinates 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 numerical arrays.
    • cliponaxis Parent: data[type=scattersmith] Type: boolean

      Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • connectgaps Parent: data[type=scattersmith] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scattersmith] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • fill Parent: data[type=scattersmith] Type: enumerated , one of ( \"none\"| \"toself\"| \"tonext\" ) Default: \"none\"

      Sets the area to fill with a solid color. Use with `fillcolor` if not \"none\". scattersmith has a subset of the options available to scatter. \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. \"tonext\" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like \"toself\" if there is no trace before it. \"tonext\" should not be used if one trace does not enclose the other.

    • fillcolor Parent: data[type=scattersmith] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scattersmith] Type: flaglist string. Any combination of \"real\", \"imag\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"real\", \"imag\", \"real+imag\", \"real+imag+text\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scattersmith] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scattersmith].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scattersmith].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scattersmith].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scattersmith].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scattersmith].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scattersmith].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattersmith].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattersmith].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattersmith].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scattersmith].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattersmith].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattersmith].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattersmith].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scattersmith].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoveron Parent: data[type=scattersmith] Type: flaglist string. Any combination of \"points\", \"fills\" joined with a \"+\" OR . Examples: \"points\", \"fills\", \"points+fills\",

      Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is \"toself\" or \"tonext\" and there are no markers or text, then the default is \"fills\", otherwise it is \"points\".

    • hovertemplate Parent: data[type=scattersmith] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scattersmith] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scattersmith] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • imag Parent: data[type=scattersmith] Type: data_array

      Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.

    • legend Parent: data[type=scattersmith] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scattersmith] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scattersmith] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scattersmith].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scattersmith].legendgrouptitle.font Type: color
        • family Parent: data[type=scattersmith].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scattersmith].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scattersmith].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scattersmith].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scattersmith].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scattersmith].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scattersmith].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scattersmith].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scattersmith].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scattersmith] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scattersmith] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scattersmith] Type: object containing one or more of the keys listed below.
      • backoff Parent: data[type=scattersmith].line Type: number or array of numbers Default: \"auto\"

        Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With \"auto\" the lines would trim before markers if `marker.angleref` is set to \"previous\".

      • color Parent: data[type=scattersmith].line Type: color

        Sets the line color.

      • dash Parent: data[type=scattersmith].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • shape Parent: data[type=scattersmith].line Type: enumerated , one of ( \"linear\"| \"spline\" ) Default: \"linear\"

        Determines the line shape. With \"spline\" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      • smoothing Parent: data[type=scattersmith].line Type: number less than or equal to 1.3 Default: 1

        Has an effect only if `shape` is set to \"spline\" Sets the amount of smoothing. \"0\" corresponds to no smoothing (equivalent to a \"linear\" shape).

      • width Parent: data[type=scattersmith].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scattersmith] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scattersmith].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • angleref Parent: data[type=scattersmith].marker Type: enumerated , one of ( \"previous\"| \"up\" ) Default: \"up\"

        Sets the reference for marker angle. With \"previous\", angle 0 points along the line from the previous point to this one. With \"up\", angle 0 points toward the top of the screen.

      • autocolorscale Parent: data[type=scattersmith].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scattersmith].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scattersmith].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scattersmith].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scattersmith].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scattersmith].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scattersmith].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scattersmith].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scattersmith].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scattersmith].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scattersmith].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scattersmith].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scattersmith].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scattersmith].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scattersmith].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scattersmith].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scattersmith].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scattersmith].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scattersmith].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scattersmith].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scattersmith].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scattersmith].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scattersmith].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scattersmith].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scattersmith].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scattersmith].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scattersmith].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scattersmith].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scattersmith].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scattersmith].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scattersmith].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scattersmith].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scattersmith].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scattersmith].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scattersmith].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scattersmith].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scattersmith].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scattersmith].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scattersmith].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scattersmith].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scattersmith].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scattersmith].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scattersmith].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scattersmith].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scattersmith].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scattersmith].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scattersmith].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scattersmith].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scattersmith].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scattersmith].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scattersmith].marker.colorbar.title.font Type: color
            • family Parent: data[type=scattersmith].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scattersmith].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scattersmith].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scattersmith].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scattersmith].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scattersmith].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scattersmith].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scattersmith].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scattersmith].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scattersmith].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scattersmith].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scattersmith].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scattersmith].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scattersmith].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scattersmith].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scattersmith].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • gradient Parent: data[type=scattersmith].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattersmith].marker.gradient Type: color or array of colors

          Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        • type Parent: data[type=scattersmith].marker.gradient Type: enumerated or array of enumerateds , one of ( \"radial\"| \"horizontal\"| \"vertical\"| \"none\" ) Default: \"none\"

          Sets the type of gradient used to fill the markers

      • line Parent: data[type=scattersmith].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scattersmith].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scattersmith].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scattersmith].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scattersmith].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scattersmith].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scattersmith].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scattersmith].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scattersmith].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scattersmith].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scattersmith].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • maxdisplayed Parent: data[type=scattersmith].marker Type: number

        Sets a maximum number of points to be drawn on the graph. \"0\" corresponds to no limit.

      • opacity Parent: data[type=scattersmith].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scattersmith].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scattersmith].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scattersmith].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scattersmith].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scattersmith].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scattersmith].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • standoff Parent: data[type=scattersmith].marker Type: number or array of numbers

        Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      • symbol Parent: data[type=scattersmith].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scattersmith] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scattersmith] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scattersmith] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scattersmith] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • real Parent: data[type=scattersmith] Type: data_array

      Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.

    • selected Parent: data[type=scattersmith] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattersmith].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattersmith].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scattersmith].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scattersmith].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scattersmith].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattersmith].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scattersmith] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scattersmith] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • subplot Parent: data[type=scattersmith] Type: subplotid Default: smith

      Sets a reference between this trace's data coordinates and a smith subplot. If \"smith\" (the default value), the data refer to `layout.smith`. If \"smith2\", the data refer to `layout.smith2`, and so on.

    • text Parent: data[type=scattersmith] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scattersmith] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scattersmith].textfont Type: color or array of colors
      • family Parent: data[type=scattersmith].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=scattersmith].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=scattersmith].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=scattersmith].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scattersmith].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=scattersmith].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=scattersmith].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scattersmith].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scattersmith] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scattersmith] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `real`, `imag` and `text`.

    • type Parent: data[type=scattersmith] Type: \"scattersmith\"
    • uid Parent: data[type=scattersmith] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scattersmith] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scattersmith] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scattersmith].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattersmith].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scattersmith].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scattersmith].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scattersmith].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scattersmith].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scattersmith] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/scatterternary/","title":"scatterternary","text":"A scatterternary trace is an object with the key \"type\" equal to \"scatterternary\" (i.e. {\"type\": \"scatterternary\"}) and any of the keys listed below. Provides similar functionality to the \"scatter\" type but on a ternary phase diagram. The data is provided by at least two arrays out of `a`, `b`, `c` triplets.
    • a Parent: data[type=scatterternary] Type: data_array

      Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.

    • b Parent: data[type=scatterternary] Type: data_array

      Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.

    • c Parent: data[type=scatterternary] Type: data_array

      Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary<i>.sum`.

    • cliponaxis Parent: data[type=scatterternary] Type: boolean Default: true

      Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • connectgaps Parent: data[type=scatterternary] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

    • customdata Parent: data[type=scatterternary] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • fill Parent: data[type=scatterternary] Type: enumerated , one of ( \"none\"| \"toself\"| \"tonext\" ) Default: \"none\"

      Sets the area to fill with a solid color. Use with `fillcolor` if not \"none\". scatterternary has a subset of the options available to scatter. \"toself\" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. \"tonext\" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like \"toself\" if there is no trace before it. \"tonext\" should not be used if one trace does not enclose the other.

    • fillcolor Parent: data[type=scatterternary] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=scatterternary] Type: flaglist string. Any combination of \"a\", \"b\", \"c\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"a\", \"b\", \"a+b\", \"a+b+c\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=scatterternary] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=scatterternary].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=scatterternary].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=scatterternary].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=scatterternary].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=scatterternary].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=scatterternary].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatterternary].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatterternary].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatterternary].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=scatterternary].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatterternary].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatterternary].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatterternary].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=scatterternary].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoveron Parent: data[type=scatterternary] Type: flaglist string. Any combination of \"points\", \"fills\" joined with a \"+\" OR . Examples: \"points\", \"fills\", \"points+fills\",

      Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is \"toself\" or \"tonext\" and there are no markers or text, then the default is \"fills\", otherwise it is \"points\".

    • hovertemplate Parent: data[type=scatterternary] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=scatterternary] Type: string or array of strings

      Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=scatterternary] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=scatterternary] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=scatterternary] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=scatterternary] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=scatterternary].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=scatterternary].legendgrouptitle.font Type: color
        • family Parent: data[type=scatterternary].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=scatterternary].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=scatterternary].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=scatterternary].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=scatterternary].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=scatterternary].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=scatterternary].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=scatterternary].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=scatterternary].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=scatterternary] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=scatterternary] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=scatterternary] Type: object containing one or more of the keys listed below.
      • backoff Parent: data[type=scatterternary].line Type: number or array of numbers Default: \"auto\"

        Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With \"auto\" the lines would trim before markers if `marker.angleref` is set to \"previous\".

      • color Parent: data[type=scatterternary].line Type: color

        Sets the line color.

      • dash Parent: data[type=scatterternary].line Type: string Default: \"solid\"

        Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

      • shape Parent: data[type=scatterternary].line Type: enumerated , one of ( \"linear\"| \"spline\" ) Default: \"linear\"

        Determines the line shape. With \"spline\" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.

      • smoothing Parent: data[type=scatterternary].line Type: number less than or equal to 1.3 Default: 1

        Has an effect only if `shape` is set to \"spline\" Sets the amount of smoothing. \"0\" corresponds to no smoothing (equivalent to a \"linear\" shape).

      • width Parent: data[type=scatterternary].line Type: number Default: 2

        Sets the line width (in px).

    • marker Parent: data[type=scatterternary] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=scatterternary].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • angleref Parent: data[type=scatterternary].marker Type: enumerated , one of ( \"previous\"| \"up\" ) Default: \"up\"

        Sets the reference for marker angle. With \"previous\", angle 0 points along the line from the previous point to this one. With \"up\", angle 0 points toward the top of the screen.

      • autocolorscale Parent: data[type=scatterternary].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=scatterternary].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=scatterternary].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=scatterternary].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=scatterternary].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=scatterternary].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=scatterternary].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=scatterternary].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=scatterternary].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=scatterternary].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=scatterternary].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=scatterternary].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=scatterternary].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=scatterternary].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=scatterternary].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=scatterternary].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=scatterternary].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=scatterternary].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=scatterternary].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=scatterternary].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=scatterternary].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=scatterternary].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=scatterternary].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=scatterternary].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=scatterternary].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=scatterternary].marker.colorbar.tickfont Type: color
          • family Parent: data[type=scatterternary].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=scatterternary].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=scatterternary].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=scatterternary].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=scatterternary].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=scatterternary].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=scatterternary].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=scatterternary].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=scatterternary].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=scatterternary].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=scatterternary].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=scatterternary].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=scatterternary].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=scatterternary].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=scatterternary].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=scatterternary].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=scatterternary].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=scatterternary].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=scatterternary].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=scatterternary].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=scatterternary].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=scatterternary].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=scatterternary].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=scatterternary].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=scatterternary].marker.colorbar.title.font Type: color
            • family Parent: data[type=scatterternary].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=scatterternary].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=scatterternary].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=scatterternary].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=scatterternary].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=scatterternary].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=scatterternary].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=scatterternary].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=scatterternary].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=scatterternary].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=scatterternary].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=scatterternary].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=scatterternary].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=scatterternary].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=scatterternary].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=scatterternary].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • gradient Parent: data[type=scatterternary].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterternary].marker.gradient Type: color or array of colors

          Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.

        • type Parent: data[type=scatterternary].marker.gradient Type: enumerated or array of enumerateds , one of ( \"radial\"| \"horizontal\"| \"vertical\"| \"none\" ) Default: \"none\"

          Sets the type of gradient used to fill the markers

      • line Parent: data[type=scatterternary].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=scatterternary].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=scatterternary].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=scatterternary].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=scatterternary].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=scatterternary].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=scatterternary].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=scatterternary].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=scatterternary].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=scatterternary].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=scatterternary].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • maxdisplayed Parent: data[type=scatterternary].marker Type: number

        Sets a maximum number of points to be drawn on the graph. \"0\" corresponds to no limit.

      • opacity Parent: data[type=scatterternary].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=scatterternary].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=scatterternary].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=scatterternary].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=scatterternary].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=scatterternary].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=scatterternary].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • standoff Parent: data[type=scatterternary].marker Type: number or array of numbers

        Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.

      • symbol Parent: data[type=scatterternary].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=scatterternary] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • mode Parent: data[type=scatterternary] Type: flaglist string. Any combination of \"lines\", \"markers\", \"text\" joined with a \"+\" OR \"none\". Examples: \"lines\", \"markers\", \"lines+markers\", \"lines+markers+text\", \"none\" Default: \"markers\"

      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 and the trace is not stacked then the default is \"lines+markers\". Otherwise, \"lines\".

    • name Parent: data[type=scatterternary] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=scatterternary] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • selected Parent: data[type=scatterternary] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatterternary].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterternary].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=scatterternary].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=scatterternary].selected.marker Type: number

          Sets the marker size of selected points.

      • textfont Parent: data[type=scatterternary].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterternary].selected.textfont Type: color

          Sets the text font color of selected points.

    • selectedpoints Parent: data[type=scatterternary] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=scatterternary] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • subplot Parent: data[type=scatterternary] Type: subplotid Default: ternary

      Sets a reference between this trace's data coordinates and a ternary subplot. If \"ternary\" (the default value), the data refer to `layout.ternary`. If \"ternary2\", the data refer to `layout.ternary2`, and so on.

    • sum Parent: data[type=scatterternary] Type: number

      The number each triplet should sum to, if only two of `a`, `b`, and `c` are provided. This overrides `ternary<i>.sum` to normalize this specific trace, but does not affect the values displayed on the axes. 0 (or missing) means to use ternary<i>.sum

    • text Parent: data[type=scatterternary] Type: string or array of strings

      Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=scatterternary] Type: object containing one or more of the keys listed below.

      Sets the text font.

      • color Parent: data[type=scatterternary].textfont Type: color or array of colors
      • family Parent: data[type=scatterternary].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=scatterternary].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=scatterternary].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=scatterternary].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=scatterternary].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=scatterternary].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=scatterternary].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=scatterternary].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textposition Parent: data[type=scatterternary] Type: enumerated or array of enumerateds , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"middle center\"

      Sets the positions of the `text` elements with respects to the (x,y) coordinates.

    • texttemplate Parent: data[type=scatterternary] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `a`, `b`, `c` and `text`.

    • type Parent: data[type=scatterternary] Type: \"scatterternary\"
    • uid Parent: data[type=scatterternary] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=scatterternary] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=scatterternary] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=scatterternary].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterternary].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=scatterternary].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=scatterternary].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

      • textfont Parent: data[type=scatterternary].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=scatterternary].unselected.textfont Type: color

          Sets the text font color of unselected points, applied only when a selection exists.

    • visible Parent: data[type=scatterternary] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/splom/","title":"splom","text":"A splom trace is an object with the key \"type\" equal to \"splom\" (i.e. {\"type\": \"splom\"}) and any of the keys listed below. Splom traces generate scatter plot matrix visualizations. Each splom `dimensions` items correspond to a generated axis. Values for each of those dimensions are set in `dimensions[i].values`. Splom traces support all `scattergl` marker style attributes. Specify `layout.grid` attributes and/or layout x-axis and y-axis attributes for more control over the axis positioning and style.
    • customdata Parent: data[type=splom] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • diagonal Parent: data[type=splom] Type: object containing one or more of the keys listed below.
      • visible Parent: data[type=splom].diagonal Type: boolean Default: true

        Determines whether or not subplots on the diagonal are displayed.

    • dimensions Parent: data[type=splom] Type: array of object where each object has one or more of the keys listed below.
      • axis Parent: data[type=splom].dimensions Type: object containing one or more of the keys listed below.
        • matches Parent: data[type=splom].dimensions.axis Type: boolean

          Determines whether or not the x & y axes generated by this dimension match. Equivalent to setting the `matches` axis attribute in the layout with the correct axis id.

        • type Parent: data[type=splom].dimensions.axis Type: enumerated , one of ( \"linear\"| \"log\"| \"date\"| \"category\" )

          Sets the axis type for this dimension's generated x and y axes. Note that the axis `type` values set in layout take precedence over this attribute.

      • label Parent: data[type=splom].dimensions Type: string

        Sets the label corresponding to this splom dimension.

      • name Parent: data[type=splom].dimensions Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

      • templateitemname Parent: data[type=splom].dimensions Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      • values Parent: data[type=splom].dimensions Type: data_array

        Sets the dimension values to be plotted.

      • visible Parent: data[type=splom].dimensions Type: boolean Default: true

        Determines whether or not this dimension is shown on the graph. Note that even visible false dimension contribute to the default grid generate by this splom trace.

    • hoverinfo Parent: data[type=splom] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=splom] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=splom].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=splom].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=splom].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=splom].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=splom].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=splom].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=splom].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=splom].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=splom].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=splom].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=splom].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=splom].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=splom].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=splom].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=splom] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=splom] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=splom] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=splom] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=splom] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=splom] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=splom].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=splom].legendgrouptitle.font Type: color
        • family Parent: data[type=splom].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=splom].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=splom].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=splom].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=splom].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=splom].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=splom].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=splom].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=splom].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=splom] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=splom] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • marker Parent: data[type=splom] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=splom].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • autocolorscale Parent: data[type=splom].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=splom].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=splom].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=splom].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=splom].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.

      • color Parent: data[type=splom].marker Type: color or array of colors

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • coloraxis Parent: data[type=splom].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=splom].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=splom].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=splom].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=splom].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=splom].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=splom].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=splom].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=splom].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=splom].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=splom].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=splom].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=splom].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=splom].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=splom].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=splom].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=splom].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=splom].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=splom].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=splom].marker.colorbar.tickfont Type: color
          • family Parent: data[type=splom].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=splom].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=splom].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=splom].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=splom].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=splom].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=splom].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=splom].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=splom].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=splom].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=splom].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=splom].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=splom].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=splom].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=splom].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=splom].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=splom].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=splom].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=splom].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=splom].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=splom].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=splom].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=splom].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=splom].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=splom].marker.colorbar.title.font Type: color
            • family Parent: data[type=splom].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=splom].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=splom].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=splom].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=splom].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=splom].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=splom].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=splom].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=splom].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=splom].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=splom].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=splom].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=splom].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=splom].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=splom].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colorscale Parent: data[type=splom].marker Type: colorscale

        Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=splom].marker Type: object containing one or more of the keys listed below.
        • autocolorscale Parent: data[type=splom].marker.line Type: boolean Default: true

          Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

        • cauto Parent: data[type=splom].marker.line Type: boolean Default: true

          Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.

        • cmax Parent: data[type=splom].marker.line Type: number

          Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.

        • cmid Parent: data[type=splom].marker.line Type: number

          Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.

        • cmin Parent: data[type=splom].marker.line Type: number

          Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.

        • color Parent: data[type=splom].marker.line Type: color or array of colors

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • coloraxis Parent: data[type=splom].marker.line Type: subplotid

          Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

        • colorscale Parent: data[type=splom].marker.line Type: colorscale

          Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

        • reversescale Parent: data[type=splom].marker.line Type: boolean

          Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.

        • width Parent: data[type=splom].marker.line Type: number or array of numbers

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=splom].marker Type: number or array of numbers less than or equal to 1

        Sets the marker opacity.

      • reversescale Parent: data[type=splom].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=splom].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.

      • size Parent: data[type=splom].marker Type: number or array of numbers Default: 6

        Sets the marker size (in px).

      • sizemin Parent: data[type=splom].marker Type: number

        Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.

      • sizemode Parent: data[type=splom].marker Type: enumerated , one of ( \"diameter\"| \"area\" ) Default: \"diameter\"

        Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.

      • sizeref Parent: data[type=splom].marker Type: number Default: 1

        Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.

      • symbol Parent: data[type=splom].marker Type: enumerated or array of enumerateds , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meta Parent: data[type=splom] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=splom] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=splom] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • selected Parent: data[type=splom] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=splom].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=splom].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=splom].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=splom].selected.marker Type: number

          Sets the marker size of selected points.

    • selectedpoints Parent: data[type=splom] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=splom] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showlowerhalf Parent: data[type=splom] Type: boolean Default: true

      Determines whether or not subplots on the lower half from the diagonal are displayed.

    • showupperhalf Parent: data[type=splom] Type: boolean Default: true

      Determines whether or not subplots on the upper half from the diagonal are displayed.

    • text Parent: data[type=splom] Type: string or array of strings

      Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.

    • type Parent: data[type=splom] Type: \"splom\"
    • uid Parent: data[type=splom] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=splom] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=splom] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=splom].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=splom].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=splom].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=splom].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

    • visible Parent: data[type=splom] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • xaxes Parent: data[type=splom] {inner}Type: {array}

      Sets the list of x axes corresponding to dimensions of this splom trace. By default, a splom will match the first N xaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.

    • xhoverformat Parent: data[type=splom] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • yaxes Parent: data[type=splom] {inner}Type: {array}

      Sets the list of y axes corresponding to dimensions of this splom trace. By default, a splom will match the first N yaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.

    • yhoverformat Parent: data[type=splom] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    "},{"location":"reference/streamtube/","title":"streamtube","text":"A streamtube trace is an object with the key \"type\" equal to \"streamtube\" (i.e. {\"type\": \"streamtube\"}) and any of the keys listed below. Use a streamtube trace to visualize flow in a vector field. Specify a vector field using 6 1D arrays of equal length, 3 position arrays `x`, `y` and `z` and 3 vector component arrays `u`, `v`, and `w`. By default, the tubes' starting positions will be cut from the vector field's x-z plane at its minimum y value. To specify your own starting position, use attributes `starts.x`, `starts.y` and `starts.z`. The color is encoded by the norm of (u, v, w), and the local radius by the divergence of (u, v, w).
    • autocolorscale Parent: data[type=streamtube] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • cauto Parent: data[type=streamtube] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    • cmax Parent: data[type=streamtube] Type: number

      Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.

    • cmid Parent: data[type=streamtube] Type: number

      Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.

    • cmin Parent: data[type=streamtube] Type: number

      Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.

    • coloraxis Parent: data[type=streamtube] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=streamtube] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=streamtube].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=streamtube].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=streamtube].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=streamtube].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=streamtube].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=streamtube].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=streamtube].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=streamtube].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=streamtube].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=streamtube].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=streamtube].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=streamtube].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=streamtube].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=streamtube].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=streamtube].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=streamtube].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=streamtube].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=streamtube].colorbar.tickfont Type: color
        • family Parent: data[type=streamtube].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=streamtube].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=streamtube].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=streamtube].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=streamtube].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=streamtube].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=streamtube].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=streamtube].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=streamtube].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=streamtube].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=streamtube].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=streamtube].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=streamtube].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=streamtube].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=streamtube].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=streamtube].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=streamtube].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=streamtube].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=streamtube].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=streamtube].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=streamtube].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=streamtube].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=streamtube].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=streamtube].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=streamtube].colorbar.title.font Type: color
          • family Parent: data[type=streamtube].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=streamtube].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=streamtube].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=streamtube].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=streamtube].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=streamtube].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=streamtube].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=streamtube].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=streamtube].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=streamtube].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=streamtube].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=streamtube].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=streamtube].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=streamtube].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=streamtube].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=streamtube] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • customdata Parent: data[type=streamtube] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • hoverinfo Parent: data[type=streamtube] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"u\", \"v\", \"w\", \"norm\", \"divergence\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"x+y+z+norm+text+name\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=streamtube] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=streamtube].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=streamtube].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=streamtube].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=streamtube].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=streamtube].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=streamtube].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=streamtube].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=streamtube].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=streamtube].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=streamtube].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=streamtube].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=streamtube].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=streamtube].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=streamtube].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=streamtube] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `tubex`, `tubey`, `tubez`, `tubeu`, `tubev`, `tubew`, `norm` and `divergence`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=streamtube] Type: string

      Same as `text`.

    • ids Parent: data[type=streamtube] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=streamtube] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=streamtube] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=streamtube] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=streamtube].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=streamtube].legendgrouptitle.font Type: color
        • family Parent: data[type=streamtube].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=streamtube].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=streamtube].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=streamtube].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=streamtube].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=streamtube].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=streamtube].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=streamtube].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=streamtube].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=streamtube] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=streamtube] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lighting Parent: data[type=streamtube] Type: object containing one or more of the keys listed below.
      • ambient Parent: data[type=streamtube].lighting Type: number less than or equal to 1 Default: 0.8

        Ambient light increases overall color visibility but can wash out the image.

      • diffuse Parent: data[type=streamtube].lighting Type: number less than or equal to 1 Default: 0.8

        Represents the extent that incident rays are reflected in a range of angles.

      • facenormalsepsilon Parent: data[type=streamtube].lighting Type: number less than or equal to 1 Default: 1e-06

        Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      • fresnel Parent: data[type=streamtube].lighting Type: number less than or equal to 5 Default: 0.2

        Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      • roughness Parent: data[type=streamtube].lighting Type: number less than or equal to 1 Default: 0.5

        Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      • specular Parent: data[type=streamtube].lighting Type: number less than or equal to 2 Default: 0.05

        Represents the level that incident rays are reflected in a single direction, causing shine.

      • vertexnormalsepsilon Parent: data[type=streamtube].lighting Type: number less than or equal to 1 Default: 1e-12

        Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

    • lightposition Parent: data[type=streamtube] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=streamtube].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the X coordinate for each vertex.

      • y Parent: data[type=streamtube].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the Y coordinate for each vertex.

      • z Parent: data[type=streamtube].lightposition Type: number between or equal to -100000 and 100000

        Numeric vector, representing the Z coordinate for each vertex.

    • maxdisplayed Parent: data[type=streamtube] Type: integer Default: 1000

      The maximum number of displayed segments in a streamtube.

    • meta Parent: data[type=streamtube] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=streamtube] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=streamtube] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    • reversescale Parent: data[type=streamtube] Type: boolean

      Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    • scene Parent: data[type=streamtube] Type: subplotid Default: scene

      Sets a reference between this trace's 3D coordinate system and a 3D scene. If \"scene\" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If \"scene2\", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    • showlegend Parent: data[type=streamtube] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=streamtube] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • sizeref Parent: data[type=streamtube] Type: number Default: 1

      The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.

    • starts Parent: data[type=streamtube] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=streamtube].starts Type: data_array

        Sets the x components of the starting position of the streamtubes

      • y Parent: data[type=streamtube].starts Type: data_array

        Sets the y components of the starting position of the streamtubes

      • z Parent: data[type=streamtube].starts Type: data_array

        Sets the z components of the starting position of the streamtubes

    • text Parent: data[type=streamtube] Type: string

      Sets a text element associated with this trace. If trace `hoverinfo` contains a \"text\" flag, this text element will be seen in all hover labels. Note that streamtube traces do not support array `text` values.

    • type Parent: data[type=streamtube] Type: \"streamtube\"
    • u Parent: data[type=streamtube] Type: data_array

      Sets the x components of the vector field.

    • uhoverformat Parent: data[type=streamtube] Type: string

      Sets the hover text formatting rulefor `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • uid Parent: data[type=streamtube] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=streamtube] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • v Parent: data[type=streamtube] Type: data_array

      Sets the y components of the vector field.

    • vhoverformat Parent: data[type=streamtube] Type: string

      Sets the hover text formatting rulefor `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • visible Parent: data[type=streamtube] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • w Parent: data[type=streamtube] Type: data_array

      Sets the z components of the vector field.

    • whoverformat Parent: data[type=streamtube] Type: string

      Sets the hover text formatting rulefor `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • x Parent: data[type=streamtube] Type: data_array

      Sets the x coordinates of the vector field.

    • xhoverformat Parent: data[type=streamtube] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=streamtube] Type: data_array

      Sets the y coordinates of the vector field.

    • yhoverformat Parent: data[type=streamtube] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=streamtube] Type: data_array

      Sets the z coordinates of the vector field.

    • zhoverformat Parent: data[type=streamtube] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `zaxis.hoverformat`.

    "},{"location":"reference/sunburst/","title":"sunburst","text":"A sunburst trace is an object with the key \"type\" equal to \"sunburst\" (i.e. {\"type\": \"sunburst\"}) and any of the keys listed below. Visualize hierarchal data spanning outward radially from root to leaves. The sunburst sectors are determined by the entries in \"labels\" or \"ids\" and in \"parents\".
    • branchvalues Parent: data[type=sunburst] Type: enumerated , one of ( \"remainder\"| \"total\" ) Default: \"remainder\"

      Determines how the items in `values` are summed. When set to \"total\", items in `values` are taken to be value of all its descendants. When set to \"remainder\", items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

    • count Parent: data[type=sunburst] Type: flaglist string. Any combination of \"branches\", \"leaves\" joined with a \"+\" OR . Examples: \"branches\", \"leaves\", \"branches+leaves\", Default: \"leaves\"

      Determines default for `values` when it is not provided, by inferring a 1 for each of the \"leaves\" and/or \"branches\", otherwise 0.

    • customdata Parent: data[type=sunburst] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • domain Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=sunburst].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this sunburst trace .

      • row Parent: data[type=sunburst].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this sunburst trace .

      • x Parent: data[type=sunburst].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this sunburst trace (in plot fraction).

      • y Parent: data[type=sunburst].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this sunburst trace (in plot fraction).

    • hoverinfo Parent: data[type=sunburst] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"name\", \"current path\", \"percent root\", \"percent entry\", \"percent parent\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"all\" Default: \"label+text+value+name\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=sunburst].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=sunburst].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=sunburst].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=sunburst].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=sunburst].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=sunburst].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=sunburst].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=sunburst].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=sunburst].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=sunburst].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=sunburst].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=sunburst].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=sunburst].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=sunburst].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=sunburst] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=sunburst] Type: string or array of strings

      Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=sunburst] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextfont Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying inside the sector.

      • color Parent: data[type=sunburst].insidetextfont Type: color or array of colors
      • family Parent: data[type=sunburst].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=sunburst].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=sunburst].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=sunburst].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=sunburst].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=sunburst].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=sunburst].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=sunburst].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • insidetextorientation Parent: data[type=sunburst] Type: enumerated , one of ( \"horizontal\"| \"radial\"| \"tangential\"| \"auto\" ) Default: \"auto\"

      Controls the orientation of the text inside chart sectors. When set to \"auto\", text may be oriented in any direction in order to be as big as possible in the middle of a sector. The \"horizontal\" option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The \"radial\" option orients text along the radius of the sector. The \"tangential\" option orients text perpendicular to the radius of the sector.

    • labels Parent: data[type=sunburst] Type: data_array

      Sets the labels of each of the sectors.

    • leaf Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.
      • opacity Parent: data[type=sunburst].leaf Type: number less than or equal to 1

        Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7

    • legend Parent: data[type=sunburst] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=sunburst].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=sunburst].legendgrouptitle.font Type: color
        • family Parent: data[type=sunburst].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=sunburst].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=sunburst].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=sunburst].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=sunburst].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=sunburst].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=sunburst].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=sunburst].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=sunburst].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=sunburst] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=sunburst] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • level Parent: data[type=sunburst] Type: number or categorical coordinate string

      Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an \"id\" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.

    • marker Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=sunburst].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=sunburst].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=sunburst].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=sunburst].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=sunburst].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.

      • coloraxis Parent: data[type=sunburst].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=sunburst].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=sunburst].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=sunburst].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=sunburst].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=sunburst].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=sunburst].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=sunburst].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=sunburst].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=sunburst].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=sunburst].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=sunburst].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=sunburst].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=sunburst].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=sunburst].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=sunburst].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=sunburst].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=sunburst].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=sunburst].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=sunburst].marker.colorbar.tickfont Type: color
          • family Parent: data[type=sunburst].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=sunburst].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=sunburst].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=sunburst].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=sunburst].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=sunburst].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=sunburst].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=sunburst].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=sunburst].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=sunburst].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=sunburst].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=sunburst].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=sunburst].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=sunburst].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=sunburst].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=sunburst].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=sunburst].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=sunburst].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=sunburst].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=sunburst].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=sunburst].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=sunburst].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=sunburst].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=sunburst].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=sunburst].marker.colorbar.title.font Type: color
            • family Parent: data[type=sunburst].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=sunburst].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=sunburst].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=sunburst].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=sunburst].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=sunburst].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=sunburst].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=sunburst].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=sunburst].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=sunburst].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=sunburst].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=sunburst].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=sunburst].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=sunburst].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=sunburst].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colors Parent: data[type=sunburst].marker Type: data_array

        Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.

      • colorscale Parent: data[type=sunburst].marker Type: colorscale

        Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • line Parent: data[type=sunburst].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=sunburst].marker.line Type: color or array of colors

          Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        • width Parent: data[type=sunburst].marker.line Type: number or array of numbers Default: 1

          Sets the width (in px) of the line enclosing each sector.

      • pattern Parent: data[type=sunburst].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=sunburst].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=sunburst].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=sunburst].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=sunburst].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=sunburst].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=sunburst].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=sunburst].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=sunburst].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

      • reversescale Parent: data[type=sunburst].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=sunburst].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.

    • maxdepth Parent: data[type=sunburst] Type: integer Default: -1

      Sets the number of rendered sectors from any given `level`. Set `maxdepth` to \"-1\" to render all the levels in the hierarchy.

    • meta Parent: data[type=sunburst] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=sunburst] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=sunburst] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • outsidetextfont Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented at the center of a sunburst graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

      • color Parent: data[type=sunburst].outsidetextfont Type: color or array of colors
      • family Parent: data[type=sunburst].outsidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=sunburst].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=sunburst].outsidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=sunburst].outsidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=sunburst].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=sunburst].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=sunburst].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=sunburst].outsidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • parents Parent: data[type=sunburst] Type: data_array

      Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be \"ids\" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.

    • root Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=sunburst].root Type: color Default: \"rgba(0,0,0,0)\"

        sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.

    • rotation Parent: data[type=sunburst] Type: angle

      Rotates the whole diagram counterclockwise by some angle. By default the first slice starts at 3 o'clock.

    • sort Parent: data[type=sunburst] Type: boolean Default: true

      Determines whether or not the sectors are reordered from largest to smallest.

    • text Parent: data[type=sunburst] Type: data_array

      Sets text elements associated with each sector. If trace `textinfo` contains a \"text\" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=sunburst] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo`.

      • color Parent: data[type=sunburst].textfont Type: color or array of colors
      • family Parent: data[type=sunburst].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=sunburst].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=sunburst].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=sunburst].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=sunburst].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=sunburst].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=sunburst].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=sunburst].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textinfo Parent: data[type=sunburst] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"current path\", \"percent root\", \"percent entry\", \"percent parent\" joined with a \"+\" OR \"none\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"none\"

      Determines which trace information appear on the graph.

    • texttemplate Parent: data[type=sunburst] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.

    • type Parent: data[type=sunburst] Type: \"sunburst\"
    • uid Parent: data[type=sunburst] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=sunburst] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • values Parent: data[type=sunburst] Type: data_array

      Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.

    • visible Parent: data[type=sunburst] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/surface/","title":"surface","text":"A surface trace is an object with the key \"type\" equal to \"surface\" (i.e. {\"type\": \"surface\"}) and any of the keys listed below. The data the describes the coordinates of the surface is set in `z`. Data in `z` should be a 2D array. Coordinates in `x` and `y` can either be 1D arrays or {2D arrays} (e.g. to graph parametric surfaces). If not provided in `x` and `y`, the x and y coordinates are assumed to be linear starting at 0 with a unit step. The color scale corresponds to the `z` values by default. For custom color scales, use `surfacecolor` which should be a 2D array, where its bounds can be controlled using `cmin` and `cmax`.
    • autocolorscale Parent: data[type=surface] Type: boolean

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • cauto Parent: data[type=surface] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here z or surfacecolor) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    • cmax Parent: data[type=surface] Type: number

      Sets the upper bound of the color domain. Value should have the same units as z or surfacecolor and if set, `cmin` must be set as well.

    • cmid Parent: data[type=surface] Type: number

      Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as z or surfacecolor. Has no effect when `cauto` is `false`.

    • cmin Parent: data[type=surface] Type: number

      Sets the lower bound of the color domain. Value should have the same units as z or surfacecolor and if set, `cmax` must be set as well.

    • coloraxis Parent: data[type=surface] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=surface] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=surface].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=surface].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=surface].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=surface].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=surface].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=surface].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=surface].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=surface].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=surface].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=surface].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=surface].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=surface].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=surface].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=surface].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=surface].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=surface].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=surface].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=surface].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=surface].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=surface].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=surface].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=surface].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=surface].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=surface].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=surface].colorbar.tickfont Type: color
        • family Parent: data[type=surface].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=surface].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=surface].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=surface].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=surface].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=surface].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=surface].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=surface].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=surface].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=surface].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=surface].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=surface].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=surface].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=surface].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=surface].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=surface].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=surface].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=surface].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=surface].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=surface].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=surface].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=surface].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=surface].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=surface].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=surface].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=surface].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=surface].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=surface].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=surface].colorbar.title.font Type: color
          • family Parent: data[type=surface].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=surface].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=surface].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=surface].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=surface].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=surface].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=surface].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=surface].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=surface].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=surface].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=surface].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=surface].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=surface].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=surface].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=surface].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=surface].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=surface].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=surface].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=surface] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • connectgaps Parent: data[type=surface] Type: boolean

      Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.

    • contours Parent: data[type=surface] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=surface].contours Type: object containing one or more of the keys listed below.
        • color Parent: data[type=surface].contours.x Type: color Default: \"#444\"

          Sets the color of the contour lines.

        • end Parent: data[type=surface].contours.x Type: number

          Sets the end contour level value. Must be more than `contours.start`

        • highlight Parent: data[type=surface].contours.x Type: boolean Default: true

          Determines whether or not contour lines about the x dimension are highlighted on hover.

        • highlightcolor Parent: data[type=surface].contours.x Type: color Default: \"#444\"

          Sets the color of the highlighted contour lines.

        • highlightwidth Parent: data[type=surface].contours.x Type: number between or equal to 1 and 16 Default: 2

          Sets the width of the highlighted contour lines.

        • project Parent: data[type=surface].contours.x Type: object containing one or more of the keys listed below.
          • x Parent: data[type=surface].contours.x.project Type: boolean

            Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

          • y Parent: data[type=surface].contours.x.project Type: boolean

            Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

          • z Parent: data[type=surface].contours.x.project Type: boolean

            Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

        • show Parent: data[type=surface].contours.x Type: boolean

          Determines whether or not contour lines about the x dimension are drawn.

        • size Parent: data[type=surface].contours.x Type: number

          Sets the step between each contour level. Must be positive.

        • start Parent: data[type=surface].contours.x Type: number

          Sets the starting contour level value. Must be less than `contours.end`

        • usecolormap Parent: data[type=surface].contours.x Type: boolean

          An alternate to \"color\". Determines whether or not the contour lines are colored using the trace \"colorscale\".

        • width Parent: data[type=surface].contours.x Type: number between or equal to 1 and 16 Default: 2

          Sets the width of the contour lines.

      • y Parent: data[type=surface].contours Type: object containing one or more of the keys listed below.
        • color Parent: data[type=surface].contours.y Type: color Default: \"#444\"

          Sets the color of the contour lines.

        • end Parent: data[type=surface].contours.y Type: number

          Sets the end contour level value. Must be more than `contours.start`

        • highlight Parent: data[type=surface].contours.y Type: boolean Default: true

          Determines whether or not contour lines about the y dimension are highlighted on hover.

        • highlightcolor Parent: data[type=surface].contours.y Type: color Default: \"#444\"

          Sets the color of the highlighted contour lines.

        • highlightwidth Parent: data[type=surface].contours.y Type: number between or equal to 1 and 16 Default: 2

          Sets the width of the highlighted contour lines.

        • project Parent: data[type=surface].contours.y Type: object containing one or more of the keys listed below.
          • x Parent: data[type=surface].contours.y.project Type: boolean

            Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

          • y Parent: data[type=surface].contours.y.project Type: boolean

            Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

          • z Parent: data[type=surface].contours.y.project Type: boolean

            Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

        • show Parent: data[type=surface].contours.y Type: boolean

          Determines whether or not contour lines about the y dimension are drawn.

        • size Parent: data[type=surface].contours.y Type: number

          Sets the step between each contour level. Must be positive.

        • start Parent: data[type=surface].contours.y Type: number

          Sets the starting contour level value. Must be less than `contours.end`

        • usecolormap Parent: data[type=surface].contours.y Type: boolean

          An alternate to \"color\". Determines whether or not the contour lines are colored using the trace \"colorscale\".

        • width Parent: data[type=surface].contours.y Type: number between or equal to 1 and 16 Default: 2

          Sets the width of the contour lines.

      • z Parent: data[type=surface].contours Type: object containing one or more of the keys listed below.
        • color Parent: data[type=surface].contours.z Type: color Default: \"#444\"

          Sets the color of the contour lines.

        • end Parent: data[type=surface].contours.z Type: number

          Sets the end contour level value. Must be more than `contours.start`

        • highlight Parent: data[type=surface].contours.z Type: boolean Default: true

          Determines whether or not contour lines about the z dimension are highlighted on hover.

        • highlightcolor Parent: data[type=surface].contours.z Type: color Default: \"#444\"

          Sets the color of the highlighted contour lines.

        • highlightwidth Parent: data[type=surface].contours.z Type: number between or equal to 1 and 16 Default: 2

          Sets the width of the highlighted contour lines.

        • project Parent: data[type=surface].contours.z Type: object containing one or more of the keys listed below.
          • x Parent: data[type=surface].contours.z.project Type: boolean

            Determines whether or not these contour lines are projected on the x plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

          • y Parent: data[type=surface].contours.z.project Type: boolean

            Determines whether or not these contour lines are projected on the y plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

          • z Parent: data[type=surface].contours.z.project Type: boolean

            Determines whether or not these contour lines are projected on the z plane. If `highlight` is set to \"true\" (the default), the projected lines are shown on hover. If `show` is set to \"true\", the projected lines are shown in permanence.

        • show Parent: data[type=surface].contours.z Type: boolean

          Determines whether or not contour lines about the z dimension are drawn.

        • size Parent: data[type=surface].contours.z Type: number

          Sets the step between each contour level. Must be positive.

        • start Parent: data[type=surface].contours.z Type: number

          Sets the starting contour level value. Must be less than `contours.end`

        • usecolormap Parent: data[type=surface].contours.z Type: boolean

          An alternate to \"color\". Determines whether or not the contour lines are colored using the trace \"colorscale\".

        • width Parent: data[type=surface].contours.z Type: number between or equal to 1 and 16 Default: 2

          Sets the width of the contour lines.

    • customdata Parent: data[type=surface] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • hidesurface Parent: data[type=surface] Type: boolean

      Determines whether or not a surface is drawn. For example, set `hidesurface` to \"false\" `contours.x.show` to \"true\" and `contours.y.show` to \"true\" to draw a wire frame plot.

    • hoverinfo Parent: data[type=surface] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=surface] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=surface].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=surface].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=surface].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=surface].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=surface].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=surface].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=surface].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=surface].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=surface].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=surface].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=surface].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=surface].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=surface].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=surface].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=surface] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=surface] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=surface] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=surface] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=surface] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=surface] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=surface].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=surface].legendgrouptitle.font Type: color
        • family Parent: data[type=surface].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=surface].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=surface].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=surface].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=surface].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=surface].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=surface].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=surface].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=surface].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=surface] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=surface] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lighting Parent: data[type=surface] Type: object containing one or more of the keys listed below.
      • ambient Parent: data[type=surface].lighting Type: number less than or equal to 1 Default: 0.8

        Ambient light increases overall color visibility but can wash out the image.

      • diffuse Parent: data[type=surface].lighting Type: number less than or equal to 1 Default: 0.8

        Represents the extent that incident rays are reflected in a range of angles.

      • fresnel Parent: data[type=surface].lighting Type: number less than or equal to 5 Default: 0.2

        Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      • roughness Parent: data[type=surface].lighting Type: number less than or equal to 1 Default: 0.5

        Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      • specular Parent: data[type=surface].lighting Type: number less than or equal to 2 Default: 0.05

        Represents the level that incident rays are reflected in a single direction, causing shine.

    • lightposition Parent: data[type=surface] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=surface].lightposition Type: number between or equal to -100000 and 100000 Default: 10

        Numeric vector, representing the X coordinate for each vertex.

      • y Parent: data[type=surface].lightposition Type: number between or equal to -100000 and 100000 Default: 10000

        Numeric vector, representing the Y coordinate for each vertex.

      • z Parent: data[type=surface].lightposition Type: number between or equal to -100000 and 100000

        Numeric vector, representing the Z coordinate for each vertex.

    • meta Parent: data[type=surface] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=surface] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=surface] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    • opacityscale Parent: data[type=surface] Type: number or categorical coordinate string

      Sets the opacityscale. The opacityscale must be an array containing arrays mapping a normalized value to an opacity value. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 1], [0.5, 0.2], [1, 1]]` means that higher/lower values would have higher opacity values and those in the middle would be more transparent Alternatively, `opacityscale` may be a palette name string of the following list: 'min', 'max', 'extremes' and 'uniform'. The default is 'uniform'.

    • reversescale Parent: data[type=surface] Type: boolean

      Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    • scene Parent: data[type=surface] Type: subplotid Default: scene

      Sets a reference between this trace's 3D coordinate system and a 3D scene. If \"scene\" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If \"scene2\", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    • showlegend Parent: data[type=surface] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=surface] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • surfacecolor Parent: data[type=surface] Type: data_array

      Sets the surface color values, used for setting a color scale independent of `z`.

    • text Parent: data[type=surface] Type: string or array of strings

      Sets the text elements associated with each z value. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • type Parent: data[type=surface] Type: \"surface\"
    • uid Parent: data[type=surface] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=surface] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=surface] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=surface] Type: data_array

      Sets the x coordinates.

    • xcalendar Parent: data[type=surface] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `x` date data.

    • xhoverformat Parent: data[type=surface] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=surface] Type: data_array

      Sets the y coordinates.

    • ycalendar Parent: data[type=surface] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `y` date data.

    • yhoverformat Parent: data[type=surface] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=surface] Type: data_array

      Sets the z coordinates.

    • zcalendar Parent: data[type=surface] Type: enumerated , one of ( \"chinese\"| \"coptic\"| \"discworld\"| \"ethiopian\"| \"gregorian\"| \"hebrew\"| \"islamic\"| \"jalali\"| \"julian\"| \"mayan\"| \"nanakshahi\"| \"nepali\"| \"persian\"| \"taiwan\"| \"thai\"| \"ummalqura\" ) Default: \"gregorian\"

      Sets the calendar system to use with `z` date data.

    • zhoverformat Parent: data[type=surface] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `zaxis.hoverformat`.

    "},{"location":"reference/table/","title":"table","text":"A table trace is an object with the key \"type\" equal to \"table\" (i.e. {\"type\": \"table\"}) and any of the keys listed below. Table view for detailed data viewing. The data are arranged in a grid of rows and columns. Most styling can be specified for columns, rows or individual cells. Table is using a column-major order, ie. the grid is represented as a vector of column vectors.
    • cells Parent: data[type=table] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=table].cells Type: enumerated or array of enumerateds , one of ( \"left\"| \"center\"| \"right\" ) Default: \"center\"

        Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more <br> HTML tags) or if an explicit width is set to override the text width.

      • fill Parent: data[type=table].cells Type: object containing one or more of the keys listed below.
        • color Parent: data[type=table].cells.fill Type: color or array of colors Default: \"white\"

          Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.

      • font Parent: data[type=table].cells Type: object containing one or more of the keys listed below.
        • color Parent: data[type=table].cells.font Type: color or array of colors
        • family Parent: data[type=table].cells.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=table].cells.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=table].cells.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=table].cells.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=table].cells.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=table].cells.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=table].cells.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=table].cells.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • format Parent: data[type=table].cells Type: data_array

        Sets the cell value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      • height Parent: data[type=table].cells Type: number Default: 20

        The height of cells.

      • line Parent: data[type=table].cells Type: object containing one or more of the keys listed below.
        • color Parent: data[type=table].cells.line Type: color or array of colors Default: \"grey\"
        • width Parent: data[type=table].cells.line Type: number or array of numbers Default: 1
      • prefix Parent: data[type=table].cells Type: string or array of strings

        Prefix for cell values.

      • suffix Parent: data[type=table].cells Type: string or array of strings

        Suffix for cell values.

      • values Parent: data[type=table].cells Type: data_array

        Cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.

    • columnorder Parent: data[type=table] Type: data_array

      Specifies the rendered order of the data columns; for example, a value `2` at position `0` means that column index `0` in the data will be rendered as the third column, as columns have an index base of zero.

    • columnwidth Parent: data[type=table] Type: number or array of numbers

      The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.

    • customdata Parent: data[type=table] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • domain Parent: data[type=table] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=table].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this table trace .

      • row Parent: data[type=table].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this table trace .

      • x Parent: data[type=table].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this table trace (in plot fraction).

      • y Parent: data[type=table].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this table trace (in plot fraction).

    • header Parent: data[type=table] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=table].header Type: enumerated or array of enumerateds , one of ( \"left\"| \"center\"| \"right\" ) Default: \"center\"

        Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more <br> HTML tags) or if an explicit width is set to override the text width.

      • fill Parent: data[type=table].header Type: object containing one or more of the keys listed below.
        • color Parent: data[type=table].header.fill Type: color or array of colors Default: \"white\"

          Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors.

      • font Parent: data[type=table].header Type: object containing one or more of the keys listed below.
        • color Parent: data[type=table].header.font Type: color or array of colors
        • family Parent: data[type=table].header.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=table].header.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=table].header.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=table].header.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=table].header.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=table].header.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=table].header.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=table].header.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • format Parent: data[type=table].header Type: data_array

        Sets the cell value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.

      • height Parent: data[type=table].header Type: number Default: 28

        The height of cells.

      • line Parent: data[type=table].header Type: object containing one or more of the keys listed below.
        • color Parent: data[type=table].header.line Type: color or array of colors Default: \"grey\"
        • width Parent: data[type=table].header.line Type: number or array of numbers Default: 1
      • prefix Parent: data[type=table].header Type: string or array of strings

        Prefix for cell values.

      • suffix Parent: data[type=table].header Type: string or array of strings

        Suffix for cell values.

      • values Parent: data[type=table].header Type: data_array

        Header cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.

    • hoverinfo Parent: data[type=table] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=table] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=table].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=table].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=table].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=table].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=table].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=table].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=table].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=table].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=table].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=table].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=table].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=table].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=table].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=table].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • ids Parent: data[type=table] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • legend Parent: data[type=table] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=table] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=table].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=table].legendgrouptitle.font Type: color
        • family Parent: data[type=table].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=table].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=table].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=table].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=table].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=table].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=table].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=table].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=table].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=table] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=table] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • meta Parent: data[type=table] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=table] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • type Parent: data[type=table] Type: \"table\"
    • uid Parent: data[type=table] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=table] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=table] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/treemap/","title":"treemap","text":"A treemap trace is an object with the key \"type\" equal to \"treemap\" (i.e. {\"type\": \"treemap\"}) and any of the keys listed below. Visualize hierarchal data from leaves (and/or outer branches) towards root with rectangles. The treemap sectors are determined by the entries in \"labels\" or \"ids\" and in \"parents\".
    • branchvalues Parent: data[type=treemap] Type: enumerated , one of ( \"remainder\"| \"total\" ) Default: \"remainder\"

      Determines how the items in `values` are summed. When set to \"total\", items in `values` are taken to be value of all its descendants. When set to \"remainder\", items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.

    • count Parent: data[type=treemap] Type: flaglist string. Any combination of \"branches\", \"leaves\" joined with a \"+\" OR . Examples: \"branches\", \"leaves\", \"branches+leaves\", Default: \"leaves\"

      Determines default for `values` when it is not provided, by inferring a 1 for each of the \"leaves\" and/or \"branches\", otherwise 0.

    • customdata Parent: data[type=treemap] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • domain Parent: data[type=treemap] Type: object containing one or more of the keys listed below.
      • column Parent: data[type=treemap].domain Type: integer

        If there is a layout grid, use the domain for this column in the grid for this treemap trace .

      • row Parent: data[type=treemap].domain Type: integer

        If there is a layout grid, use the domain for this row in the grid for this treemap trace .

      • x Parent: data[type=treemap].domain {inner}Type: {array} Default: [0, 1]

        Sets the horizontal domain of this treemap trace (in plot fraction).

      • y Parent: data[type=treemap].domain {inner}Type: {array} Default: [0, 1]

        Sets the vertical domain of this treemap trace (in plot fraction).

    • hoverinfo Parent: data[type=treemap] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"name\", \"current path\", \"percent root\", \"percent entry\", \"percent parent\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"all\" Default: \"label+text+value+name\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=treemap] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=treemap].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=treemap].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=treemap].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=treemap].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=treemap].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=treemap].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=treemap].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=treemap].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=treemap].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=treemap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=treemap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=treemap].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=treemap].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=treemap].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=treemap] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=treemap] Type: string or array of strings

      Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=treemap] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • insidetextfont Parent: data[type=treemap] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying inside the sector.

      • color Parent: data[type=treemap].insidetextfont Type: color or array of colors
      • family Parent: data[type=treemap].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=treemap].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=treemap].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=treemap].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=treemap].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=treemap].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=treemap].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=treemap].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • labels Parent: data[type=treemap] Type: data_array

      Sets the labels of each of the sectors.

    • legend Parent: data[type=treemap] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgrouptitle Parent: data[type=treemap] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=treemap].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=treemap].legendgrouptitle.font Type: color
        • family Parent: data[type=treemap].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=treemap].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=treemap].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=treemap].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=treemap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=treemap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=treemap].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=treemap].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=treemap].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=treemap] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=treemap] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • level Parent: data[type=treemap] Type: number or categorical coordinate string

      Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an \"id\" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.

    • marker Parent: data[type=treemap] Type: object containing one or more of the keys listed below.
      • autocolorscale Parent: data[type=treemap].marker Type: boolean Default: true

        Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

      • cauto Parent: data[type=treemap].marker Type: boolean Default: true

        Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.

      • cmax Parent: data[type=treemap].marker Type: number

        Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.

      • cmid Parent: data[type=treemap].marker Type: number

        Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.

      • cmin Parent: data[type=treemap].marker Type: number

        Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.

      • coloraxis Parent: data[type=treemap].marker Type: subplotid

        Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

      • colorbar Parent: data[type=treemap].marker Type: object containing one or more of the keys listed below.
        • bgcolor Parent: data[type=treemap].marker.colorbar Type: color Default: \"rgba(0,0,0,0)\"

          Sets the color of padded area.

        • bordercolor Parent: data[type=treemap].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • borderwidth Parent: data[type=treemap].marker.colorbar Type: number

          Sets the width (in px) or the border enclosing this color bar.

        • dtick Parent: data[type=treemap].marker.colorbar Type: number or categorical coordinate string

          Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

        • exponentformat Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

          Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

        • labelalias Parent: data[type=treemap].marker.colorbar Type: number or categorical coordinate string

          Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

        • len Parent: data[type=treemap].marker.colorbar Type: number Default: 1

          Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

        • lenmode Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

          Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

        • minexponent Parent: data[type=treemap].marker.colorbar Type: number Default: 3

          Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

        • nticks Parent: data[type=treemap].marker.colorbar Type: integer

          Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

        • orientation Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

          Sets the orientation of the colorbar.

        • outlinecolor Parent: data[type=treemap].marker.colorbar Type: color Default: \"#444\"

          Sets the axis line color.

        • outlinewidth Parent: data[type=treemap].marker.colorbar Type: number Default: 1

          Sets the width (in px) of the axis line.

        • separatethousands Parent: data[type=treemap].marker.colorbar Type: boolean

          If \"true\", even 4-digit integers are separated

        • showexponent Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

        • showticklabels Parent: data[type=treemap].marker.colorbar Type: boolean Default: true

          Determines whether or not the tick labels are drawn.

        • showtickprefix Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

        • showticksuffix Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

          Same as `showtickprefix` but for tick suffixes.

        • thickness Parent: data[type=treemap].marker.colorbar Type: number Default: 30

          Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

        • thicknessmode Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

          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.

        • tick0 Parent: data[type=treemap].marker.colorbar Type: number or categorical coordinate string

          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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

        • tickangle Parent: data[type=treemap].marker.colorbar Type: angle Default: \"auto\"

          Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

        • tickcolor Parent: data[type=treemap].marker.colorbar Type: color Default: \"#444\"

          Sets the tick color.

        • tickfont Parent: data[type=treemap].marker.colorbar Type: object containing one or more of the keys listed below.

          Sets the color bar's tick label font

          • color Parent: data[type=treemap].marker.colorbar.tickfont Type: color
          • family Parent: data[type=treemap].marker.colorbar.tickfont Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=treemap].marker.colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=treemap].marker.colorbar.tickfont Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=treemap].marker.colorbar.tickfont Type: number greater than or equal to 1
          • style Parent: data[type=treemap].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=treemap].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=treemap].marker.colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=treemap].marker.colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • tickformat Parent: data[type=treemap].marker.colorbar Type: string

          Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

        • tickformatstops Parent: data[type=treemap].marker.colorbar Type: array of object where each object has one or more of the keys listed below.
          • dtickrange Parent: data[type=treemap].marker.colorbar.tickformatstops {inner}Type: {array}

            range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

          • enabled Parent: data[type=treemap].marker.colorbar.tickformatstops Type: boolean Default: true

            Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

          • name Parent: data[type=treemap].marker.colorbar.tickformatstops Type: string

            When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

          • templateitemname Parent: data[type=treemap].marker.colorbar.tickformatstops Type: string

            Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

          • value Parent: data[type=treemap].marker.colorbar.tickformatstops Type: string

            string - dtickformat for described zoom level, the same as \"tickformat\"

        • ticklabeloverflow Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

          Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

        • ticklabelposition Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

          Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

        • ticklabelstep Parent: data[type=treemap].marker.colorbar Type: integer greater than or equal to 1 Default: 1

          Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

        • ticklen Parent: data[type=treemap].marker.colorbar Type: number Default: 5

          Sets the tick length (in px).

        • tickmode Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

          Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

        • tickprefix Parent: data[type=treemap].marker.colorbar Type: string

          Sets a tick label prefix.

        • ticks Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

          Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

        • ticksuffix Parent: data[type=treemap].marker.colorbar Type: string

          Sets a tick label suffix.

        • ticktext Parent: data[type=treemap].marker.colorbar Type: data_array

          Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

        • tickvals Parent: data[type=treemap].marker.colorbar Type: data_array

          Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

        • tickwidth Parent: data[type=treemap].marker.colorbar Type: number Default: 1

          Sets the tick width (in px).

        • title Parent: data[type=treemap].marker.colorbar Type: object containing one or more of the keys listed below.
          • font Parent: data[type=treemap].marker.colorbar.title Type: object containing one or more of the keys listed below.

            Sets this color bar's title font.

            • color Parent: data[type=treemap].marker.colorbar.title.font Type: color
            • family Parent: data[type=treemap].marker.colorbar.title.font Type: string

              HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

            • lineposition Parent: data[type=treemap].marker.colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

              Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

            • shadow Parent: data[type=treemap].marker.colorbar.title.font Type: string Default: \"none\"

              Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

            • size Parent: data[type=treemap].marker.colorbar.title.font Type: number greater than or equal to 1
            • style Parent: data[type=treemap].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

              Sets whether a font should be styled with a normal or italic face from its family.

            • textcase Parent: data[type=treemap].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

              Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

            • variant Parent: data[type=treemap].marker.colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

              Sets the variant of the font.

            • weight Parent: data[type=treemap].marker.colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

              Sets the weight (or boldness) of the font.

          • side Parent: data[type=treemap].marker.colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

            Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

          • text Parent: data[type=treemap].marker.colorbar.title Type: string

            Sets the title of the color bar.

        • x Parent: data[type=treemap].marker.colorbar Type: number

          Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

        • xanchor Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

          Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

        • xpad Parent: data[type=treemap].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the x direction.

        • xref Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

        • y Parent: data[type=treemap].marker.colorbar Type: number

          Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

        • yanchor Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

          Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

        • ypad Parent: data[type=treemap].marker.colorbar Type: number Default: 10

          Sets the amount of padding (in px) along the y direction.

        • yref Parent: data[type=treemap].marker.colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

          Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

      • colors Parent: data[type=treemap].marker Type: data_array

        Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.

      • colorscale Parent: data[type=treemap].marker Type: colorscale

        Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

      • cornerradius Parent: data[type=treemap].marker Type: number

        Sets the maximum rounding of corners (in px).

      • depthfade Parent: data[type=treemap].marker Type: enumerated , one of ( true| false| \"reversed\" )

        Determines if the sector colors are faded towards the background from the leaves up to the headers. This option is unavailable when a `colorscale` is present, defaults to false when `marker.colors` is set, but otherwise defaults to true. When set to \"reversed\", the fading direction is inverted, that is the top elements within hierarchy are drawn with fully saturated colors while the leaves are faded towards the background color.

      • line Parent: data[type=treemap].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=treemap].marker.line Type: color or array of colors

          Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.

        • width Parent: data[type=treemap].marker.line Type: number or array of numbers Default: 1

          Sets the width (in px) of the line enclosing each sector.

      • pad Parent: data[type=treemap].marker Type: object containing one or more of the keys listed below.
        • b Parent: data[type=treemap].marker.pad Type: number

          Sets the padding form the bottom (in px).

        • l Parent: data[type=treemap].marker.pad Type: number

          Sets the padding form the left (in px).

        • r Parent: data[type=treemap].marker.pad Type: number

          Sets the padding form the right (in px).

        • t Parent: data[type=treemap].marker.pad Type: number

          Sets the padding form the top (in px).

      • pattern Parent: data[type=treemap].marker Type: object containing one or more of the keys listed below.

        Sets the pattern within the marker.

        • bgcolor Parent: data[type=treemap].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is \"overlay\". Otherwise, defaults to a transparent background.

        • fgcolor Parent: data[type=treemap].marker.pattern Type: color or array of colors

          When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is \"replace\". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.

        • fgopacity Parent: data[type=treemap].marker.pattern Type: number less than or equal to 1

          Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is \"overlay\". Otherwise, defaults to 1.

        • fillmode Parent: data[type=treemap].marker.pattern Type: enumerated , one of ( \"replace\"| \"overlay\" ) Default: \"replace\"

          Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.

        • path Parent: data[type=treemap].marker.pattern Type: string or array of strings

          Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.

        • shape Parent: data[type=treemap].marker.pattern Type: enumerated or array of enumerateds , one of ( \"\"| \"/\"| \"\\\"| \"x\"| \"-\"| \"|\"| \"+\"| \".\" )

          Sets the shape of the pattern fill. By default, no pattern is used for filling the area.

        • size Parent: data[type=treemap].marker.pattern Type: number or array of numbers Default: 8

          Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.

        • solidity Parent: data[type=treemap].marker.pattern Type: number or array of numbers less than or equal to 1 Default: 0.3

          Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.

      • reversescale Parent: data[type=treemap].marker Type: boolean

        Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.

      • showscale Parent: data[type=treemap].marker Type: boolean

        Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.

    • maxdepth Parent: data[type=treemap] Type: integer Default: -1

      Sets the number of rendered sectors from any given `level`. Set `maxdepth` to \"-1\" to render all the levels in the hierarchy.

    • meta Parent: data[type=treemap] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=treemap] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=treemap] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • outsidetextfont Parent: data[type=treemap] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.

      • color Parent: data[type=treemap].outsidetextfont Type: color or array of colors
      • family Parent: data[type=treemap].outsidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=treemap].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=treemap].outsidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=treemap].outsidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=treemap].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=treemap].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=treemap].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=treemap].outsidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • parents Parent: data[type=treemap] Type: data_array

      Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be \"ids\" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.

    • pathbar Parent: data[type=treemap] Type: object containing one or more of the keys listed below.
      • edgeshape Parent: data[type=treemap].pathbar Type: enumerated , one of ( \">\"| \"<\"| \"|\"| \"/\"| \"\\\" ) Default: \">\"

        Determines which shape is used for edges between `barpath` labels.

      • side Parent: data[type=treemap].pathbar Type: enumerated , one of ( \"top\"| \"bottom\" ) Default: \"top\"

        Determines on which side of the the treemap the `pathbar` should be presented.

      • textfont Parent: data[type=treemap].pathbar Type: object containing one or more of the keys listed below.

        Sets the font used inside `pathbar`.

        • color Parent: data[type=treemap].pathbar.textfont Type: color or array of colors
        • family Parent: data[type=treemap].pathbar.textfont Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=treemap].pathbar.textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=treemap].pathbar.textfont Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=treemap].pathbar.textfont Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=treemap].pathbar.textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=treemap].pathbar.textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=treemap].pathbar.textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=treemap].pathbar.textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • thickness Parent: data[type=treemap].pathbar Type: number greater than or equal to 12

        Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.

      • visible Parent: data[type=treemap].pathbar Type: boolean Default: true

        Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.

    • root Parent: data[type=treemap] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=treemap].root Type: color Default: \"rgba(0,0,0,0)\"

        sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.

    • sort Parent: data[type=treemap] Type: boolean Default: true

      Determines whether or not the sectors are reordered from largest to smallest.

    • text Parent: data[type=treemap] Type: data_array

      Sets text elements associated with each sector. If trace `textinfo` contains a \"text\" flag, these elements will be seen on the chart. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textfont Parent: data[type=treemap] Type: object containing one or more of the keys listed below.

      Sets the font used for `textinfo`.

      • color Parent: data[type=treemap].textfont Type: color or array of colors
      • family Parent: data[type=treemap].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=treemap].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=treemap].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=treemap].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=treemap].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=treemap].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=treemap].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=treemap].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textinfo Parent: data[type=treemap] Type: flaglist string. Any combination of \"label\", \"text\", \"value\", \"current path\", \"percent root\", \"percent entry\", \"percent parent\" joined with a \"+\" OR \"none\". Examples: \"label\", \"text\", \"label+text\", \"label+text+value\", \"none\"

      Determines which trace information appear on the graph.

    • textposition Parent: data[type=treemap] Type: enumerated , one of ( \"top left\"| \"top center\"| \"top right\"| \"middle left\"| \"middle center\"| \"middle right\"| \"bottom left\"| \"bottom center\"| \"bottom right\" ) Default: \"top left\"

      Sets the positions of the `text` elements.

    • texttemplate Parent: data[type=treemap] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.

    • tiling Parent: data[type=treemap] Type: object containing one or more of the keys listed below.
      • flip Parent: data[type=treemap].tiling Type: flaglist string. Any combination of \"x\", \"y\" joined with a \"+\" OR . Examples: \"x\", \"y\", \"x+y\",

        Determines if the positions obtained from solver are flipped on each axis.

      • packing Parent: data[type=treemap].tiling Type: enumerated , one of ( \"squarify\"| \"binary\"| \"dice\"| \"slice\"| \"slice-dice\"| \"dice-slice\" ) Default: \"squarify\"

        Determines d3 treemap solver. For more info please refer to https://github.com/d3/d3-hierarchy#treemap-tiling

      • pad Parent: data[type=treemap].tiling Type: number Default: 3

        Sets the inner padding (in px).

      • squarifyratio Parent: data[type=treemap].tiling Type: number greater than or equal to 1 Default: 1

        When using \"squarify\" `packing` algorithm, according to https://github.com/d3/d3-hierarchy/blob/v3.1.1/README.md#squarify_ratio this option specifies the desired aspect ratio of the generated rectangles. The ratio must be specified as a number greater than or equal to one. Note that the orientation of the generated rectangles (tall or wide) is not implied by the ratio; for example, a ratio of two will attempt to produce a mixture of rectangles whose width:height ratio is either 2:1 or 1:2. When using \"squarify\", unlike d3 which uses the Golden Ratio i.e. 1.618034, Plotly applies 1 to increase squares in treemap layouts.

    • type Parent: data[type=treemap] Type: \"treemap\"
    • uid Parent: data[type=treemap] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=treemap] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • values Parent: data[type=treemap] Type: data_array

      Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.

    • visible Parent: data[type=treemap] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    "},{"location":"reference/violin/","title":"violin","text":"A violin trace is an object with the key \"type\" equal to \"violin\" (i.e. {\"type\": \"violin\"}) and any of the keys listed below. In vertical (horizontal) violin plots, statistics are computed using `y` (`x`) values. By supplying an `x` (`y`) array, one violin per distinct x (y) value is drawn If no `x` (`y`) array is provided, a single violin is drawn. That violin position is then positioned with with `name` or with `x0` (`y0`) if provided.
    • alignmentgroup Parent: data[type=violin] Type: string

      Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    • bandwidth Parent: data[type=violin] Type: number

      Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.

    • box Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • fillcolor Parent: data[type=violin].box Type: color

        Sets the inner box plot fill color.

      • line Parent: data[type=violin].box Type: object containing one or more of the keys listed below.
        • color Parent: data[type=violin].box.line Type: color

          Sets the inner box plot bounding line color.

        • width Parent: data[type=violin].box.line Type: number

          Sets the inner box plot bounding line width.

      • visible Parent: data[type=violin].box Type: boolean

        Determines if an miniature box plot is drawn inside the violins.

      • width Parent: data[type=violin].box Type: number less than or equal to 1 Default: 0.25

        Sets the width of the inner box plots relative to the violins' width. For example, with 1, the inner box plots are as wide as the violins.

    • customdata Parent: data[type=violin] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • fillcolor Parent: data[type=violin] Type: color

      Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

    • hoverinfo Parent: data[type=violin] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=violin].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=violin].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=violin].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=violin].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=violin].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=violin].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=violin].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=violin].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=violin].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=violin].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=violin].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=violin].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=violin].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=violin].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hoveron Parent: data[type=violin] Type: flaglist string. Any combination of \"violins\", \"points\", \"kde\" joined with a \"+\" OR \"all\". Examples: \"violins\", \"points\", \"violins+points\", \"violins+points+kde\", \"all\" Default: \"violins+points+kde\"

      Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?

    • hovertemplate Parent: data[type=violin] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=violin] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=violin] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • jitter Parent: data[type=violin] Type: number less than or equal to 1

      Sets the amount of jitter in the sample points drawn. If \"0\", the sample points align along the distribution axis. If \"1\", the sample points are drawn in a random jitter of width equal to the width of the violins.

    • legend Parent: data[type=violin] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=violin] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=violin].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=violin].legendgrouptitle.font Type: color
        • family Parent: data[type=violin].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=violin].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=violin].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=violin].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=violin].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=violin].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=violin].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=violin].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=violin].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=violin] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=violin] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • line Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=violin].line Type: color

        Sets the color of line bounding the violin(s).

      • width Parent: data[type=violin].line Type: number Default: 2

        Sets the width (in px) of line bounding the violin(s).

    • marker Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • angle Parent: data[type=violin].marker Type: angle

        Sets the marker angle in respect to `angleref`.

      • color Parent: data[type=violin].marker Type: color

        Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.

      • line Parent: data[type=violin].marker Type: object containing one or more of the keys listed below.
        • color Parent: data[type=violin].marker.line Type: color Default: \"#444\"

          Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.

        • outliercolor Parent: data[type=violin].marker.line Type: color

          Sets the border line color of the outlier sample points. Defaults to marker.color

        • outlierwidth Parent: data[type=violin].marker.line Type: number Default: 1

          Sets the border line width (in px) of the outlier sample points.

        • width Parent: data[type=violin].marker.line Type: number

          Sets the width (in px) of the lines bounding the marker points.

      • opacity Parent: data[type=violin].marker Type: number less than or equal to 1 Default: 1

        Sets the marker opacity.

      • outliercolor Parent: data[type=violin].marker Type: color Default: \"rgba(0, 0, 0, 0)\"

        Sets the color of the outlier sample points.

      • size Parent: data[type=violin].marker Type: number Default: 6

        Sets the marker size (in px).

      • symbol Parent: data[type=violin].marker Type: enumerated , one of ( \"0\"| \"0\"| \"circle\"| \"100\"| \"100\"| \"circle-open\"| \"200\"| \"200\"| \"circle-dot\"| \"300\"| \"300\"| \"circle-open-dot\"| \"1\"| \"1\"| \"square\"| \"101\"| \"101\"| \"square-open\"| \"201\"| \"201\"| \"square-dot\"| \"301\"| \"301\"| \"square-open-dot\"| \"2\"| \"2\"| \"diamond\"| \"102\"| \"102\"| \"diamond-open\"| \"202\"| \"202\"| \"diamond-dot\"| \"302\"| \"302\"| \"diamond-open-dot\"| \"3\"| \"3\"| \"cross\"| \"103\"| \"103\"| \"cross-open\"| \"203\"| \"203\"| \"cross-dot\"| \"303\"| \"303\"| \"cross-open-dot\"| \"4\"| \"4\"| \"x\"| \"104\"| \"104\"| \"x-open\"| \"204\"| \"204\"| \"x-dot\"| \"304\"| \"304\"| \"x-open-dot\"| \"5\"| \"5\"| \"triangle-up\"| \"105\"| \"105\"| \"triangle-up-open\"| \"205\"| \"205\"| \"triangle-up-dot\"| \"305\"| \"305\"| \"triangle-up-open-dot\"| \"6\"| \"6\"| \"triangle-down\"| \"106\"| \"106\"| \"triangle-down-open\"| \"206\"| \"206\"| \"triangle-down-dot\"| \"306\"| \"306\"| \"triangle-down-open-dot\"| \"7\"| \"7\"| \"triangle-left\"| \"107\"| \"107\"| \"triangle-left-open\"| \"207\"| \"207\"| \"triangle-left-dot\"| \"307\"| \"307\"| \"triangle-left-open-dot\"| \"8\"| \"8\"| \"triangle-right\"| \"108\"| \"108\"| \"triangle-right-open\"| \"208\"| \"208\"| \"triangle-right-dot\"| \"308\"| \"308\"| \"triangle-right-open-dot\"| \"9\"| \"9\"| \"triangle-ne\"| \"109\"| \"109\"| \"triangle-ne-open\"| \"209\"| \"209\"| \"triangle-ne-dot\"| \"309\"| \"309\"| \"triangle-ne-open-dot\"| \"10\"| \"10\"| \"triangle-se\"| \"110\"| \"110\"| \"triangle-se-open\"| \"210\"| \"210\"| \"triangle-se-dot\"| \"310\"| \"310\"| \"triangle-se-open-dot\"| \"11\"| \"11\"| \"triangle-sw\"| \"111\"| \"111\"| \"triangle-sw-open\"| \"211\"| \"211\"| \"triangle-sw-dot\"| \"311\"| \"311\"| \"triangle-sw-open-dot\"| \"12\"| \"12\"| \"triangle-nw\"| \"112\"| \"112\"| \"triangle-nw-open\"| \"212\"| \"212\"| \"triangle-nw-dot\"| \"312\"| \"312\"| \"triangle-nw-open-dot\"| \"13\"| \"13\"| \"pentagon\"| \"113\"| \"113\"| \"pentagon-open\"| \"213\"| \"213\"| \"pentagon-dot\"| \"313\"| \"313\"| \"pentagon-open-dot\"| \"14\"| \"14\"| \"hexagon\"| \"114\"| \"114\"| \"hexagon-open\"| \"214\"| \"214\"| \"hexagon-dot\"| \"314\"| \"314\"| \"hexagon-open-dot\"| \"15\"| \"15\"| \"hexagon2\"| \"115\"| \"115\"| \"hexagon2-open\"| \"215\"| \"215\"| \"hexagon2-dot\"| \"315\"| \"315\"| \"hexagon2-open-dot\"| \"16\"| \"16\"| \"octagon\"| \"116\"| \"116\"| \"octagon-open\"| \"216\"| \"216\"| \"octagon-dot\"| \"316\"| \"316\"| \"octagon-open-dot\"| \"17\"| \"17\"| \"star\"| \"117\"| \"117\"| \"star-open\"| \"217\"| \"217\"| \"star-dot\"| \"317\"| \"317\"| \"star-open-dot\"| \"18\"| \"18\"| \"hexagram\"| \"118\"| \"118\"| \"hexagram-open\"| \"218\"| \"218\"| \"hexagram-dot\"| \"318\"| \"318\"| \"hexagram-open-dot\"| \"19\"| \"19\"| \"star-triangle-up\"| \"119\"| \"119\"| \"star-triangle-up-open\"| \"219\"| \"219\"| \"star-triangle-up-dot\"| \"319\"| \"319\"| \"star-triangle-up-open-dot\"| \"20\"| \"20\"| \"star-triangle-down\"| \"120\"| \"120\"| \"star-triangle-down-open\"| \"220\"| \"220\"| \"star-triangle-down-dot\"| \"320\"| \"320\"| \"star-triangle-down-open-dot\"| \"21\"| \"21\"| \"star-square\"| \"121\"| \"121\"| \"star-square-open\"| \"221\"| \"221\"| \"star-square-dot\"| \"321\"| \"321\"| \"star-square-open-dot\"| \"22\"| \"22\"| \"star-diamond\"| \"122\"| \"122\"| \"star-diamond-open\"| \"222\"| \"222\"| \"star-diamond-dot\"| \"322\"| \"322\"| \"star-diamond-open-dot\"| \"23\"| \"23\"| \"diamond-tall\"| \"123\"| \"123\"| \"diamond-tall-open\"| \"223\"| \"223\"| \"diamond-tall-dot\"| \"323\"| \"323\"| \"diamond-tall-open-dot\"| \"24\"| \"24\"| \"diamond-wide\"| \"124\"| \"124\"| \"diamond-wide-open\"| \"224\"| \"224\"| \"diamond-wide-dot\"| \"324\"| \"324\"| \"diamond-wide-open-dot\"| \"25\"| \"25\"| \"hourglass\"| \"125\"| \"125\"| \"hourglass-open\"| \"26\"| \"26\"| \"bowtie\"| \"126\"| \"126\"| \"bowtie-open\"| \"27\"| \"27\"| \"circle-cross\"| \"127\"| \"127\"| \"circle-cross-open\"| \"28\"| \"28\"| \"circle-x\"| \"128\"| \"128\"| \"circle-x-open\"| \"29\"| \"29\"| \"square-cross\"| \"129\"| \"129\"| \"square-cross-open\"| \"30\"| \"30\"| \"square-x\"| \"130\"| \"130\"| \"square-x-open\"| \"31\"| \"31\"| \"diamond-cross\"| \"131\"| \"131\"| \"diamond-cross-open\"| \"32\"| \"32\"| \"diamond-x\"| \"132\"| \"132\"| \"diamond-x-open\"| \"33\"| \"33\"| \"cross-thin\"| \"133\"| \"133\"| \"cross-thin-open\"| \"34\"| \"34\"| \"x-thin\"| \"134\"| \"134\"| \"x-thin-open\"| \"35\"| \"35\"| \"asterisk\"| \"135\"| \"135\"| \"asterisk-open\"| \"36\"| \"36\"| \"hash\"| \"136\"| \"136\"| \"hash-open\"| \"236\"| \"236\"| \"hash-dot\"| \"336\"| \"336\"| \"hash-open-dot\"| \"37\"| \"37\"| \"y-up\"| \"137\"| \"137\"| \"y-up-open\"| \"38\"| \"38\"| \"y-down\"| \"138\"| \"138\"| \"y-down-open\"| \"39\"| \"39\"| \"y-left\"| \"139\"| \"139\"| \"y-left-open\"| \"40\"| \"40\"| \"y-right\"| \"140\"| \"140\"| \"y-right-open\"| \"41\"| \"41\"| \"line-ew\"| \"141\"| \"141\"| \"line-ew-open\"| \"42\"| \"42\"| \"line-ns\"| \"142\"| \"142\"| \"line-ns-open\"| \"43\"| \"43\"| \"line-ne\"| \"143\"| \"143\"| \"line-ne-open\"| \"44\"| \"44\"| \"line-nw\"| \"144\"| \"144\"| \"line-nw-open\"| \"45\"| \"45\"| \"arrow-up\"| \"145\"| \"145\"| \"arrow-up-open\"| \"46\"| \"46\"| \"arrow-down\"| \"146\"| \"146\"| \"arrow-down-open\"| \"47\"| \"47\"| \"arrow-left\"| \"147\"| \"147\"| \"arrow-left-open\"| \"48\"| \"48\"| \"arrow-right\"| \"148\"| \"148\"| \"arrow-right-open\"| \"49\"| \"49\"| \"arrow-bar-up\"| \"149\"| \"149\"| \"arrow-bar-up-open\"| \"50\"| \"50\"| \"arrow-bar-down\"| \"150\"| \"150\"| \"arrow-bar-down-open\"| \"51\"| \"51\"| \"arrow-bar-left\"| \"151\"| \"151\"| \"arrow-bar-left-open\"| \"52\"| \"52\"| \"arrow-bar-right\"| \"152\"| \"152\"| \"arrow-bar-right-open\"| \"53\"| \"53\"| \"arrow\"| \"153\"| \"153\"| \"arrow-open\"| \"54\"| \"54\"| \"arrow-wide\"| \"154\"| \"154\"| \"arrow-wide-open\" ) Default: \"circle\"

        Sets the marker symbol type. Adding 100 is equivalent to appending \"-open\" to a symbol name. Adding 200 is equivalent to appending \"-dot\" to a symbol name. Adding 300 is equivalent to appending \"-open-dot\" or \"dot-open\" to a symbol name.

    • meanline Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=violin].meanline Type: color

        Sets the mean line color.

      • visible Parent: data[type=violin].meanline Type: boolean

        Determines if a line corresponding to the sample's mean is shown inside the violins. If `box.visible` is turned on, the mean line is drawn inside the inner box. Otherwise, the mean line is drawn from one side of the violin to other.

      • width Parent: data[type=violin].meanline Type: number

        Sets the mean line width.

    • meta Parent: data[type=violin] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=violin] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover. For violin traces, the name will also be used for the position coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are missing and the position axis is categorical. Note that the trace name is also used as a default value for attribute `scalegroup` (please see its description for details).

    • offsetgroup Parent: data[type=violin] Type: string

      Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    • opacity Parent: data[type=violin] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • orientation Parent: data[type=violin] Type: enumerated , one of ( \"v\"| \"h\" )

      Sets the orientation of the violin(s). If \"v\" (\"h\"), the distribution is visualized along the vertical (horizontal).

    • pointpos Parent: data[type=violin] Type: number between or equal to -2 and 2

      Sets the position of the sample points in relation to the violins. If \"0\", the sample points are places over the center of the violins. Positive (negative) values correspond to positions to the right (left) for vertical violins and above (below) for horizontal violins.

    • points Parent: data[type=violin] Type: enumerated , one of ( \"all\"| \"outliers\"| \"suspectedoutliers\"| false )

      If \"outliers\", only the sample points lying outside the whiskers are shown If \"suspectedoutliers\", the outlier points are shown and points either less than 4\"Q1-3\"Q3 or greater than 4\"Q3-3\"Q1 are highlighted (see `outliercolor`) If \"all\", all sample points are shown If \"false\", only the violins are shown with no sample points. Defaults to \"suspectedoutliers\" when `marker.outliercolor` or `marker.line.outliercolor` is set, otherwise defaults to \"outliers\".

    • quartilemethod Parent: data[type=violin] Type: enumerated , one of ( \"linear\"| \"exclusive\"| \"inclusive\" ) Default: \"linear\"

      Sets the method used to compute the sample's Q1 and Q3 quartiles. The \"linear\" method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://jse.amstat.org/v14n3/langford.html). The \"exclusive\" method uses the median to divide the ordered dataset into two halves if the sample is odd, it does not include the median in either half - Q1 is then the median of the lower half and Q3 the median of the upper half. The \"inclusive\" method also uses the median to divide the ordered dataset into two halves but if the sample is odd, it includes the median in both halves - Q1 is then the median of the lower half and Q3 the median of the upper half.

    • scalegroup Parent: data[type=violin] Type: string

      If there are multiple violins that should be sized according to to some metric (see `scalemode`), link them by providing a non-empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together

    • scalemode Parent: data[type=violin] Type: enumerated , one of ( \"width\"| \"count\" ) Default: \"width\"

      Sets the metric by which the width of each violin is determined. \"width\" means each violin has the same (max) width \"count\" means the violins are scaled by the number of sample points making up each violin.

    • selected Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=violin].selected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=violin].selected.marker Type: color

          Sets the marker color of selected points.

        • opacity Parent: data[type=violin].selected.marker Type: number less than or equal to 1

          Sets the marker opacity of selected points.

        • size Parent: data[type=violin].selected.marker Type: number

          Sets the marker size of selected points.

    • selectedpoints Parent: data[type=violin] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=violin] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • side Parent: data[type=violin] Type: enumerated , one of ( \"both\"| \"positive\"| \"negative\" ) Default: \"both\"

      Determines on which side of the position value the density function making up one half of a violin is plotted. Useful when comparing two violin traces under \"overlay\" mode, where one trace has `side` set to \"positive\" and the other to \"negative\".

    • span Parent: data[type=violin] {inner}Type: {array}

      Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to \"manual\".

    • spanmode Parent: data[type=violin] Type: enumerated , one of ( \"soft\"| \"hard\"| \"manual\" ) Default: \"soft\"

      Sets the method by which the span in data space where the density function will be computed. \"soft\" means the span goes from the sample's minimum value minus two bandwidths to the sample's maximum value plus two bandwidths. \"hard\" means the span goes from the sample's minimum to its maximum value. For custom span settings, use mode \"manual\" and fill in the `span` attribute.

    • text Parent: data[type=violin] Type: string or array of strings

      Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • type Parent: data[type=violin] Type: \"violin\"
    • uid Parent: data[type=violin] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=violin] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • unselected Parent: data[type=violin] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=violin].unselected Type: object containing one or more of the keys listed below.
        • color Parent: data[type=violin].unselected.marker Type: color

          Sets the marker color of unselected points, applied only when a selection exists.

        • opacity Parent: data[type=violin].unselected.marker Type: number less than or equal to 1

          Sets the marker opacity of unselected points, applied only when a selection exists.

        • size Parent: data[type=violin].unselected.marker Type: number

          Sets the marker size of unselected points, applied only when a selection exists.

    • visible Parent: data[type=violin] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • width Parent: data[type=violin] Type: number

      Sets the width of the violin in data coordinates. If \"0\" (default value) the width is automatically selected based on the positions of other violin traces in the same subplot.

    • x Parent: data[type=violin] Type: data_array

      Sets the x sample data or coordinates. See overview for more info.

    • x0 Parent: data[type=violin] Type: number or categorical coordinate string

      Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    • xaxis Parent: data[type=violin] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xhoverformat Parent: data[type=violin] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=violin] Type: data_array

      Sets the y sample data or coordinates. See overview for more info.

    • y0 Parent: data[type=violin] Type: number or categorical coordinate string

      Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

    • yaxis Parent: data[type=violin] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • yhoverformat Parent: data[type=violin] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • zorder Parent: data[type=violin] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "},{"location":"reference/volume/","title":"volume","text":"A volume trace is an object with the key \"type\" equal to \"volume\" (i.e. {\"type\": \"volume\"}) and any of the keys listed below. Draws volume trace between iso-min and iso-max values with coordinates given by four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as spaceframe between iso-min and iso-max values could also be drawn using this trace.
    • autocolorscale Parent: data[type=volume] Type: boolean Default: true

      Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.

    • caps Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=volume].caps Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=volume].caps.x Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • show Parent: data[type=volume].caps.x Type: boolean Default: true

          Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      • y Parent: data[type=volume].caps Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=volume].caps.y Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • show Parent: data[type=volume].caps.y Type: boolean Default: true

          Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      • z Parent: data[type=volume].caps Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=volume].caps.z Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • show Parent: data[type=volume].caps.z Type: boolean Default: true

          Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

    • cauto Parent: data[type=volume] Type: boolean Default: true

      Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.

    • cmax Parent: data[type=volume] Type: number

      Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.

    • cmid Parent: data[type=volume] Type: number

      Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.

    • cmin Parent: data[type=volume] Type: number

      Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.

    • coloraxis Parent: data[type=volume] Type: subplotid

      Sets a reference to a shared color axis. References to these shared color axes are \"coloraxis\", \"coloraxis2\", \"coloraxis3\", etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.

    • colorbar Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • bgcolor Parent: data[type=volume].colorbar Type: color Default: \"rgba(0,0,0,0)\"

        Sets the color of padded area.

      • bordercolor Parent: data[type=volume].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • borderwidth Parent: data[type=volume].colorbar Type: number

        Sets the width (in px) or the border enclosing this color bar.

      • dtick Parent: data[type=volume].colorbar Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to \"log\" and \"date\" axes. 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. \"log\" has several special values; \"L<f>\", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = \"L0.5\" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use \"D1\" (all digits) or \"D2\" (only 2 and 5). `tick0` is ignored for \"D1\" and \"D2\". 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. \"date\" also has special values \"M<n>\" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to \"2000-01-15\" and `dtick` to \"M3\". To set ticks every 4 years, set `dtick` to \"M48\"

      • exponentformat Parent: data[type=volume].colorbar Type: enumerated , one of ( \"none\"| \"e\"| \"E\"| \"power\"| \"SI\"| \"B\" ) Default: \"B\"

        Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If \"none\", it appears as 1,000,000,000. If \"e\", 1e+9. If \"E\", 1E+9. If \"power\", 1x10^9 (with 9 in a super script). If \"SI\", 1G. If \"B\", 1B.

      • labelalias Parent: data[type=volume].colorbar Type: number or categorical coordinate string

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use \u22121 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • len Parent: data[type=volume].colorbar Type: number Default: 1

        Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

      • lenmode Parent: data[type=volume].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"fraction\"

        Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot \"fraction\" or in \"pixels. Use `len` to set the value.

      • minexponent Parent: data[type=volume].colorbar Type: number Default: 3

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is \"SI\" or \"B\".

      • nticks Parent: data[type=volume].colorbar Type: integer

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to \"auto\".

      • orientation Parent: data[type=volume].colorbar Type: enumerated , one of ( \"h\"| \"v\" ) Default: \"v\"

        Sets the orientation of the colorbar.

      • outlinecolor Parent: data[type=volume].colorbar Type: color Default: \"#444\"

        Sets the axis line color.

      • outlinewidth Parent: data[type=volume].colorbar Type: number Default: 1

        Sets the width (in px) of the axis line.

      • separatethousands Parent: data[type=volume].colorbar Type: boolean

        If \"true\", even 4-digit integers are separated

      • showexponent Parent: data[type=volume].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all exponents are shown besides their significands. If \"first\", only the exponent of the first tick is shown. If \"last\", only the exponent of the last tick is shown. If \"none\", no exponents appear.

      • showticklabels Parent: data[type=volume].colorbar Type: boolean Default: true

        Determines whether or not the tick labels are drawn.

      • showtickprefix Parent: data[type=volume].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        If \"all\", all tick labels are displayed with a prefix. If \"first\", only the first tick is displayed with a prefix. If \"last\", only the last tick is displayed with a suffix. If \"none\", tick prefixes are hidden.

      • showticksuffix Parent: data[type=volume].colorbar Type: enumerated , one of ( \"all\"| \"first\"| \"last\"| \"none\" ) Default: \"all\"

        Same as `showtickprefix` but for tick suffixes.

      • thickness Parent: data[type=volume].colorbar Type: number Default: 30

        Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

      • thicknessmode Parent: data[type=volume].colorbar Type: enumerated , one of ( \"fraction\"| \"pixels\" ) Default: \"pixels\"

        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.

      • tick0 Parent: data[type=volume].colorbar Type: number or categorical coordinate string

        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) except when `dtick`=\"L<f>\" (see `dtick` for more info). If the axis `type` is \"date\", it should be a date string, like date data. If the axis `type` is \"category\", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickangle Parent: data[type=volume].colorbar Type: angle Default: \"auto\"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickcolor Parent: data[type=volume].colorbar Type: color Default: \"#444\"

        Sets the tick color.

      • tickfont Parent: data[type=volume].colorbar Type: object containing one or more of the keys listed below.

        Sets the color bar's tick label font

        • color Parent: data[type=volume].colorbar.tickfont Type: color
        • family Parent: data[type=volume].colorbar.tickfont Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=volume].colorbar.tickfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=volume].colorbar.tickfont Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=volume].colorbar.tickfont Type: number greater than or equal to 1
        • style Parent: data[type=volume].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=volume].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=volume].colorbar.tickfont Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=volume].colorbar.tickfont Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • tickformat Parent: data[type=volume].colorbar Type: string

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"

      • tickformatstops Parent: data[type=volume].colorbar Type: array of object where each object has one or more of the keys listed below.
        • dtickrange Parent: data[type=volume].colorbar.tickformatstops {inner}Type: {array}

          range [\"min\", \"max\"], where \"min\", \"max\" - dtick values which describe some zoom level, it is possible to omit \"min\" or \"max\" value by passing \"null\"

        • enabled Parent: data[type=volume].colorbar.tickformatstops Type: boolean Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • name Parent: data[type=volume].colorbar.tickformatstops Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname Parent: data[type=volume].colorbar.tickformatstops Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

        • value Parent: data[type=volume].colorbar.tickformatstops Type: string

          string - dtickformat for described zoom level, the same as \"tickformat\"

      • ticklabeloverflow Parent: data[type=volume].colorbar Type: enumerated , one of ( \"allow\"| \"hide past div\"| \"hide past domain\" )

        Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is \"hide past domain\". In other cases the default is \"hide past div\".

      • ticklabelposition Parent: data[type=volume].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"outside top\"| \"inside top\"| \"outside left\"| \"inside left\"| \"outside right\"| \"inside right\"| \"outside bottom\"| \"inside bottom\" ) Default: \"outside\"

        Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is \"h\", top and bottom when `orientation` is \"v\".

      • ticklabelstep Parent: data[type=volume].colorbar Type: integer greater than or equal to 1 Default: 1

        Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` \"log\" or \"multicategory\", or when `tickmode` is \"array\".

      • ticklen Parent: data[type=volume].colorbar Type: number Default: 5

        Sets the tick length (in px).

      • tickmode Parent: data[type=volume].colorbar Type: enumerated , one of ( \"auto\"| \"linear\"| \"array\" )

        Sets the tick mode for this axis. If \"auto\", the number of ticks is set via `nticks`. If \"linear\", the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (\"linear\" is the default value if `tick0` and `dtick` are provided). If \"array\", the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (\"array\" is the default value if `tickvals` is provided).

      • tickprefix Parent: data[type=volume].colorbar Type: string

        Sets a tick label prefix.

      • ticks Parent: data[type=volume].colorbar Type: enumerated , one of ( \"outside\"| \"inside\"| \"\" )

        Determines whether ticks are drawn or not. If \"\", this axis' ticks are not drawn. If \"outside\" (\"inside\"), this axis' are drawn outside (inside) the axis lines.

      • ticksuffix Parent: data[type=volume].colorbar Type: string

        Sets a tick label suffix.

      • ticktext Parent: data[type=volume].colorbar Type: data_array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to \"array\". Used with `tickvals`.

      • tickvals Parent: data[type=volume].colorbar Type: data_array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to \"array\". Used with `ticktext`.

      • tickwidth Parent: data[type=volume].colorbar Type: number Default: 1

        Sets the tick width (in px).

      • title Parent: data[type=volume].colorbar Type: object containing one or more of the keys listed below.
        • font Parent: data[type=volume].colorbar.title Type: object containing one or more of the keys listed below.

          Sets this color bar's title font.

          • color Parent: data[type=volume].colorbar.title.font Type: color
          • family Parent: data[type=volume].colorbar.title.font Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

          • lineposition Parent: data[type=volume].colorbar.title.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

            Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

          • shadow Parent: data[type=volume].colorbar.title.font Type: string Default: \"none\"

            Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size Parent: data[type=volume].colorbar.title.font Type: number greater than or equal to 1
          • style Parent: data[type=volume].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase Parent: data[type=volume].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant Parent: data[type=volume].colorbar.title.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

            Sets the variant of the font.

          • weight Parent: data[type=volume].colorbar.title.font Type: integer between or equal to 1 and 1000 Default: normal

            Sets the weight (or boldness) of the font.

        • side Parent: data[type=volume].colorbar.title Type: enumerated , one of ( \"right\"| \"top\"| \"bottom\" )

          Determines the location of color bar's title with respect to the color bar. Defaults to \"top\" when `orientation` if \"v\" and defaults to \"right\" when `orientation` if \"h\".

        • text Parent: data[type=volume].colorbar.title Type: string

          Sets the title of the color bar.

      • x Parent: data[type=volume].colorbar Type: number

        Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is \"paper\", defaults to 1.02 when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". When `xref` is \"container\", defaults to \"1\" when `orientation` is \"v\" and 0.5 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `xref` is \"container\" and between \"-2\" and \"3\" if `xref` is \"paper\".

      • xanchor Parent: data[type=volume].colorbar Type: enumerated , one of ( \"left\"| \"center\"| \"right\" )

        Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the \"left\", \"center\" or \"right\" of the color bar. Defaults to \"left\" when `orientation` is \"v\" and \"center\" when `orientation` is \"h\".

      • xpad Parent: data[type=volume].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the x direction.

      • xref Parent: data[type=volume].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `x` refers to. \"container\" spans the entire `width` of the plot. \"paper\" refers to the width of the plotting area only.

      • y Parent: data[type=volume].colorbar Type: number

        Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is \"paper\", defaults to 0.5 when `orientation` is \"v\" and 1.02 when `orientation` is \"h\". When `yref` is \"container\", defaults to 0.5 when `orientation` is \"v\" and 1 when `orientation` is \"h\". Must be between \"0\" and \"1\" if `yref` is \"container\" and between \"-2\" and \"3\" if `yref` is \"paper\".

      • yanchor Parent: data[type=volume].colorbar Type: enumerated , one of ( \"top\"| \"middle\"| \"bottom\" )

        Sets this color bar's vertical position anchor This anchor binds the `y` position to the \"top\", \"middle\" or \"bottom\" of the color bar. Defaults to \"middle\" when `orientation` is \"v\" and \"bottom\" when `orientation` is \"h\".

      • ypad Parent: data[type=volume].colorbar Type: number Default: 10

        Sets the amount of padding (in px) along the y direction.

      • yref Parent: data[type=volume].colorbar Type: enumerated , one of ( \"container\"| \"paper\" ) Default: \"paper\"

        Sets the container `y` refers to. \"container\" spans the entire `height` of the plot. \"paper\" refers to the height of the plotting area only.

    • colorscale Parent: data[type=volume] Type: colorscale

      Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

    • contour Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • color Parent: data[type=volume].contour Type: color Default: \"#444\"

        Sets the color of the contour lines.

      • show Parent: data[type=volume].contour Type: boolean

        Sets whether or not dynamic contours are shown on hover

      • width Parent: data[type=volume].contour Type: number between or equal to 1 and 16 Default: 2

        Sets the width of the contour lines.

    • customdata Parent: data[type=volume] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • flatshading Parent: data[type=volume] Type: boolean Default: true

      Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.

    • hoverinfo Parent: data[type=volume] Type: flaglist string. Any combination of \"x\", \"y\", \"z\", \"text\", \"name\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"x\", \"y\", \"x+y\", \"x+y+z\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=volume].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=volume].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=volume].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=volume].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=volume].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=volume].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=volume].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=volume].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=volume].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=volume].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=volume].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=volume].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=volume].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=volume].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=volume] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=volume] Type: string or array of strings

      Same as `text`.

    • ids Parent: data[type=volume] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • isomax Parent: data[type=volume] Type: number

      Sets the maximum boundary for iso-surface plot.

    • isomin Parent: data[type=volume] Type: number

      Sets the minimum boundary for iso-surface plot.

    • legend Parent: data[type=volume] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=volume] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=volume].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=volume].legendgrouptitle.font Type: color
        • family Parent: data[type=volume].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=volume].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=volume].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=volume].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=volume].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=volume].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=volume].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=volume].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=volume].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=volume] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=volume] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • lighting Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • ambient Parent: data[type=volume].lighting Type: number less than or equal to 1 Default: 0.8

        Ambient light increases overall color visibility but can wash out the image.

      • diffuse Parent: data[type=volume].lighting Type: number less than or equal to 1 Default: 0.8

        Represents the extent that incident rays are reflected in a range of angles.

      • facenormalsepsilon Parent: data[type=volume].lighting Type: number less than or equal to 1

        Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

      • fresnel Parent: data[type=volume].lighting Type: number less than or equal to 5 Default: 0.2

        Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

      • roughness Parent: data[type=volume].lighting Type: number less than or equal to 1 Default: 0.5

        Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

      • specular Parent: data[type=volume].lighting Type: number less than or equal to 2 Default: 0.05

        Represents the level that incident rays are reflected in a single direction, causing shine.

      • vertexnormalsepsilon Parent: data[type=volume].lighting Type: number less than or equal to 1 Default: 1e-12

        Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

    • lightposition Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=volume].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the X coordinate for each vertex.

      • y Parent: data[type=volume].lightposition Type: number between or equal to -100000 and 100000 Default: 100000

        Numeric vector, representing the Y coordinate for each vertex.

      • z Parent: data[type=volume].lightposition Type: number between or equal to -100000 and 100000

        Numeric vector, representing the Z coordinate for each vertex.

    • meta Parent: data[type=volume] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=volume] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • opacity Parent: data[type=volume] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

    • opacityscale Parent: data[type=volume] Type: number or categorical coordinate string

      Sets the opacityscale. The opacityscale must be an array containing arrays mapping a normalized value to an opacity value. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 1], [0.5, 0.2], [1, 1]]` means that higher/lower values would have higher opacity values and those in the middle would be more transparent Alternatively, `opacityscale` may be a palette name string of the following list: 'min', 'max', 'extremes' and 'uniform'. The default is 'uniform'.

    • reversescale Parent: data[type=volume] Type: boolean

      Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.

    • scene Parent: data[type=volume] Type: subplotid Default: scene

      Sets a reference between this trace's 3D coordinate system and a 3D scene. If \"scene\" (the default value), the (x,y,z) coordinates refer to `layout.scene`. If \"scene2\", the (x,y,z) coordinates refer to `layout.scene2`, and so on.

    • showlegend Parent: data[type=volume] Type: boolean

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • showscale Parent: data[type=volume] Type: boolean Default: true

      Determines whether or not a colorbar is displayed for this trace.

    • slices Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • x Parent: data[type=volume].slices Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=volume].slices.x Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • locations Parent: data[type=volume].slices.x Type: data_array

          Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.

        • show Parent: data[type=volume].slices.x Type: boolean

          Determines whether or not slice planes about the x dimension are drawn.

      • y Parent: data[type=volume].slices Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=volume].slices.y Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • locations Parent: data[type=volume].slices.y Type: data_array

          Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.

        • show Parent: data[type=volume].slices.y Type: boolean

          Determines whether or not slice planes about the y dimension are drawn.

      • z Parent: data[type=volume].slices Type: object containing one or more of the keys listed below.
        • fill Parent: data[type=volume].slices.z Type: number less than or equal to 1 Default: 1

          Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

        • locations Parent: data[type=volume].slices.z Type: data_array

          Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.

        • show Parent: data[type=volume].slices.z Type: boolean

          Determines whether or not slice planes about the z dimension are drawn.

    • spaceframe Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • fill Parent: data[type=volume].spaceframe Type: number less than or equal to 1 Default: 1

        Sets the fill ratio of the `spaceframe` elements. The default fill value is 1 meaning that they are entirely shaded. Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      • show Parent: data[type=volume].spaceframe Type: boolean

        Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.

    • surface Parent: data[type=volume] Type: object containing one or more of the keys listed below.
      • count Parent: data[type=volume].surface Type: integer greater than or equal to 1 Default: 2

        Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.

      • fill Parent: data[type=volume].surface Type: number less than or equal to 1 Default: 1

        Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.

      • pattern Parent: data[type=volume].surface Type: flaglist string. Any combination of \"A\", \"B\", \"C\", \"D\", \"E\" joined with a \"+\" OR \"all\", \"odd\", \"even\". Examples: \"A\", \"B\", \"A+B\", \"A+B+C\", \"all\" Default: \"all\"

        Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.

      • show Parent: data[type=volume].surface Type: boolean Default: true

        Hides/displays surfaces between minimum and maximum iso-values.

    • text Parent: data[type=volume] Type: string or array of strings

      Sets the text elements associated with the vertices. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • type Parent: data[type=volume] Type: \"volume\"
    • uid Parent: data[type=volume] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=volume] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • value Parent: data[type=volume] Type: data_array

      Sets the 4th dimension (value) of the vertices.

    • valuehoverformat Parent: data[type=volume] Type: string

      Sets the hover text formatting rulefor `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.

    • visible Parent: data[type=volume] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • x Parent: data[type=volume] Type: data_array

      Sets the X coordinates of the vertices on X axis.

    • xhoverformat Parent: data[type=volume] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • y Parent: data[type=volume] Type: data_array

      Sets the Y coordinates of the vertices on Y axis.

    • yhoverformat Parent: data[type=volume] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • z Parent: data[type=volume] Type: data_array

      Sets the Z coordinates of the vertices on Z axis.

    • zhoverformat Parent: data[type=volume] Type: string

      Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `zaxis.hoverformat`.

    "},{"location":"reference/waterfall/","title":"waterfall","text":"A waterfall trace is an object with the key \"type\" equal to \"waterfall\" (i.e. {\"type\": \"waterfall\"}) and any of the keys listed below. Draws waterfall trace which is useful graph to displays the contribution of various elements (either positive or negative) in a bar chart. The data visualized by the span of the bars is set in `y` if `orientation` is set to \"v\" (the default) and the labels are set in `x`. By setting `orientation` to \"h\", the roles are interchanged.
    • alignmentgroup Parent: data[type=waterfall] Type: string

      Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

    • base Parent: data[type=waterfall] Type: number

      Sets where the bar base is drawn (in position axis units).

    • cliponaxis Parent: data[type=waterfall] Type: boolean Default: true

      Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to \"below traces\".

    • connector Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.
      • line Parent: data[type=waterfall].connector Type: object containing one or more of the keys listed below.
        • color Parent: data[type=waterfall].connector.line Type: color Default: \"#444\"

          Sets the line color.

        • dash Parent: data[type=waterfall].connector.line Type: string Default: \"solid\"

          Sets the dash style of lines. Set to a dash type string (\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", or \"longdashdot\") or a dash length list in px (eg \"5px,10px,2px,2px\").

        • width Parent: data[type=waterfall].connector.line Type: number Default: 2

          Sets the line width (in px).

      • mode Parent: data[type=waterfall].connector Type: enumerated , one of ( \"spanning\"| \"between\" ) Default: \"between\"

        Sets the shape of connector lines.

      • visible Parent: data[type=waterfall].connector Type: boolean Default: true

        Determines if connector lines are drawn.

    • constraintext Parent: data[type=waterfall] Type: enumerated , one of ( \"inside\"| \"outside\"| \"both\"| \"none\" ) Default: \"both\"

      Constrain the size of text inside or outside a bar to be no larger than the bar itself.

    • customdata Parent: data[type=waterfall] Type: data_array

      Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, \"scatter\" traces also appends customdata items in the markers DOM elements

    • decreasing Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=waterfall].decreasing Type: object containing one or more of the keys listed below.
        • color Parent: data[type=waterfall].decreasing.marker Type: color

          Sets the marker color of all decreasing values.

        • line Parent: data[type=waterfall].decreasing.marker Type: object containing one or more of the keys listed below.
          • color Parent: data[type=waterfall].decreasing.marker.line Type: color

            Sets the line color of all decreasing values.

          • width Parent: data[type=waterfall].decreasing.marker.line Type: number

            Sets the line width of all decreasing values.

    • dx Parent: data[type=waterfall] Type: number Default: 1

      Sets the x coordinate step. See `x0` for more info.

    • dy Parent: data[type=waterfall] Type: number Default: 1

      Sets the y coordinate step. See `y0` for more info.

    • hoverinfo Parent: data[type=waterfall] Type: flaglist string. Any combination of \"name\", \"x\", \"y\", \"text\", \"initial\", \"delta\", \"final\" joined with a \"+\" OR \"all\", \"none\", \"skip\". Examples: \"name\", \"x\", \"name+x\", \"name+x+y\", \"all\" Default: \"all\"

      Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.

    • hoverlabel Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.
      • align Parent: data[type=waterfall].hoverlabel Type: enumerated or array of enumerateds , one of ( \"left\"| \"right\"| \"auto\" ) Default: \"auto\"

        Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

      • bgcolor Parent: data[type=waterfall].hoverlabel Type: color or array of colors

        Sets the background color of the hover labels for this trace

      • bordercolor Parent: data[type=waterfall].hoverlabel Type: color or array of colors

        Sets the border color of the hover labels for this trace.

      • font Parent: data[type=waterfall].hoverlabel Type: object containing one or more of the keys listed below.

        Sets the font used in hover labels.

        • color Parent: data[type=waterfall].hoverlabel.font Type: color or array of colors
        • family Parent: data[type=waterfall].hoverlabel.font Type: string or array of strings

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=waterfall].hoverlabel.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=waterfall].hoverlabel.font Type: string or array of strings Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=waterfall].hoverlabel.font Type: number or array of numbers greater than or equal to 1
        • style Parent: data[type=waterfall].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=waterfall].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=waterfall].hoverlabel.font Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=waterfall].hoverlabel.font Type: integer or array of integers between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • namelength Parent: data[type=waterfall].hoverlabel Type: integer or array of integers greater than or equal to -1 Default: 15

        Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.

    • hovertemplate Parent: data[type=waterfall] Type: string or array of strings

      Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, \"xother\" will be added to those with different x positions from the first point. An underscore before or after \"(x|y)other\" will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `initial`, `delta` and `final`. Anything contained in tag `<extra>` is displayed in the secondary box, for example `<extra>%{fullData.name}</extra>`. To hide the secondary box completely, use an empty tag `<extra></extra>`.

    • hovertext Parent: data[type=waterfall] Type: string or array of strings

      Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a \"text\" flag.

    • ids Parent: data[type=waterfall] Type: data_array

      Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    • increasing Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=waterfall].increasing Type: object containing one or more of the keys listed below.
        • color Parent: data[type=waterfall].increasing.marker Type: color

          Sets the marker color of all increasing values.

        • line Parent: data[type=waterfall].increasing.marker Type: object containing one or more of the keys listed below.
          • color Parent: data[type=waterfall].increasing.marker.line Type: color

            Sets the line color of all increasing values.

          • width Parent: data[type=waterfall].increasing.marker.line Type: number

            Sets the line width of all increasing values.

    • insidetextanchor Parent: data[type=waterfall] Type: enumerated , one of ( \"end\"| \"middle\"| \"start\" ) Default: \"end\"

      Determines if texts are kept at center or start/end points in `textposition` \"inside\" mode.

    • insidetextfont Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying inside the bar.

      • color Parent: data[type=waterfall].insidetextfont Type: color or array of colors
      • family Parent: data[type=waterfall].insidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=waterfall].insidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=waterfall].insidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=waterfall].insidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=waterfall].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=waterfall].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=waterfall].insidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=waterfall].insidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • legend Parent: data[type=waterfall] Type: subplotid Default: legend

      Sets the reference to a legend to show this trace in. References to these legends are \"legend\", \"legend2\", \"legend3\", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.

    • legendgroup Parent: data[type=waterfall] Type: string

      Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

    • legendgrouptitle Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.
      • font Parent: data[type=waterfall].legendgrouptitle Type: object containing one or more of the keys listed below.

        Sets this legend group's title font.

        • color Parent: data[type=waterfall].legendgrouptitle.font Type: color
        • family Parent: data[type=waterfall].legendgrouptitle.font Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

        • lineposition Parent: data[type=waterfall].legendgrouptitle.font Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

          Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

        • shadow Parent: data[type=waterfall].legendgrouptitle.font Type: string Default: \"none\"

          Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size Parent: data[type=waterfall].legendgrouptitle.font Type: number greater than or equal to 1
        • style Parent: data[type=waterfall].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase Parent: data[type=waterfall].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant Parent: data[type=waterfall].legendgrouptitle.font Type: enumerated , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

          Sets the variant of the font.

        • weight Parent: data[type=waterfall].legendgrouptitle.font Type: integer between or equal to 1 and 1000 Default: normal

          Sets the weight (or boldness) of the font.

      • text Parent: data[type=waterfall].legendgrouptitle Type: string

        Sets the title of the legend group.

    • legendrank Parent: data[type=waterfall] Type: number Default: 1000

      Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with \"reversed\" `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

    • legendwidth Parent: data[type=waterfall] Type: number

      Sets the width (in px or fraction) of the legend for this trace.

    • measure Parent: data[type=waterfall] Type: data_array

      An array containing types of values. By default the values are considered as 'relative'. However; it is possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed.

    • meta Parent: data[type=waterfall] Type: number or categorical coordinate string

      Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.

    • name Parent: data[type=waterfall] Type: string

      Sets the trace name. The trace name appears as the legend item and on hover.

    • offset Parent: data[type=waterfall] Type: number or array of numbers

      Shifts the position where the bar is drawn (in position axis units). In \"group\" barmode, traces that set \"offset\" will be excluded and drawn in \"overlay\" mode instead.

    • offsetgroup Parent: data[type=waterfall] Type: string

      Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

    • opacity Parent: data[type=waterfall] Type: number less than or equal to 1 Default: 1

      Sets the opacity of the trace.

    • orientation Parent: data[type=waterfall] Type: enumerated , one of ( \"v\"| \"h\" )

      Sets the orientation of the bars. With \"v\" (\"h\"), the value of the each bar spans along the vertical (horizontal).

    • outsidetextfont Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.

      Sets the font used for `text` lying outside the bar.

      • color Parent: data[type=waterfall].outsidetextfont Type: color or array of colors
      • family Parent: data[type=waterfall].outsidetextfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=waterfall].outsidetextfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=waterfall].outsidetextfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=waterfall].outsidetextfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=waterfall].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=waterfall].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=waterfall].outsidetextfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=waterfall].outsidetextfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • selectedpoints Parent: data[type=waterfall] Type: number or categorical coordinate string

      Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

    • showlegend Parent: data[type=waterfall] Type: boolean Default: true

      Determines whether or not an item corresponding to this trace is shown in the legend.

    • text Parent: data[type=waterfall] Type: string or array of strings

      Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a \"text\" flag and \"hovertext\" is not set, these elements will be seen in the hover labels.

    • textangle Parent: data[type=waterfall] Type: angle Default: \"auto\"

      Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With \"auto\" the texts may automatically be rotated to fit with the maximum size in bars.

    • textfont Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.

      Sets the font used for `text`.

      • color Parent: data[type=waterfall].textfont Type: color or array of colors
      • family Parent: data[type=waterfall].textfont Type: string or array of strings

        HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.

      • lineposition Parent: data[type=waterfall].textfont Type: flaglist string. Any combination of \"under\", \"over\", \"through\" joined with a \"+\" OR \"none\". Examples: \"under\", \"over\", \"under+over\", \"under+over+through\", \"none\" Default: \"none\"

        Sets the kind of decoration line(s) with text, such as an \"under\", \"over\" or \"through\" as well as combinations e.g. \"under+over\", etc.

      • shadow Parent: data[type=waterfall].textfont Type: string or array of strings Default: \"none\"

        Sets the shape and color of the shadow behind text. \"auto\" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

      • size Parent: data[type=waterfall].textfont Type: number or array of numbers greater than or equal to 1
      • style Parent: data[type=waterfall].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"italic\" ) Default: \"normal\"

        Sets whether a font should be styled with a normal or italic face from its family.

      • textcase Parent: data[type=waterfall].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"word caps\"| \"upper\"| \"lower\" ) Default: \"normal\"

        Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

      • variant Parent: data[type=waterfall].textfont Type: enumerated or array of enumerateds , one of ( \"normal\"| \"small-caps\"| \"all-small-caps\"| \"all-petite-caps\"| \"petite-caps\"| \"unicase\" ) Default: \"normal\"

        Sets the variant of the font.

      • weight Parent: data[type=waterfall].textfont Type: integer or array of integers between or equal to 1 and 1000 Default: normal

        Sets the weight (or boldness) of the font.

    • textinfo Parent: data[type=waterfall] Type: flaglist string. Any combination of \"label\", \"text\", \"initial\", \"delta\", \"final\" joined with a \"+\" OR \"none\". Examples: \"label\", \"text\", \"label+text\", \"label+text+initial\", \"none\"

      Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).

    • textposition Parent: data[type=waterfall] Type: enumerated or array of enumerateds , one of ( \"inside\"| \"outside\"| \"auto\"| \"none\" ) Default: \"auto\"

      Specifies the location of the `text`. \"inside\" positions `text` inside, next to the bar end (rotated and scaled if needed). \"outside\" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. \"auto\" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If \"none\", no text appears.

    • texttemplate Parent: data[type=waterfall] Type: string or array of strings

      Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `initial`, `delta`, `final` and `label`.

    • totals Parent: data[type=waterfall] Type: object containing one or more of the keys listed below.
      • marker Parent: data[type=waterfall].totals Type: object containing one or more of the keys listed below.
        • color Parent: data[type=waterfall].totals.marker Type: color

          Sets the marker color of all intermediate sums and total values.

        • line Parent: data[type=waterfall].totals.marker Type: object containing one or more of the keys listed below.
          • color Parent: data[type=waterfall].totals.marker.line Type: color

            Sets the line color of all intermediate sums and total values.

          • width Parent: data[type=waterfall].totals.marker.line Type: number

            Sets the line width of all intermediate sums and total values.

    • type Parent: data[type=waterfall] Type: \"waterfall\"
    • uid Parent: data[type=waterfall] Type: string

      Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    • uirevision Parent: data[type=waterfall] Type: number or categorical coordinate string

      Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.

    • visible Parent: data[type=waterfall] Type: enumerated , one of ( true| false| \"legendonly\" ) Default: \"True\"

      Determines whether or not this trace is visible. If \"legendonly\", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    • width Parent: data[type=waterfall] Type: number or array of numbers

      Sets the bar width (in position axis units).

    • x Parent: data[type=waterfall] Type: data_array

      Sets the x coordinates.

    • x0 Parent: data[type=waterfall] Type: number or categorical coordinate string

      Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

    • xaxis Parent: data[type=waterfall] Type: subplotid Default: x

      Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If \"x\" (the default value), the x coordinates refer to `layout.xaxis`. If \"x2\", the x coordinates refer to `layout.xaxis2`, and so on.

    • xhoverformat Parent: data[type=waterfall] Type: string

      Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `xaxis.hoverformat`.

    • xperiod Parent: data[type=waterfall] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the x axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • xperiod0 Parent: data[type=waterfall] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • xperiodalignment Parent: data[type=waterfall] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the x axis.

    • y Parent: data[type=waterfall] Type: data_array

      Sets the y coordinates.

    • y0 Parent: data[type=waterfall] Type: number or categorical coordinate string

      Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

    • yaxis Parent: data[type=waterfall] Type: subplotid Default: y

      Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If \"y\" (the default value), the y coordinates refer to `layout.yaxis`. If \"y2\", the y coordinates refer to `layout.yaxis2`, and so on.

    • yhoverformat Parent: data[type=waterfall] Type: string

      Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: \"%h\" for half of the year as a decimal number as well as \"%{n}f\" for fractional seconds with n digits. For example, \"2016-10-13 09:15:23.456\" with tickformat \"%H~%M~%S.%2f\" would display \"09~15~23.46\"By default the values are formatted using `yaxis.hoverformat`.

    • yperiod Parent: data[type=waterfall] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the period positioning in milliseconds or \"M<n>\" on the y axis. Special values in the form of \"M<n>\" could be used to declare the number of months. In this case `n` must be a positive integer.

    • yperiod0 Parent: data[type=waterfall] Type: number or categorical coordinate string

      Only relevant when the axis `type` is \"date\". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    • yperiodalignment Parent: data[type=waterfall] Type: enumerated , one of ( \"start\"| \"middle\"| \"end\" ) Default: \"middle\"

      Only relevant when the axis `type` is \"date\". Sets the alignment of data points on the y axis.

    • zorder Parent: data[type=waterfall] Type: integer

      Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.

    "}]} \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml new file mode 100644 index 00000000000..d13ad3e031a --- /dev/null +++ b/docs/sitemap.xml @@ -0,0 +1,639 @@ + + + + https://plotly.com/javascript/examples/2D-Histogram/ + 2025-10-08 + + + https://plotly.com/javascript/examples/2d-histogram-contour/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-axes/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-hover/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-isosurface-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-line-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-mesh/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-point-clustering/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-scatter-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-subplots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-surface-lighting/ + 2025-10-08 + + + https://plotly.com/javascript/examples/3d-surface-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/LaTeX/ + 2025-10-08 + + + https://plotly.com/javascript/examples/ajax-call/ + 2025-10-08 + + + https://plotly.com/javascript/examples/animations/ + 2025-10-08 + + + https://plotly.com/javascript/examples/axes/ + 2025-10-08 + + + https://plotly.com/javascript/examples/bar-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/box-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/bubble-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/bubble-maps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/bullet-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/candlestick-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/carpet-contour/ + 2025-10-08 + + + https://plotly.com/javascript/examples/carpet-plot/ + 2025-10-08 + + + https://plotly.com/javascript/examples/carpet-scatter/ + 2025-10-08 + + + https://plotly.com/javascript/examples/choropleth-maps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/click-events/ + 2025-10-08 + + + https://plotly.com/javascript/examples/colorway/ + 2025-10-08 + + + https://plotly.com/javascript/examples/cone-plot/ + 2025-10-08 + + + https://plotly.com/javascript/examples/configuration-options/ + 2025-10-08 + + + https://plotly.com/javascript/examples/continuous-error-bars/ + 2025-10-08 + + + https://plotly.com/javascript/examples/contour-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/custom-buttons/ + 2025-10-08 + + + https://plotly.com/javascript/examples/disable-zoom/ + 2025-10-08 + + + https://plotly.com/javascript/examples/dot-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/dropdowns/ + 2025-10-08 + + + https://plotly.com/javascript/examples/error-bars/ + 2025-10-08 + + + https://plotly.com/javascript/examples/figure-labels/ + 2025-10-08 + + + https://plotly.com/javascript/examples/filled-area-animation/ + 2025-10-08 + + + https://plotly.com/javascript/examples/filled-area-on-map/ + 2025-10-08 + + + https://plotly.com/javascript/examples/filled-area-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/font/ + 2025-10-08 + + + https://plotly.com/javascript/examples/funnel-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/gapminder-example/ + 2025-10-08 + + + https://plotly.com/javascript/examples/gauge-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/graphing-multiple-chart-types/ + 2025-10-08 + + + https://plotly.com/javascript/examples/heatmaps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/histograms/ + 2025-10-08 + + + https://plotly.com/javascript/examples/horizontal-bar-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/horizontal-legend/ + 2025-10-08 + + + https://plotly.com/javascript/examples/hover-events/ + 2025-10-08 + + + https://plotly.com/javascript/examples/hover-text-and-formatting/ + 2025-10-08 + + + https://plotly.com/javascript/examples/images/ + 2025-10-08 + + + https://plotly.com/javascript/examples/indicator/ + 2025-10-08 + + + https://plotly.com/javascript/examples/insets/ + 2025-10-08 + + + https://plotly.com/javascript/examples/lasso-selection/ + 2025-10-08 + + + https://plotly.com/javascript/examples/layout-template/ + 2025-10-08 + + + https://plotly.com/javascript/examples/legend/ + 2025-10-08 + + + https://plotly.com/javascript/examples/line-and-scatter/ + 2025-10-08 + + + https://plotly.com/javascript/examples/line-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/lines-on-maps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/log-plot/ + 2025-10-08 + + + https://plotly.com/javascript/examples/map-animations/ + 2025-10-08 + + + https://plotly.com/javascript/examples/mixed-subplots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/multiple-axes/ + 2025-10-08 + + + https://plotly.com/javascript/examples/ohlc-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/parallel-categories-diagram/ + 2025-10-08 + + + https://plotly.com/javascript/examples/parallel-coordinates-plot/ + 2025-10-08 + + + https://plotly.com/javascript/examples/pie-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/plotlyjs-events/ + 2025-10-08 + + + https://plotly.com/javascript/examples/polar-chart/ + 2025-10-08 + + + https://plotly.com/javascript/examples/radar-chart/ + 2025-10-08 + + + https://plotly.com/javascript/examples/range-slider/ + 2025-10-08 + + + https://plotly.com/javascript/examples/react/ + 2025-10-08 + + + https://plotly.com/javascript/examples/remove-trace/ + 2025-10-08 + + + https://plotly.com/javascript/examples/responsive-fluid-layout/ + 2025-10-08 + + + https://plotly.com/javascript/examples/ribbon-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/sankey-diagram/ + 2025-10-08 + + + https://plotly.com/javascript/examples/scatter-plots-on-maps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/scatter-tile-maps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/setting-graph-size/ + 2025-10-08 + + + https://plotly.com/javascript/examples/shapes/ + 2025-10-08 + + + https://plotly.com/javascript/examples/sliders/ + 2025-10-08 + + + https://plotly.com/javascript/examples/spc-control-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/splom/ + 2025-10-08 + + + https://plotly.com/javascript/examples/streaming/ + 2025-10-08 + + + https://plotly.com/javascript/examples/streamtube-plot/ + 2025-10-08 + + + https://plotly.com/javascript/examples/subplots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/sunburst-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/table-subplots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/table/ + 2025-10-08 + + + https://plotly.com/javascript/examples/ternary-contour/ + 2025-10-08 + + + https://plotly.com/javascript/examples/ternary-plots/ + 2025-10-08 + + + https://plotly.com/javascript/examples/text-and-annotations/ + 2025-10-08 + + + https://plotly.com/javascript/examples/texttemplate/ + 2025-10-08 + + + https://plotly.com/javascript/examples/tick-formatting/ + 2025-10-08 + + + https://plotly.com/javascript/examples/tile-county-choropleth/ + 2025-10-08 + + + https://plotly.com/javascript/examples/tile-density-heatmaps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/tile-map-layers/ + 2025-10-08 + + + https://plotly.com/javascript/examples/time-series/ + 2025-10-08 + + + https://plotly.com/javascript/examples/treemaps/ + 2025-10-08 + + + https://plotly.com/javascript/examples/trisurf/ + 2025-10-08 + + + https://plotly.com/javascript/examples/uirevision/ + 2025-10-08 + + + https://plotly.com/javascript/examples/violin/ + 2025-10-08 + + + https://plotly.com/javascript/examples/waterfall-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/webgl-vs-svg/ + 2025-10-08 + + + https://plotly.com/javascript/examples/wind-rose-charts/ + 2025-10-08 + + + https://plotly.com/javascript/examples/zoom-events/ + 2025-10-08 + + + https://plotly.com/javascript/reference/SUMMARY/ + 2025-10-08 + + + https://plotly.com/javascript/reference/bar/ + 2025-10-08 + + + https://plotly.com/javascript/reference/barpolar/ + 2025-10-08 + + + https://plotly.com/javascript/reference/box/ + 2025-10-08 + + + https://plotly.com/javascript/reference/candlestick/ + 2025-10-08 + + + https://plotly.com/javascript/reference/carpet/ + 2025-10-08 + + + https://plotly.com/javascript/reference/choropleth/ + 2025-10-08 + + + https://plotly.com/javascript/reference/choroplethmap/ + 2025-10-08 + + + https://plotly.com/javascript/reference/choroplethmapbox/ + 2025-10-08 + + + https://plotly.com/javascript/reference/cone/ + 2025-10-08 + + + https://plotly.com/javascript/reference/contour/ + 2025-10-08 + + + https://plotly.com/javascript/reference/contourcarpet/ + 2025-10-08 + + + https://plotly.com/javascript/reference/densitymap/ + 2025-10-08 + + + https://plotly.com/javascript/reference/densitymapbox/ + 2025-10-08 + + + https://plotly.com/javascript/reference/funnel/ + 2025-10-08 + + + https://plotly.com/javascript/reference/funnelarea/ + 2025-10-08 + + + https://plotly.com/javascript/reference/heatmap/ + 2025-10-08 + + + https://plotly.com/javascript/reference/histogram/ + 2025-10-08 + + + https://plotly.com/javascript/reference/histogram2d/ + 2025-10-08 + + + https://plotly.com/javascript/reference/histogram2dcontour/ + 2025-10-08 + + + https://plotly.com/javascript/reference/icicle/ + 2025-10-08 + + + https://plotly.com/javascript/reference/image/ + 2025-10-08 + + + https://plotly.com/javascript/reference/indicator/ + 2025-10-08 + + + https://plotly.com/javascript/reference/isosurface/ + 2025-10-08 + + + https://plotly.com/javascript/reference/layout/ + 2025-10-08 + + + https://plotly.com/javascript/reference/mesh3d/ + 2025-10-08 + + + https://plotly.com/javascript/reference/ohlc/ + 2025-10-08 + + + https://plotly.com/javascript/reference/parcats/ + 2025-10-08 + + + https://plotly.com/javascript/reference/parcoords/ + 2025-10-08 + + + https://plotly.com/javascript/reference/pie/ + 2025-10-08 + + + https://plotly.com/javascript/reference/sankey/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scatter/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scatter3d/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scattercarpet/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scattergeo/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scattergl/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scattermap/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scattermapbox/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scatterpolar/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scatterpolargl/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scattersmith/ + 2025-10-08 + + + https://plotly.com/javascript/reference/scatterternary/ + 2025-10-08 + + + https://plotly.com/javascript/reference/splom/ + 2025-10-08 + + + https://plotly.com/javascript/reference/streamtube/ + 2025-10-08 + + + https://plotly.com/javascript/reference/sunburst/ + 2025-10-08 + + + https://plotly.com/javascript/reference/surface/ + 2025-10-08 + + + https://plotly.com/javascript/reference/table/ + 2025-10-08 + + + https://plotly.com/javascript/reference/treemap/ + 2025-10-08 + + + https://plotly.com/javascript/reference/violin/ + 2025-10-08 + + + https://plotly.com/javascript/reference/volume/ + 2025-10-08 + + + https://plotly.com/javascript/reference/waterfall/ + 2025-10-08 + + \ No newline at end of file diff --git a/docs/sitemap.xml.gz b/docs/sitemap.xml.gz new file mode 100644 index 00000000000..e13a87db573 Binary files /dev/null and b/docs/sitemap.xml.gz differ diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000000..0ef2dbbdee9 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,158 @@ +site_name: "Plotly.js Docs" +site_url: 'https://plotly.com/javascript/' +docs_dir: pages +site_dir: docs + +validation: + absolute_links: relative_to_docs + anchors: info + unrecognized_links: info + not_found: info + +plugins: + - search + - gen-files: + scripts: + - bin/generate_reference_pages.py + - literate-nav: + nav_file: SUMMARY.md + +theme: + name: "material" + custom_dir: "pages/overrides" + +markdown_extensions: + - footnotes + - pymdownx.snippets: + base_path: ["tmp"] + +extra_css: + - css/extra_css.css + - https://docs.plotly.com/css/plotly-style.css + +nav: +- Event Reference: examples/plotlyjs-events.md +- Fundamentals: + - Configuration: examples/configuration-options.md + - Responsive / Fluid Layouts: examples/responsive-fluid-layout.md + - uirevision in Plotly.react: examples/uirevision.md + - React Plotly.js: examples/react.md + - Analytical Apps with Dash: https://dash.plotly.com/ + - Colorway: examples/colorway.md + - Images: examples/images.md + - 3D Axes: examples/3d-axes.md + - 3D Hover Options: examples/3d-hover.md + - 3D Surface Lighting: examples/3d-surface-lighting.md + - Axes: examples/axes.md + - Horizontal Legends: examples/horizontal-legend.md + - Hover Text and Formatting: examples/hover-text-and-formatting.md + - Setting the Title, Legend Entries, and Axis Titles: examples/figure-labels.md + - Layout Template Examples: examples/layout-template.md + - Legends: examples/legend.md + - Setting Graph Size: examples/setting-graph-size.md + - Formatting Ticks: examples/tick-formatting.md + - Shapes: examples/shapes.md + - Text Template: examples/texttemplate.md + - Text and Annotations: examples/text-and-annotations.md + - Text and Font Styling: examples/font.md + - Multiple Axes: examples/multiple-axes.md + - Subplots: examples/subplots.md +- Basic Charts: + - Scatter Plots: examples/line-and-scatter.md + - Line Charts: examples/line-charts.md + - Bar Charts: examples/bar-charts.md + - Pie Charts: examples/pie-charts.md + - Bubble Charts: examples/bubble-charts.md + - Dot Plots: examples/dot-plots.md + - Inset Plots: examples/insets.md + - Filled Area Plots: examples/filled-area-plots.md + - Horizontal Bar Charts: examples/horizontal-bar-charts.md + - Sunburst Charts: examples/sunburst-charts.md + - Sankey Diagram: examples/sankey-diagram.md + - Treemap Charts: examples/treemaps.md + - Tables: examples/table.md + - Multiple Chart Types: examples/graphing-multiple-chart-types.md + - WebGL vs SVG: examples/webgl-vs-svg.md +- Statistical Charts: + - Error Bars: examples/error-bars.md + - Box Plots: examples/box-plots.md + - Histograms: examples/histograms.md + - Continuous Error Bars: examples/continuous-error-bars.md + - 2D Histograms: examples/2D-Histogram.md + - SPC Control Charts: examples/spc-control-charts.md + - Violin Plots: examples/violin.md + - Parallel Categories Diagram: examples/parallel-categories-diagram.md + - Scatterplot Matrix: examples/splom.md + - 2D Histogram Contour: examples/2d-histogram-contour.md +- Scientific Charts: + - Contour Plots: examples/contour-plots.md + - Heatmaps: examples/heatmaps.md + - Ternary Plots: examples/ternary-plots.md + - Parallel Coordinates Plot: examples/parallel-coordinates-plot.md + - Log Plots: examples/log-plot.md + - Wind Rose and Polar Bar Charts: examples/wind-rose-charts.md + - Ternary contours: examples/ternary-contour.md + - Radar Charts: examples/radar-chart.md + - Carpet Plots: examples/carpet-plot.md + - Carpet Scatter Plot: examples/carpet-scatter.md + - Carpet Contour Plot: examples/carpet-contour.md + - Polar Charts: examples/polar-chart.md +- Financial Charts: + - Waterfall Charts: examples/waterfall-charts.md + - Indicators: examples/indicator.md + - Candlestick Charts: examples/candlestick-charts.md + - Funnel Chart: examples/funnel-charts.md + - Time Series and Date Axes: examples/time-series.md + - OHLC Charts: examples/ohlc-charts.md + - Gauge Charts: examples/gauge-charts.md + - Bullet Charts: examples/bullet-charts.md +- Maps: + - Tile Map Layers: examples/tile-map-layers.md + - Tile Density Heatmap: examples/tile-density-heatmaps.md + - Tile Choropleth Maps: examples/tile-county-choropleth.md + - Lines on Maps: examples/lines-on-maps.md + - Bubble Maps: examples/bubble-maps.md + - Scatter Plots on Maps: examples/scatter-plots-on-maps.md + - Scatter Plots on Tile Maps: examples/scatter-tile-maps.md + - Choropleth Maps: examples/choropleth-maps.md + - Filled Area on Tile Maps: examples/filled-area-on-map.md +- 3D Charts: + - 3D Scatter Plots: examples/3d-scatter-plots.md + - Ribbon Plots: examples/ribbon-plots.md + - 3D Surface Plots: examples/3d-surface-plots.md + - 3D Mesh Plots: examples/3d-mesh.md + - 3D Line Plots: examples/3d-line-plots.md + - Trisurf Plots: examples/trisurf.md + - 3D Cluster Graph: examples/3d-point-clustering.md + - 3D Cone Plots: examples/cone-plot.md + - 3D Streamtube Plots: examples/streamtube-plot.md + - 3D Isosurface Plots: examples/3d-isosurface-plots.md + - 3D Subplots: examples/3d-subplots.md +- Multiple Axes: + - Mixed Subplots: examples/mixed-subplots.md + - Table and Chart Subplots: examples/table-subplots.md +- Chart Events: + - Click Events: examples/click-events.md + - Hover Events: examples/hover-events.md + - Zoom Events: examples/zoom-events.md + - Disable Zoom Events: examples/disable-zoom.md +- Animations: + - Intro to Animations: examples/animations.md + - Adding Sliders to Animations: examples/gapminder-example.md + - Filled-Area Animation: examples/filled-area-animation.md + - Map Animation: examples/map-animations.md +- Advanced Options: + - Plot CSV Data from an Ajax Call: examples/ajax-call.md + - Streaming: examples/streaming.md + - Remove Trace from Plot: examples/remove-trace.md + - LaTeX: examples/LaTeX.md +- Controls: + - Dropdown Menus: examples/dropdowns.md + - Custom Buttons: examples/custom-buttons.md + - Sliders: examples/sliders.md + - Lasso Selection: examples/lasso-selection.md + - Range Slider and Selector: examples/range-slider.md +- API Reference: reference/ + +extra: + js-version: "3.2.1" \ No newline at end of file diff --git a/pages/css/extra_css.css b/pages/css/extra_css.css new file mode 100644 index 00000000000..7f98d728986 --- /dev/null +++ b/pages/css/extra_css.css @@ -0,0 +1,24 @@ +.md-nav--primary { + position: relative; + display: flex; + flex-direction: column; +} + +.nav-bottom-image{ + position: sticky; + bottom: 0; + z-index: 10; + background: var(--md-default-bg-color); + padding: 30px 25px 0px 25px; + height: 12.1rem; +} + +.nav-bottom-image img{ + height: auto !important; + width: 100%; + object-fit: contain; +} + +.nav-bottom-image a::after { + content: none !important; +} \ No newline at end of file diff --git a/pages/examples/2D-Histogram.md b/pages/examples/2D-Histogram.md new file mode 100644 index 00000000000..2e94bea5d2e --- /dev/null +++ b/pages/examples/2D-Histogram.md @@ -0,0 +1,2 @@ +# 2D-Histogram +--8<-- "javascript/2D-Histogram/index.html" diff --git a/pages/examples/2d-histogram-contour.md b/pages/examples/2d-histogram-contour.md new file mode 100644 index 00000000000..89c7b49f767 --- /dev/null +++ b/pages/examples/2d-histogram-contour.md @@ -0,0 +1,2 @@ +# 2d-histogram-contour +--8<-- "javascript/2d-histogram-contour/index.html" diff --git a/pages/examples/3d-axes.md b/pages/examples/3d-axes.md new file mode 100644 index 00000000000..696284570ef --- /dev/null +++ b/pages/examples/3d-axes.md @@ -0,0 +1,2 @@ +# 3d-axes +--8<-- "javascript/3d-axes/index.html" diff --git a/pages/examples/3d-hover.md b/pages/examples/3d-hover.md new file mode 100644 index 00000000000..4b63bd6d861 --- /dev/null +++ b/pages/examples/3d-hover.md @@ -0,0 +1,2 @@ +# 3d-hover +--8<-- "javascript/3d-hover/index.html" diff --git a/pages/examples/3d-isosurface-plots.md b/pages/examples/3d-isosurface-plots.md new file mode 100644 index 00000000000..85ff502fef4 --- /dev/null +++ b/pages/examples/3d-isosurface-plots.md @@ -0,0 +1,2 @@ +# 3d-isosurface-plots +--8<-- "javascript/3d-isosurface-plots/index.html" diff --git a/pages/examples/3d-line-plots.md b/pages/examples/3d-line-plots.md new file mode 100644 index 00000000000..33f19a49385 --- /dev/null +++ b/pages/examples/3d-line-plots.md @@ -0,0 +1,2 @@ +# 3d-line-plots +--8<-- "javascript/3d-line-plots/index.html" diff --git a/pages/examples/3d-mesh.md b/pages/examples/3d-mesh.md new file mode 100644 index 00000000000..cb319c9ad88 --- /dev/null +++ b/pages/examples/3d-mesh.md @@ -0,0 +1,2 @@ +# 3d-mesh +--8<-- "javascript/3d-mesh/index.html" diff --git a/pages/examples/3d-point-clustering.md b/pages/examples/3d-point-clustering.md new file mode 100644 index 00000000000..820353d11ff --- /dev/null +++ b/pages/examples/3d-point-clustering.md @@ -0,0 +1,2 @@ +# 3d-point-clustering +--8<-- "javascript/3d-point-clustering/index.html" diff --git a/pages/examples/3d-scatter-plots.md b/pages/examples/3d-scatter-plots.md new file mode 100644 index 00000000000..d1be8c0a047 --- /dev/null +++ b/pages/examples/3d-scatter-plots.md @@ -0,0 +1,2 @@ +# 3d-scatter-plots +--8<-- "javascript/3d-scatter-plots/index.html" diff --git a/pages/examples/3d-subplots.md b/pages/examples/3d-subplots.md new file mode 100644 index 00000000000..08e65a0384c --- /dev/null +++ b/pages/examples/3d-subplots.md @@ -0,0 +1,2 @@ +# 3d-subplots +--8<-- "javascript/3d-subplots/index.html" diff --git a/pages/examples/3d-surface-lighting.md b/pages/examples/3d-surface-lighting.md new file mode 100644 index 00000000000..1717d8bb9f5 --- /dev/null +++ b/pages/examples/3d-surface-lighting.md @@ -0,0 +1,2 @@ +# 3d-surface-lighting +--8<-- "javascript/3d-surface-lighting/index.html" diff --git a/pages/examples/3d-surface-plots.md b/pages/examples/3d-surface-plots.md new file mode 100644 index 00000000000..bb155b3f6ee --- /dev/null +++ b/pages/examples/3d-surface-plots.md @@ -0,0 +1,2 @@ +# 3d-surface-plots +--8<-- "javascript/3d-surface-plots/index.html" diff --git a/pages/examples/LaTeX.md b/pages/examples/LaTeX.md new file mode 100644 index 00000000000..489616aa37a --- /dev/null +++ b/pages/examples/LaTeX.md @@ -0,0 +1,2 @@ +# LaTeX +--8<-- "javascript/LaTeX/index.html" diff --git a/pages/examples/ajax-call.md b/pages/examples/ajax-call.md new file mode 100644 index 00000000000..f6bcb9896bc --- /dev/null +++ b/pages/examples/ajax-call.md @@ -0,0 +1,2 @@ +# ajax-call +--8<-- "javascript/ajax-call/index.html" diff --git a/pages/examples/animations.md b/pages/examples/animations.md new file mode 100644 index 00000000000..4fdf3d1cd4a --- /dev/null +++ b/pages/examples/animations.md @@ -0,0 +1,2 @@ +# animations +--8<-- "javascript/animations/index.html" diff --git a/pages/examples/axes.md b/pages/examples/axes.md new file mode 100644 index 00000000000..27bf98abaa1 --- /dev/null +++ b/pages/examples/axes.md @@ -0,0 +1,2 @@ +# axes +--8<-- "javascript/axes/index.html" diff --git a/pages/examples/bar-charts.md b/pages/examples/bar-charts.md new file mode 100644 index 00000000000..210ad5fbdbd --- /dev/null +++ b/pages/examples/bar-charts.md @@ -0,0 +1,2 @@ +# bar-charts +--8<-- "javascript/bar-charts/index.html" diff --git a/pages/examples/box-plots.md b/pages/examples/box-plots.md new file mode 100644 index 00000000000..c955009824c --- /dev/null +++ b/pages/examples/box-plots.md @@ -0,0 +1,2 @@ +# box-plots +--8<-- "javascript/box-plots/index.html" diff --git a/pages/examples/bubble-charts.md b/pages/examples/bubble-charts.md new file mode 100644 index 00000000000..c6a2e3c1a40 --- /dev/null +++ b/pages/examples/bubble-charts.md @@ -0,0 +1,2 @@ +# bubble-charts +--8<-- "javascript/bubble-charts/index.html" diff --git a/pages/examples/bubble-maps.md b/pages/examples/bubble-maps.md new file mode 100644 index 00000000000..8f1c9b74f52 --- /dev/null +++ b/pages/examples/bubble-maps.md @@ -0,0 +1,2 @@ +# bubble-maps +--8<-- "javascript/bubble-maps/index.html" diff --git a/pages/examples/bullet-charts.md b/pages/examples/bullet-charts.md new file mode 100644 index 00000000000..f9f46408b50 --- /dev/null +++ b/pages/examples/bullet-charts.md @@ -0,0 +1,2 @@ +# bullet-charts +--8<-- "javascript/bullet-charts/index.html" diff --git a/pages/examples/candlestick-charts.md b/pages/examples/candlestick-charts.md new file mode 100644 index 00000000000..e7f787ab541 --- /dev/null +++ b/pages/examples/candlestick-charts.md @@ -0,0 +1,2 @@ +# candlestick-charts +--8<-- "javascript/candlestick-charts/index.html" diff --git a/pages/examples/carpet-contour.md b/pages/examples/carpet-contour.md new file mode 100644 index 00000000000..6bd4137c605 --- /dev/null +++ b/pages/examples/carpet-contour.md @@ -0,0 +1,2 @@ +# carpet-contour +--8<-- "javascript/carpet-contour/index.html" diff --git a/pages/examples/carpet-plot.md b/pages/examples/carpet-plot.md new file mode 100644 index 00000000000..baf3e72f913 --- /dev/null +++ b/pages/examples/carpet-plot.md @@ -0,0 +1,2 @@ +# carpet-plot +--8<-- "javascript/carpet-plot/index.html" diff --git a/pages/examples/carpet-scatter.md b/pages/examples/carpet-scatter.md new file mode 100644 index 00000000000..728efd792a6 --- /dev/null +++ b/pages/examples/carpet-scatter.md @@ -0,0 +1,2 @@ +# carpet-scatter +--8<-- "javascript/carpet-scatter/index.html" diff --git a/pages/examples/choropleth-maps.md b/pages/examples/choropleth-maps.md new file mode 100644 index 00000000000..c968090de1b --- /dev/null +++ b/pages/examples/choropleth-maps.md @@ -0,0 +1,2 @@ +# choropleth-maps +--8<-- "javascript/choropleth-maps/index.html" diff --git a/pages/examples/click-events.md b/pages/examples/click-events.md new file mode 100644 index 00000000000..7c9d2cebe4b --- /dev/null +++ b/pages/examples/click-events.md @@ -0,0 +1,2 @@ +# click-events +--8<-- "javascript/click-events/index.html" diff --git a/pages/examples/colorway.md b/pages/examples/colorway.md new file mode 100644 index 00000000000..fafb314ec85 --- /dev/null +++ b/pages/examples/colorway.md @@ -0,0 +1,2 @@ +# colorway +--8<-- "javascript/colorway/index.html" diff --git a/pages/examples/cone-plot.md b/pages/examples/cone-plot.md new file mode 100644 index 00000000000..021f59e636f --- /dev/null +++ b/pages/examples/cone-plot.md @@ -0,0 +1,2 @@ +# cone-plot +--8<-- "javascript/cone-plot/index.html" diff --git a/pages/examples/configuration-options.md b/pages/examples/configuration-options.md new file mode 100644 index 00000000000..87b30382ad7 --- /dev/null +++ b/pages/examples/configuration-options.md @@ -0,0 +1,2 @@ +# configuration-options +--8<-- "javascript/configuration-options/index.html" diff --git a/pages/examples/continuous-error-bars.md b/pages/examples/continuous-error-bars.md new file mode 100644 index 00000000000..fda27338b5f --- /dev/null +++ b/pages/examples/continuous-error-bars.md @@ -0,0 +1,2 @@ +# continuous-error-bars +--8<-- "javascript/continuous-error-bars/index.html" diff --git a/pages/examples/contour-plots.md b/pages/examples/contour-plots.md new file mode 100644 index 00000000000..81a073b29ff --- /dev/null +++ b/pages/examples/contour-plots.md @@ -0,0 +1,2 @@ +# contour-plots +--8<-- "javascript/contour-plots/index.html" diff --git a/pages/examples/custom-buttons.md b/pages/examples/custom-buttons.md new file mode 100644 index 00000000000..30e2e3a3975 --- /dev/null +++ b/pages/examples/custom-buttons.md @@ -0,0 +1,2 @@ +# custom-buttons +--8<-- "javascript/custom-buttons/index.html" diff --git a/pages/examples/disable-zoom.md b/pages/examples/disable-zoom.md new file mode 100644 index 00000000000..14e76cfdee2 --- /dev/null +++ b/pages/examples/disable-zoom.md @@ -0,0 +1,2 @@ +# disable-zoom +--8<-- "javascript/disable-zoom/index.html" diff --git a/pages/examples/dot-plots.md b/pages/examples/dot-plots.md new file mode 100644 index 00000000000..2452abf34c4 --- /dev/null +++ b/pages/examples/dot-plots.md @@ -0,0 +1,2 @@ +# dot-plots +--8<-- "javascript/dot-plots/index.html" diff --git a/pages/examples/dropdowns.md b/pages/examples/dropdowns.md new file mode 100644 index 00000000000..d0a7769c551 --- /dev/null +++ b/pages/examples/dropdowns.md @@ -0,0 +1,2 @@ +# dropdowns +--8<-- "javascript/dropdowns/index.html" diff --git a/pages/examples/error-bars.md b/pages/examples/error-bars.md new file mode 100644 index 00000000000..0eead5ed744 --- /dev/null +++ b/pages/examples/error-bars.md @@ -0,0 +1,2 @@ +# error-bars +--8<-- "javascript/error-bars/index.html" diff --git a/pages/examples/figure-labels.md b/pages/examples/figure-labels.md new file mode 100644 index 00000000000..50ed3fda362 --- /dev/null +++ b/pages/examples/figure-labels.md @@ -0,0 +1,2 @@ +# figure-labels +--8<-- "javascript/figure-labels/index.html" diff --git a/pages/examples/filled-area-animation.md b/pages/examples/filled-area-animation.md new file mode 100644 index 00000000000..f5d686436dc --- /dev/null +++ b/pages/examples/filled-area-animation.md @@ -0,0 +1,2 @@ +# filled-area-animation +--8<-- "javascript/filled-area-animation/index.html" diff --git a/pages/examples/filled-area-on-map.md b/pages/examples/filled-area-on-map.md new file mode 100644 index 00000000000..9ca33a82d61 --- /dev/null +++ b/pages/examples/filled-area-on-map.md @@ -0,0 +1,2 @@ +# filled-area-on-map +--8<-- "javascript/filled-area-on-map/index.html" diff --git a/pages/examples/filled-area-plots.md b/pages/examples/filled-area-plots.md new file mode 100644 index 00000000000..68fc1889596 --- /dev/null +++ b/pages/examples/filled-area-plots.md @@ -0,0 +1,2 @@ +# filled-area-plots +--8<-- "javascript/filled-area-plots/index.html" diff --git a/pages/examples/font.md b/pages/examples/font.md new file mode 100644 index 00000000000..b1ddeb886f9 --- /dev/null +++ b/pages/examples/font.md @@ -0,0 +1,2 @@ +# font +--8<-- "javascript/font/index.html" diff --git a/pages/examples/funnel-charts.md b/pages/examples/funnel-charts.md new file mode 100644 index 00000000000..aaf56871953 --- /dev/null +++ b/pages/examples/funnel-charts.md @@ -0,0 +1,2 @@ +# funnel-charts +--8<-- "javascript/funnel-charts/index.html" diff --git a/pages/examples/gapminder-example.md b/pages/examples/gapminder-example.md new file mode 100644 index 00000000000..27584f3f277 --- /dev/null +++ b/pages/examples/gapminder-example.md @@ -0,0 +1,2 @@ +# gapminder-example +--8<-- "javascript/gapminder-example/index.html" diff --git a/pages/examples/gauge-charts.md b/pages/examples/gauge-charts.md new file mode 100644 index 00000000000..616740ce15e --- /dev/null +++ b/pages/examples/gauge-charts.md @@ -0,0 +1,2 @@ +# gauge-charts +--8<-- "javascript/gauge-charts/index.html" diff --git a/pages/examples/graphing-multiple-chart-types.md b/pages/examples/graphing-multiple-chart-types.md new file mode 100644 index 00000000000..4bdb0b4f565 --- /dev/null +++ b/pages/examples/graphing-multiple-chart-types.md @@ -0,0 +1,2 @@ +# graphing-multiple-chart-types +--8<-- "javascript/graphing-multiple-chart-types/index.html" diff --git a/pages/examples/heatmaps.md b/pages/examples/heatmaps.md new file mode 100644 index 00000000000..55b63c01ff2 --- /dev/null +++ b/pages/examples/heatmaps.md @@ -0,0 +1,2 @@ +# heatmaps +--8<-- "javascript/heatmaps/index.html" diff --git a/pages/examples/histograms.md b/pages/examples/histograms.md new file mode 100644 index 00000000000..7fe04dbe932 --- /dev/null +++ b/pages/examples/histograms.md @@ -0,0 +1,2 @@ +# histograms +--8<-- "javascript/histograms/index.html" diff --git a/pages/examples/horizontal-bar-charts.md b/pages/examples/horizontal-bar-charts.md new file mode 100644 index 00000000000..d1e39744e62 --- /dev/null +++ b/pages/examples/horizontal-bar-charts.md @@ -0,0 +1,2 @@ +# horizontal-bar-charts +--8<-- "javascript/horizontal-bar-charts/index.html" diff --git a/pages/examples/horizontal-legend.md b/pages/examples/horizontal-legend.md new file mode 100644 index 00000000000..cdd72305755 --- /dev/null +++ b/pages/examples/horizontal-legend.md @@ -0,0 +1,2 @@ +# horizontal-legend +--8<-- "javascript/horizontal-legend/index.html" diff --git a/pages/examples/hover-events.md b/pages/examples/hover-events.md new file mode 100644 index 00000000000..22a9f641224 --- /dev/null +++ b/pages/examples/hover-events.md @@ -0,0 +1,2 @@ +# hover-events +--8<-- "javascript/hover-events/index.html" diff --git a/pages/examples/hover-text-and-formatting.md b/pages/examples/hover-text-and-formatting.md new file mode 100644 index 00000000000..0fad668fdc2 --- /dev/null +++ b/pages/examples/hover-text-and-formatting.md @@ -0,0 +1,2 @@ +# hover-text-and-formatting +--8<-- "javascript/hover-text-and-formatting/index.html" diff --git a/pages/examples/images.md b/pages/examples/images.md new file mode 100644 index 00000000000..2bc1094851f --- /dev/null +++ b/pages/examples/images.md @@ -0,0 +1,2 @@ +# images +--8<-- "javascript/images/index.html" diff --git a/pages/examples/indicator.md b/pages/examples/indicator.md new file mode 100644 index 00000000000..9202cbdccde --- /dev/null +++ b/pages/examples/indicator.md @@ -0,0 +1,2 @@ +# indicator +--8<-- "javascript/indicator/index.html" diff --git a/pages/examples/insets.md b/pages/examples/insets.md new file mode 100644 index 00000000000..311cd4e7819 --- /dev/null +++ b/pages/examples/insets.md @@ -0,0 +1,2 @@ +# insets +--8<-- "javascript/insets/index.html" diff --git a/pages/examples/lasso-selection.md b/pages/examples/lasso-selection.md new file mode 100644 index 00000000000..422db9d6d54 --- /dev/null +++ b/pages/examples/lasso-selection.md @@ -0,0 +1,2 @@ +# lasso-selection +--8<-- "javascript/lasso-selection/index.html" diff --git a/pages/examples/layout-template.md b/pages/examples/layout-template.md new file mode 100644 index 00000000000..a7577c42851 --- /dev/null +++ b/pages/examples/layout-template.md @@ -0,0 +1,2 @@ +# layout-template +--8<-- "javascript/layout-template/index.html" diff --git a/pages/examples/legend.md b/pages/examples/legend.md new file mode 100644 index 00000000000..1b8280aa0e9 --- /dev/null +++ b/pages/examples/legend.md @@ -0,0 +1,2 @@ +# legend +--8<-- "javascript/legend/index.html" diff --git a/pages/examples/line-and-scatter.md b/pages/examples/line-and-scatter.md new file mode 100644 index 00000000000..b5403596926 --- /dev/null +++ b/pages/examples/line-and-scatter.md @@ -0,0 +1,2 @@ +# line-and-scatter +--8<-- "javascript/line-and-scatter/index.html" diff --git a/pages/examples/line-charts.md b/pages/examples/line-charts.md new file mode 100644 index 00000000000..4d8177c044d --- /dev/null +++ b/pages/examples/line-charts.md @@ -0,0 +1,2 @@ +# line-charts +--8<-- "javascript/line-charts/index.html" diff --git a/pages/examples/lines-on-maps.md b/pages/examples/lines-on-maps.md new file mode 100644 index 00000000000..d3dd1d08cf5 --- /dev/null +++ b/pages/examples/lines-on-maps.md @@ -0,0 +1,2 @@ +# lines-on-maps +--8<-- "javascript/lines-on-maps/index.html" diff --git a/pages/examples/log-plot.md b/pages/examples/log-plot.md new file mode 100644 index 00000000000..145e7f25a56 --- /dev/null +++ b/pages/examples/log-plot.md @@ -0,0 +1,2 @@ +# log-plot +--8<-- "javascript/log-plot/index.html" diff --git a/pages/examples/map-animations.md b/pages/examples/map-animations.md new file mode 100644 index 00000000000..9f0a64d17c3 --- /dev/null +++ b/pages/examples/map-animations.md @@ -0,0 +1,2 @@ +# map-animations +--8<-- "javascript/map-animations/index.html" diff --git a/pages/examples/mixed-subplots.md b/pages/examples/mixed-subplots.md new file mode 100644 index 00000000000..e442ae238f6 --- /dev/null +++ b/pages/examples/mixed-subplots.md @@ -0,0 +1,2 @@ +# mixed-subplots +--8<-- "javascript/mixed-subplots/index.html" diff --git a/pages/examples/multiple-axes.md b/pages/examples/multiple-axes.md new file mode 100644 index 00000000000..40c7e546e6c --- /dev/null +++ b/pages/examples/multiple-axes.md @@ -0,0 +1,2 @@ +# multiple-axes +--8<-- "javascript/multiple-axes/index.html" diff --git a/pages/examples/ohlc-charts.md b/pages/examples/ohlc-charts.md new file mode 100644 index 00000000000..61aed0445e5 --- /dev/null +++ b/pages/examples/ohlc-charts.md @@ -0,0 +1,2 @@ +# ohlc-charts +--8<-- "javascript/ohlc-charts/index.html" diff --git a/pages/examples/parallel-categories-diagram.md b/pages/examples/parallel-categories-diagram.md new file mode 100644 index 00000000000..02bb6a62ade --- /dev/null +++ b/pages/examples/parallel-categories-diagram.md @@ -0,0 +1,2 @@ +# parallel-categories-diagram +--8<-- "javascript/parallel-categories-diagram/index.html" diff --git a/pages/examples/parallel-coordinates-plot.md b/pages/examples/parallel-coordinates-plot.md new file mode 100644 index 00000000000..7831f749cb6 --- /dev/null +++ b/pages/examples/parallel-coordinates-plot.md @@ -0,0 +1,2 @@ +# parallel-coordinates-plot +--8<-- "javascript/parallel-coordinates-plot/index.html" diff --git a/pages/examples/pie-charts.md b/pages/examples/pie-charts.md new file mode 100644 index 00000000000..2849d77f121 --- /dev/null +++ b/pages/examples/pie-charts.md @@ -0,0 +1,2 @@ +# pie-charts +--8<-- "javascript/pie-charts/index.html" diff --git a/pages/examples/plotlyjs-events.md b/pages/examples/plotlyjs-events.md new file mode 100644 index 00000000000..a7d2996b7c2 --- /dev/null +++ b/pages/examples/plotlyjs-events.md @@ -0,0 +1,2 @@ +# plotlyjs-events +--8<-- "javascript/plotlyjs-events/index.html" diff --git a/pages/examples/polar-chart.md b/pages/examples/polar-chart.md new file mode 100644 index 00000000000..35c2f2bb303 --- /dev/null +++ b/pages/examples/polar-chart.md @@ -0,0 +1,2 @@ +# polar-chart +--8<-- "javascript/polar-chart/index.html" diff --git a/pages/examples/radar-chart.md b/pages/examples/radar-chart.md new file mode 100644 index 00000000000..feb3c0e40b8 --- /dev/null +++ b/pages/examples/radar-chart.md @@ -0,0 +1,2 @@ +# radar-chart +--8<-- "javascript/radar-chart/index.html" diff --git a/pages/examples/range-slider.md b/pages/examples/range-slider.md new file mode 100644 index 00000000000..312404f508e --- /dev/null +++ b/pages/examples/range-slider.md @@ -0,0 +1,2 @@ +# range-slider +--8<-- "javascript/range-slider/index.html" diff --git a/pages/examples/react.md b/pages/examples/react.md new file mode 100644 index 00000000000..5892d8bdd3a --- /dev/null +++ b/pages/examples/react.md @@ -0,0 +1,2 @@ +# react +--8<-- "javascript/react/index.html" diff --git a/pages/examples/remove-trace.md b/pages/examples/remove-trace.md new file mode 100644 index 00000000000..b521a7e7ae5 --- /dev/null +++ b/pages/examples/remove-trace.md @@ -0,0 +1,2 @@ +# remove-trace +--8<-- "javascript/remove-trace/index.html" diff --git a/pages/examples/responsive-fluid-layout.md b/pages/examples/responsive-fluid-layout.md new file mode 100644 index 00000000000..f74f78fc945 --- /dev/null +++ b/pages/examples/responsive-fluid-layout.md @@ -0,0 +1,2 @@ +# responsive-fluid-layout +--8<-- "javascript/responsive-fluid-layout/index.html" diff --git a/pages/examples/ribbon-plots.md b/pages/examples/ribbon-plots.md new file mode 100644 index 00000000000..4ffb9b009d7 --- /dev/null +++ b/pages/examples/ribbon-plots.md @@ -0,0 +1,2 @@ +# ribbon-plots +--8<-- "javascript/ribbon-plots/index.html" diff --git a/pages/examples/sankey-diagram.md b/pages/examples/sankey-diagram.md new file mode 100644 index 00000000000..3978de3b391 --- /dev/null +++ b/pages/examples/sankey-diagram.md @@ -0,0 +1,2 @@ +# sankey-diagram +--8<-- "javascript/sankey-diagram/index.html" diff --git a/pages/examples/scatter-plots-on-maps.md b/pages/examples/scatter-plots-on-maps.md new file mode 100644 index 00000000000..1edd6c82a3d --- /dev/null +++ b/pages/examples/scatter-plots-on-maps.md @@ -0,0 +1,2 @@ +# scatter-plots-on-maps +--8<-- "javascript/scatter-plots-on-maps/index.html" diff --git a/pages/examples/scatter-tile-maps.md b/pages/examples/scatter-tile-maps.md new file mode 100644 index 00000000000..847c7dc25a4 --- /dev/null +++ b/pages/examples/scatter-tile-maps.md @@ -0,0 +1,2 @@ +# scatter-tile-maps +--8<-- "javascript/scatter-tile-maps/index.html" diff --git a/pages/examples/setting-graph-size.md b/pages/examples/setting-graph-size.md new file mode 100644 index 00000000000..b434f0b4407 --- /dev/null +++ b/pages/examples/setting-graph-size.md @@ -0,0 +1,2 @@ +# setting-graph-size +--8<-- "javascript/setting-graph-size/index.html" diff --git a/pages/examples/shapes.md b/pages/examples/shapes.md new file mode 100644 index 00000000000..7dfd5d68cb9 --- /dev/null +++ b/pages/examples/shapes.md @@ -0,0 +1,2 @@ +# shapes +--8<-- "javascript/shapes/index.html" diff --git a/pages/examples/sliders.md b/pages/examples/sliders.md new file mode 100644 index 00000000000..a588abcfc8c --- /dev/null +++ b/pages/examples/sliders.md @@ -0,0 +1,2 @@ +# sliders +--8<-- "javascript/sliders/index.html" diff --git a/pages/examples/spc-control-charts.md b/pages/examples/spc-control-charts.md new file mode 100644 index 00000000000..e93a0a75561 --- /dev/null +++ b/pages/examples/spc-control-charts.md @@ -0,0 +1,2 @@ +# spc-control-charts +--8<-- "javascript/spc-control-charts/index.html" diff --git a/pages/examples/splom.md b/pages/examples/splom.md new file mode 100644 index 00000000000..e7ef2d09aee --- /dev/null +++ b/pages/examples/splom.md @@ -0,0 +1,2 @@ +# splom +--8<-- "javascript/splom/index.html" diff --git a/pages/examples/streaming.md b/pages/examples/streaming.md new file mode 100644 index 00000000000..ca2f1b8d80b --- /dev/null +++ b/pages/examples/streaming.md @@ -0,0 +1,2 @@ +# streaming +--8<-- "javascript/streaming/index.html" diff --git a/pages/examples/streamtube-plot.md b/pages/examples/streamtube-plot.md new file mode 100644 index 00000000000..f613a0e949a --- /dev/null +++ b/pages/examples/streamtube-plot.md @@ -0,0 +1,2 @@ +# streamtube-plot +--8<-- "javascript/streamtube-plot/index.html" diff --git a/pages/examples/subplots.md b/pages/examples/subplots.md new file mode 100644 index 00000000000..06a42f6ce9a --- /dev/null +++ b/pages/examples/subplots.md @@ -0,0 +1,2 @@ +# subplots +--8<-- "javascript/subplots/index.html" diff --git a/pages/examples/sunburst-charts.md b/pages/examples/sunburst-charts.md new file mode 100644 index 00000000000..37d6ca97ee0 --- /dev/null +++ b/pages/examples/sunburst-charts.md @@ -0,0 +1,2 @@ +# sunburst-charts +--8<-- "javascript/sunburst-charts/index.html" diff --git a/pages/examples/table-subplots.md b/pages/examples/table-subplots.md new file mode 100644 index 00000000000..07a704f2410 --- /dev/null +++ b/pages/examples/table-subplots.md @@ -0,0 +1,2 @@ +# table-subplots +--8<-- "javascript/table-subplots/index.html" diff --git a/pages/examples/table.md b/pages/examples/table.md new file mode 100644 index 00000000000..09834f8b82d --- /dev/null +++ b/pages/examples/table.md @@ -0,0 +1,2 @@ +# table +--8<-- "javascript/table/index.html" diff --git a/pages/examples/ternary-contour.md b/pages/examples/ternary-contour.md new file mode 100644 index 00000000000..93150f07083 --- /dev/null +++ b/pages/examples/ternary-contour.md @@ -0,0 +1,2 @@ +# ternary-contour +--8<-- "javascript/ternary-contour/index.html" diff --git a/pages/examples/ternary-plots.md b/pages/examples/ternary-plots.md new file mode 100644 index 00000000000..c7066eeed41 --- /dev/null +++ b/pages/examples/ternary-plots.md @@ -0,0 +1,2 @@ +# ternary-plots +--8<-- "javascript/ternary-plots/index.html" diff --git a/pages/examples/text-and-annotations.md b/pages/examples/text-and-annotations.md new file mode 100644 index 00000000000..af0e15846ef --- /dev/null +++ b/pages/examples/text-and-annotations.md @@ -0,0 +1,2 @@ +# text-and-annotations +--8<-- "javascript/text-and-annotations/index.html" diff --git a/pages/examples/texttemplate.md b/pages/examples/texttemplate.md new file mode 100644 index 00000000000..6a844a548a1 --- /dev/null +++ b/pages/examples/texttemplate.md @@ -0,0 +1,2 @@ +# texttemplate +--8<-- "javascript/texttemplate/index.html" diff --git a/pages/examples/tick-formatting.md b/pages/examples/tick-formatting.md new file mode 100644 index 00000000000..11923831bc2 --- /dev/null +++ b/pages/examples/tick-formatting.md @@ -0,0 +1,2 @@ +# tick-formatting +--8<-- "javascript/tick-formatting/index.html" diff --git a/pages/examples/tile-county-choropleth.md b/pages/examples/tile-county-choropleth.md new file mode 100644 index 00000000000..95b73968084 --- /dev/null +++ b/pages/examples/tile-county-choropleth.md @@ -0,0 +1,2 @@ +# tile-county-choropleth +--8<-- "javascript/tile-county-choropleth/index.html" diff --git a/pages/examples/tile-density-heatmaps.md b/pages/examples/tile-density-heatmaps.md new file mode 100644 index 00000000000..77d2ade9177 --- /dev/null +++ b/pages/examples/tile-density-heatmaps.md @@ -0,0 +1,2 @@ +# tile-density-heatmaps +--8<-- "javascript/tile-density-heatmaps/index.html" diff --git a/pages/examples/tile-map-layers.md b/pages/examples/tile-map-layers.md new file mode 100644 index 00000000000..703b30f8419 --- /dev/null +++ b/pages/examples/tile-map-layers.md @@ -0,0 +1,2 @@ +# tile-map-layers +--8<-- "javascript/tile-map-layers/index.html" diff --git a/pages/examples/time-series.md b/pages/examples/time-series.md new file mode 100644 index 00000000000..6aa83e6fa00 --- /dev/null +++ b/pages/examples/time-series.md @@ -0,0 +1,2 @@ +# time-series +--8<-- "javascript/time-series/index.html" diff --git a/pages/examples/treemaps.md b/pages/examples/treemaps.md new file mode 100644 index 00000000000..8fd89e14bd1 --- /dev/null +++ b/pages/examples/treemaps.md @@ -0,0 +1,2 @@ +# treemaps +--8<-- "javascript/treemaps/index.html" diff --git a/pages/examples/trisurf.md b/pages/examples/trisurf.md new file mode 100644 index 00000000000..c8d1967c89d --- /dev/null +++ b/pages/examples/trisurf.md @@ -0,0 +1,2 @@ +# trisurf +--8<-- "javascript/trisurf/index.html" diff --git a/pages/examples/uirevision.md b/pages/examples/uirevision.md new file mode 100644 index 00000000000..c26ece8d859 --- /dev/null +++ b/pages/examples/uirevision.md @@ -0,0 +1,2 @@ +# uirevision +--8<-- "javascript/uirevision/index.html" diff --git a/pages/examples/violin.md b/pages/examples/violin.md new file mode 100644 index 00000000000..4d4d5343f5c --- /dev/null +++ b/pages/examples/violin.md @@ -0,0 +1,2 @@ +# violin +--8<-- "javascript/violin/index.html" diff --git a/pages/examples/waterfall-charts.md b/pages/examples/waterfall-charts.md new file mode 100644 index 00000000000..b044ed66a61 --- /dev/null +++ b/pages/examples/waterfall-charts.md @@ -0,0 +1,2 @@ +# waterfall-charts +--8<-- "javascript/waterfall-charts/index.html" diff --git a/pages/examples/webgl-vs-svg.md b/pages/examples/webgl-vs-svg.md new file mode 100644 index 00000000000..d1d91ca138a --- /dev/null +++ b/pages/examples/webgl-vs-svg.md @@ -0,0 +1,2 @@ +# webgl-vs-svg +--8<-- "javascript/webgl-vs-svg/index.html" diff --git a/pages/examples/wind-rose-charts.md b/pages/examples/wind-rose-charts.md new file mode 100644 index 00000000000..749bb75e67b --- /dev/null +++ b/pages/examples/wind-rose-charts.md @@ -0,0 +1,2 @@ +# wind-rose-charts +--8<-- "javascript/wind-rose-charts/index.html" diff --git a/pages/examples/zoom-events.md b/pages/examples/zoom-events.md new file mode 100644 index 00000000000..479354edbcd --- /dev/null +++ b/pages/examples/zoom-events.md @@ -0,0 +1,2 @@ +# zoom-events +--8<-- "javascript/zoom-events/index.html" diff --git a/pages/overrides/main.html b/pages/overrides/main.html new file mode 100644 index 00000000000..c3b8201b9ad --- /dev/null +++ b/pages/overrides/main.html @@ -0,0 +1,48 @@ +{% extends "base.html" %} + +{% block site_nav %} + + + {% if nav %} + {% if page and page.meta and page.meta.hide %} + {% set hidden = "hidden" if "navigation" in page.meta.hide %} + {% endif %} + + {% endif %} + + + {% if not "toc.integrate" in features %} + {% if page and page.meta and page.meta.hide %} + {% set hidden = "hidden" if "toc" in page.meta.hide %} + {% endif %} + + {% endif %} +{% endblock %} \ No newline at end of file diff --git a/pages/reference/bar.md b/pages/reference/bar.md new file mode 100644 index 00000000000..c96c3b54249 --- /dev/null +++ b/pages/reference/bar.md @@ -0,0 +1,2 @@ +# bar +--8<-- "reference/bar/index.html" diff --git a/pages/reference/barpolar.md b/pages/reference/barpolar.md new file mode 100644 index 00000000000..0a5ae637b54 --- /dev/null +++ b/pages/reference/barpolar.md @@ -0,0 +1,2 @@ +# barpolar +--8<-- "reference/barpolar/index.html" diff --git a/pages/reference/box.md b/pages/reference/box.md new file mode 100644 index 00000000000..fbbcacb6eb1 --- /dev/null +++ b/pages/reference/box.md @@ -0,0 +1,2 @@ +# box +--8<-- "reference/box/index.html" diff --git a/pages/reference/candlestick.md b/pages/reference/candlestick.md new file mode 100644 index 00000000000..532a27941c1 --- /dev/null +++ b/pages/reference/candlestick.md @@ -0,0 +1,2 @@ +# candlestick +--8<-- "reference/candlestick/index.html" diff --git a/pages/reference/carpet.md b/pages/reference/carpet.md new file mode 100644 index 00000000000..72ba3589fd5 --- /dev/null +++ b/pages/reference/carpet.md @@ -0,0 +1,2 @@ +# carpet +--8<-- "reference/carpet/index.html" diff --git a/pages/reference/choropleth.md b/pages/reference/choropleth.md new file mode 100644 index 00000000000..afe47d1b106 --- /dev/null +++ b/pages/reference/choropleth.md @@ -0,0 +1,2 @@ +# choropleth +--8<-- "reference/choropleth/index.html" diff --git a/pages/reference/choroplethmap.md b/pages/reference/choroplethmap.md new file mode 100644 index 00000000000..f03e2526626 --- /dev/null +++ b/pages/reference/choroplethmap.md @@ -0,0 +1,2 @@ +# choroplethmap +--8<-- "reference/choroplethmap/index.html" diff --git a/pages/reference/choroplethmapbox.md b/pages/reference/choroplethmapbox.md new file mode 100644 index 00000000000..d29374ec55d --- /dev/null +++ b/pages/reference/choroplethmapbox.md @@ -0,0 +1,2 @@ +# choroplethmapbox +--8<-- "reference/choroplethmapbox/index.html" diff --git a/pages/reference/cone.md b/pages/reference/cone.md new file mode 100644 index 00000000000..04753a94331 --- /dev/null +++ b/pages/reference/cone.md @@ -0,0 +1,2 @@ +# cone +--8<-- "reference/cone/index.html" diff --git a/pages/reference/contour.md b/pages/reference/contour.md new file mode 100644 index 00000000000..56f14909fe2 --- /dev/null +++ b/pages/reference/contour.md @@ -0,0 +1,2 @@ +# contour +--8<-- "reference/contour/index.html" diff --git a/pages/reference/contourcarpet.md b/pages/reference/contourcarpet.md new file mode 100644 index 00000000000..add81800520 --- /dev/null +++ b/pages/reference/contourcarpet.md @@ -0,0 +1,2 @@ +# contourcarpet +--8<-- "reference/contourcarpet/index.html" diff --git a/pages/reference/densitymap.md b/pages/reference/densitymap.md new file mode 100644 index 00000000000..1d9972627a1 --- /dev/null +++ b/pages/reference/densitymap.md @@ -0,0 +1,2 @@ +# densitymap +--8<-- "reference/densitymap/index.html" diff --git a/pages/reference/densitymapbox.md b/pages/reference/densitymapbox.md new file mode 100644 index 00000000000..de7d2042587 --- /dev/null +++ b/pages/reference/densitymapbox.md @@ -0,0 +1,2 @@ +# densitymapbox +--8<-- "reference/densitymapbox/index.html" diff --git a/pages/reference/funnel.md b/pages/reference/funnel.md new file mode 100644 index 00000000000..55e7f464376 --- /dev/null +++ b/pages/reference/funnel.md @@ -0,0 +1,2 @@ +# funnel +--8<-- "reference/funnel/index.html" diff --git a/pages/reference/funnelarea.md b/pages/reference/funnelarea.md new file mode 100644 index 00000000000..64644d30746 --- /dev/null +++ b/pages/reference/funnelarea.md @@ -0,0 +1,2 @@ +# funnelarea +--8<-- "reference/funnelarea/index.html" diff --git a/pages/reference/heatmap.md b/pages/reference/heatmap.md new file mode 100644 index 00000000000..5283ac35c38 --- /dev/null +++ b/pages/reference/heatmap.md @@ -0,0 +1,2 @@ +# heatmap +--8<-- "reference/heatmap/index.html" diff --git a/pages/reference/histogram.md b/pages/reference/histogram.md new file mode 100644 index 00000000000..b57c4ad99fe --- /dev/null +++ b/pages/reference/histogram.md @@ -0,0 +1,2 @@ +# histogram +--8<-- "reference/histogram/index.html" diff --git a/pages/reference/histogram2d.md b/pages/reference/histogram2d.md new file mode 100644 index 00000000000..7936a555435 --- /dev/null +++ b/pages/reference/histogram2d.md @@ -0,0 +1,2 @@ +# histogram2d +--8<-- "reference/histogram2d/index.html" diff --git a/pages/reference/histogram2dcontour.md b/pages/reference/histogram2dcontour.md new file mode 100644 index 00000000000..817aec57052 --- /dev/null +++ b/pages/reference/histogram2dcontour.md @@ -0,0 +1,2 @@ +# histogram2dcontour +--8<-- "reference/histogram2dcontour/index.html" diff --git a/pages/reference/icicle.md b/pages/reference/icicle.md new file mode 100644 index 00000000000..506de166f39 --- /dev/null +++ b/pages/reference/icicle.md @@ -0,0 +1,2 @@ +# icicle +--8<-- "reference/icicle/index.html" diff --git a/pages/reference/image.md b/pages/reference/image.md new file mode 100644 index 00000000000..b0504e69818 --- /dev/null +++ b/pages/reference/image.md @@ -0,0 +1,2 @@ +# image +--8<-- "reference/image/index.html" diff --git a/pages/reference/indicator.md b/pages/reference/indicator.md new file mode 100644 index 00000000000..350df47a0a0 --- /dev/null +++ b/pages/reference/indicator.md @@ -0,0 +1,2 @@ +# indicator +--8<-- "reference/indicator/index.html" diff --git a/pages/reference/isosurface.md b/pages/reference/isosurface.md new file mode 100644 index 00000000000..27df50ceb29 --- /dev/null +++ b/pages/reference/isosurface.md @@ -0,0 +1,2 @@ +# isosurface +--8<-- "reference/isosurface/index.html" diff --git a/pages/reference/layout.md b/pages/reference/layout.md new file mode 100644 index 00000000000..7349b120c69 --- /dev/null +++ b/pages/reference/layout.md @@ -0,0 +1,2 @@ +# layout +--8<-- "reference/layout/index.html" diff --git a/pages/reference/mesh3d.md b/pages/reference/mesh3d.md new file mode 100644 index 00000000000..7c9151d3a74 --- /dev/null +++ b/pages/reference/mesh3d.md @@ -0,0 +1,2 @@ +# mesh3d +--8<-- "reference/mesh3d/index.html" diff --git a/pages/reference/ohlc.md b/pages/reference/ohlc.md new file mode 100644 index 00000000000..e1adfe1e146 --- /dev/null +++ b/pages/reference/ohlc.md @@ -0,0 +1,2 @@ +# ohlc +--8<-- "reference/ohlc/index.html" diff --git a/pages/reference/parcats.md b/pages/reference/parcats.md new file mode 100644 index 00000000000..be20c01d95f --- /dev/null +++ b/pages/reference/parcats.md @@ -0,0 +1,2 @@ +# parcats +--8<-- "reference/parcats/index.html" diff --git a/pages/reference/parcoords.md b/pages/reference/parcoords.md new file mode 100644 index 00000000000..c1f97c81357 --- /dev/null +++ b/pages/reference/parcoords.md @@ -0,0 +1,2 @@ +# parcoords +--8<-- "reference/parcoords/index.html" diff --git a/pages/reference/pie.md b/pages/reference/pie.md new file mode 100644 index 00000000000..7aefd2a7b2b --- /dev/null +++ b/pages/reference/pie.md @@ -0,0 +1,2 @@ +# pie +--8<-- "reference/pie/index.html" diff --git a/pages/reference/sankey.md b/pages/reference/sankey.md new file mode 100644 index 00000000000..7118c506bc7 --- /dev/null +++ b/pages/reference/sankey.md @@ -0,0 +1,2 @@ +# sankey +--8<-- "reference/sankey/index.html" diff --git a/pages/reference/scatter.md b/pages/reference/scatter.md new file mode 100644 index 00000000000..815c26a0ceb --- /dev/null +++ b/pages/reference/scatter.md @@ -0,0 +1,2 @@ +# scatter +--8<-- "reference/scatter/index.html" diff --git a/pages/reference/scatter3d.md b/pages/reference/scatter3d.md new file mode 100644 index 00000000000..fe393f50c62 --- /dev/null +++ b/pages/reference/scatter3d.md @@ -0,0 +1,2 @@ +# scatter3d +--8<-- "reference/scatter3d/index.html" diff --git a/pages/reference/scattercarpet.md b/pages/reference/scattercarpet.md new file mode 100644 index 00000000000..61a7c2906ac --- /dev/null +++ b/pages/reference/scattercarpet.md @@ -0,0 +1,2 @@ +# scattercarpet +--8<-- "reference/scattercarpet/index.html" diff --git a/pages/reference/scattergeo.md b/pages/reference/scattergeo.md new file mode 100644 index 00000000000..e0de0a3a938 --- /dev/null +++ b/pages/reference/scattergeo.md @@ -0,0 +1,2 @@ +# scattergeo +--8<-- "reference/scattergeo/index.html" diff --git a/pages/reference/scattergl.md b/pages/reference/scattergl.md new file mode 100644 index 00000000000..e5d9479cc86 --- /dev/null +++ b/pages/reference/scattergl.md @@ -0,0 +1,2 @@ +# scattergl +--8<-- "reference/scattergl/index.html" diff --git a/pages/reference/scattermap.md b/pages/reference/scattermap.md new file mode 100644 index 00000000000..7abf722fdee --- /dev/null +++ b/pages/reference/scattermap.md @@ -0,0 +1,2 @@ +# scattermap +--8<-- "reference/scattermap/index.html" diff --git a/pages/reference/scattermapbox.md b/pages/reference/scattermapbox.md new file mode 100644 index 00000000000..812995b6f74 --- /dev/null +++ b/pages/reference/scattermapbox.md @@ -0,0 +1,2 @@ +# scattermapbox +--8<-- "reference/scattermapbox/index.html" diff --git a/pages/reference/scatterpolar.md b/pages/reference/scatterpolar.md new file mode 100644 index 00000000000..0744d203d8f --- /dev/null +++ b/pages/reference/scatterpolar.md @@ -0,0 +1,2 @@ +# scatterpolar +--8<-- "reference/scatterpolar/index.html" diff --git a/pages/reference/scatterpolargl.md b/pages/reference/scatterpolargl.md new file mode 100644 index 00000000000..c43d630e5ff --- /dev/null +++ b/pages/reference/scatterpolargl.md @@ -0,0 +1,2 @@ +# scatterpolargl +--8<-- "reference/scatterpolargl/index.html" diff --git a/pages/reference/scattersmith.md b/pages/reference/scattersmith.md new file mode 100644 index 00000000000..af63f2ed9cf --- /dev/null +++ b/pages/reference/scattersmith.md @@ -0,0 +1,2 @@ +# scattersmith +--8<-- "reference/scattersmith/index.html" diff --git a/pages/reference/scatterternary.md b/pages/reference/scatterternary.md new file mode 100644 index 00000000000..e514d87aa92 --- /dev/null +++ b/pages/reference/scatterternary.md @@ -0,0 +1,2 @@ +# scatterternary +--8<-- "reference/scatterternary/index.html" diff --git a/pages/reference/splom.md b/pages/reference/splom.md new file mode 100644 index 00000000000..8c7d4b0d479 --- /dev/null +++ b/pages/reference/splom.md @@ -0,0 +1,2 @@ +# splom +--8<-- "reference/splom/index.html" diff --git a/pages/reference/streamtube.md b/pages/reference/streamtube.md new file mode 100644 index 00000000000..faa2d0e688c --- /dev/null +++ b/pages/reference/streamtube.md @@ -0,0 +1,2 @@ +# streamtube +--8<-- "reference/streamtube/index.html" diff --git a/pages/reference/sunburst.md b/pages/reference/sunburst.md new file mode 100644 index 00000000000..f24b23bc180 --- /dev/null +++ b/pages/reference/sunburst.md @@ -0,0 +1,2 @@ +# sunburst +--8<-- "reference/sunburst/index.html" diff --git a/pages/reference/surface.md b/pages/reference/surface.md new file mode 100644 index 00000000000..4a2809db9b5 --- /dev/null +++ b/pages/reference/surface.md @@ -0,0 +1,2 @@ +# surface +--8<-- "reference/surface/index.html" diff --git a/pages/reference/table.md b/pages/reference/table.md new file mode 100644 index 00000000000..54db5265a51 --- /dev/null +++ b/pages/reference/table.md @@ -0,0 +1,2 @@ +# table +--8<-- "reference/table/index.html" diff --git a/pages/reference/treemap.md b/pages/reference/treemap.md new file mode 100644 index 00000000000..7fd5cad3701 --- /dev/null +++ b/pages/reference/treemap.md @@ -0,0 +1,2 @@ +# treemap +--8<-- "reference/treemap/index.html" diff --git a/pages/reference/violin.md b/pages/reference/violin.md new file mode 100644 index 00000000000..8ba4fa6b5b8 --- /dev/null +++ b/pages/reference/violin.md @@ -0,0 +1,2 @@ +# violin +--8<-- "reference/violin/index.html" diff --git a/pages/reference/volume.md b/pages/reference/volume.md new file mode 100644 index 00000000000..dbc8a4612ee --- /dev/null +++ b/pages/reference/volume.md @@ -0,0 +1,2 @@ +# volume +--8<-- "reference/volume/index.html" diff --git a/pages/reference/waterfall.md b/pages/reference/waterfall.md new file mode 100644 index 00000000000..a046627d04e --- /dev/null +++ b/pages/reference/waterfall.md @@ -0,0 +1,2 @@ +# waterfall +--8<-- "reference/waterfall/index.html" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000000..4dde4e89929 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,18 @@ +[project] +name = "plotly.js" +description = "Plotly JavaScript charting library" +version = "3.1.0" +requires-python = ">=3.12" +dependencies = [ + "markdown", + "python-frontmatter", + "ruff" +] + +[project.optional-dependencies] +dev_build = [ + "mkdocs", + "mkdocs-material", + "mkdocs-gen-files", + "mkdocs-literate-nav", +] \ No newline at end of file diff --git a/test/plot-schema.json b/test/plot-schema.json index dbc320a4631..88e22ab4d49 100644 --- a/test/plot-schema.json +++ b/test/plot-schema.json @@ -362,7 +362,7 @@ }, "topojsonURL": { "description": "Set the URL to topojson used in geo charts. By default, the topojson files are fetched from cdn.plot.ly. For example, set this option to: /dist/topojson/ to render geographical feature using the topojson files that ship with the plotly.js module.", - "dflt": "https://cdn.plot.ly/un/", + "dflt": "https://cdn.plot.ly/", "noBlank": true, "valType": "string" }, @@ -2545,11 +2545,9 @@ "valType": "enumerated", "values": [ "africa", - "antarctica", "asia", "europe", "north america", - "oceania", "south america", "usa", "world" @@ -3021,13 +3019,7 @@ "min": -1, "valType": "integer" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovermode": { "description": "Determines the mode of hover interactions. If *closest*, a single hoverlabel will appear for the *closest* point within the `hoverdistance`. If *x* (or *y*), multiple hoverlabels will appear for multiple points at the *closest* x- (or y-) coordinate within the `hoverdistance`, with the caveat that no more than one hoverlabel will appear per trace. If *x unified* (or *y unified*), a single hoverlabel will appear multiple points at the closest x- (or y-) coordinate within the `hoverdistance` with the caveat that no more than one hoverlabel will appear per trace. In this mode, spikelines are enabled by default perpendicular to the specified axis. If false, hover interactions are disabled.", @@ -3451,7 +3443,7 @@ "valType": "number" }, "maxheight": { - "description": "Sets the max height (in px) of the legend, or max height ratio (reference height * ratio) if less than or equal to 1. Default value is: 0.5 for horizontal legends; 1 for vertical legends. The minimum allowed height is 30px. For a ratio of 0.5, the legend will take up to 50% of the reference height before displaying a scrollbar. The reference height is the full layout height with the following exception: vertically oriented legends with a `yref` of `\"paper\", located to the side of the plot. In this case, the reference height is the plot height.", + "description": "Sets the max height (in px) of the legend, or max height ratio (reference height * ratio) if less than one. Default value is: 0.5 for horizontal legends; 1 for vertical legends. The minimum allowed height is 30px. For a ratio of 0.5, the legend will take up to 50% of the reference height before displaying a scrollbar. The reference height is the full layout height except for vertically oriented legends with a `yref` of `\"paper\"`, where the reference height is the plot height.", "editType": "legend", "min": 0, "valType": "number" @@ -3652,7 +3644,7 @@ "valType": "number" }, "yanchor": { - "description": "Sets the legend's vertical position anchor. This anchor binds the `y` position to the *top*, *middle* or *bottom* of the legend. Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3, anchors legends to at their top for `y` values greater than or equal to 2/3 and anchors legends with respect to their middle otherwise.", + "description": "Sets the legend's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the legend. Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3, anchors legends to at their top for `y` values greater than or equal to 2/3 and anchors legends with respect to their middle otherwise.", "editType": "legend", "valType": "enumerated", "values": [ @@ -5203,17 +5195,6 @@ "min": 0, "valType": "number" }, - "minorloglabels": { - "description": "Determines how minor log labels are displayed. If *small digits*, small digits i.e. 2 or 5 are displayed. If *complete*, complete digits are displayed. If *none*, no labels are displayed.", - "dflt": "small digits", - "editType": "plot", - "valType": "enumerated", - "values": [ - "small digits", - "complete", - "none" - ] - }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, @@ -5911,17 +5892,6 @@ "min": 0, "valType": "number" }, - "minorloglabels": { - "description": "Determines how minor log labels are displayed. If *small digits*, small digits i.e. 2 or 5 are displayed. If *complete*, complete digits are displayed. If *none*, no labels are displayed.", - "dflt": "small digits", - "editType": "plot", - "valType": "enumerated", - "values": [ - "small digits", - "complete", - "none" - ] - }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, @@ -5955,7 +5925,7 @@ "valType": "info_array" }, "rangemode": { - "description": "If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. If *normal*, the range is computed in relation to the extrema of the input data (same behavior as for cartesian axes).", + "description": "If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. If *normal*, the range is computed in relation to the extrema of the input data (same behavior as for cartesian axes).", "dflt": "tozero", "editType": "calc", "valType": "enumerated", @@ -7361,7 +7331,7 @@ "valType": "info_array" }, "rangemode": { - "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", "dflt": "normal", "editType": "plot", "valType": "enumerated", @@ -8100,7 +8070,7 @@ "valType": "info_array" }, "rangemode": { - "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", "dflt": "normal", "editType": "plot", "valType": "enumerated", @@ -8839,7 +8809,7 @@ "valType": "info_array" }, "rangemode": { - "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", "dflt": "normal", "editType": "plot", "valType": "enumerated", @@ -13935,17 +13905,6 @@ "valType": "number" } }, - "minorloglabels": { - "description": "Determines how minor log labels are displayed. If *small digits*, small digits i.e. 2 or 5 are displayed. If *complete*, complete digits are displayed. If *none*, no labels are displayed.", - "dflt": "small digits", - "editType": "calc", - "valType": "enumerated", - "values": [ - "small digits", - "complete", - "none" - ] - }, "mirror": { "description": "Determines if the axis lines or/and ticks are mirrored to the opposite side of the plotting area. If *true*, the axis lines are mirrored. If *ticks*, the axis lines and ticks are mirrored. If *false*, mirroring is disable. If *all*, axis lines are mirrored on all shared-axes subplots. If *allticks*, axis lines and ticks are mirrored on all shared-axes subplots.", "dflt": false, @@ -13959,19 +13918,6 @@ "allticks" ] }, - "modebardisable": { - "description": "Disables certain modebar buttons for this axis. *autoscale* disables the autoscale buttons, *zoominout* disables the zoom-in and zoom-out buttons.", - "dflt": "none", - "editType": "modebar", - "extras": [ - "none" - ], - "flags": [ - "autoscale", - "zoominout" - ], - "valType": "flaglist" - }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, @@ -14092,7 +14038,7 @@ "role": "object" }, "rangemode": { - "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", "dflt": "normal", "editType": "plot", "valType": "enumerated", @@ -15003,16 +14949,6 @@ "editType": "none", "valType": "any" }, - "unifiedhovertitle": { - "editType": "none", - "role": "object", - "text": { - "description": "Template string used for rendering the title that appear on x or y unified hover box. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax.", - "dflt": "", - "editType": "none", - "valType": "string" - } - }, "visible": { "description": "A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false", "editType": "plot", @@ -15530,17 +15466,6 @@ "valType": "number" } }, - "minorloglabels": { - "description": "Determines how minor log labels are displayed. If *small digits*, small digits i.e. 2 or 5 are displayed. If *complete*, complete digits are displayed. If *none*, no labels are displayed.", - "dflt": "small digits", - "editType": "calc", - "valType": "enumerated", - "values": [ - "small digits", - "complete", - "none" - ] - }, "mirror": { "description": "Determines if the axis lines or/and ticks are mirrored to the opposite side of the plotting area. If *true*, the axis lines are mirrored. If *ticks*, the axis lines and ticks are mirrored. If *false*, mirroring is disable. If *all*, axis lines are mirrored on all shared-axes subplots. If *allticks*, axis lines and ticks are mirrored on all shared-axes subplots.", "dflt": false, @@ -15554,19 +15479,6 @@ "allticks" ] }, - "modebardisable": { - "description": "Disables certain modebar buttons for this axis. *autoscale* disables the autoscale buttons, *zoominout* disables the zoom-in and zoom-out buttons.", - "dflt": "none", - "editType": "modebar", - "extras": [ - "none" - ], - "flags": [ - "autoscale", - "zoominout" - ], - "valType": "flaglist" - }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, @@ -15687,7 +15599,7 @@ "role": "object" }, "rangemode": { - "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.", "dflt": "normal", "editType": "plot", "valType": "enumerated", @@ -16281,16 +16193,6 @@ "editType": "none", "valType": "any" }, - "unifiedhovertitle": { - "editType": "none", - "role": "object", - "text": { - "description": "Template string used for rendering the title that appear on x or y unified hover box. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax.", - "dflt": "", - "editType": "none", - "valType": "string" - } - }, "visible": { "description": "A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false", "editType": "plot", @@ -16793,13 +16695,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -18998,13 +18894,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -20586,13 +20476,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoveron": { "description": "Do the hover effects highlight individual boxes or sample points or both?", @@ -22130,12 +22014,6 @@ "valType": "string" }, "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - }, "split": { "description": "Show hover information (open, close, high, low) in separate labels.", "dflt": false, @@ -22824,7 +22702,7 @@ "valType": "info_array" }, "rangemode": { - "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", "dflt": "normal", "editType": "calc", "valType": "enumerated", @@ -23495,7 +23373,7 @@ "valType": "info_array" }, "rangemode": { - "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", "dflt": "normal", "editType": "calc", "valType": "enumerated", @@ -25171,13 +25049,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -25337,7 +25209,7 @@ "valType": "number" }, "locationmode": { - "description": "The library used by the *country names* `locationmode` option is changing in an upcoming version. Country names in existing plots may not work in the new version. Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute.", + "description": "Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute.", "dflt": "ISO-3", "editType": "calc", "valType": "enumerated", @@ -26458,13 +26330,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -27741,13 +27607,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -29057,13 +28917,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -30624,13 +30478,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoverongaps": { "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.", @@ -33453,13 +33301,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -34674,13 +34516,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -35345,13 +35181,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -37379,13 +37209,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -39216,13 +39040,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoverongaps": { "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.", @@ -40383,13 +40201,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -43030,13 +42842,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -44726,13 +44532,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -45658,13 +45458,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -47750,13 +47544,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -50282,13 +50070,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -51829,13 +51611,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -52663,12 +52439,6 @@ "valType": "string" }, "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - }, "split": { "description": "Show hover information (open, close, high, low) in separate labels.", "dflt": false, @@ -56124,13 +55894,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -57560,13 +57324,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } + "role": "object" }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", @@ -58000,13 +57758,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -58371,13 +58123,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -59252,13 +58998,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoveron": { "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", @@ -61996,13 +61736,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -64446,13 +64180,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoveron": { "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", @@ -66736,13 +66464,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -66942,7 +66664,7 @@ } }, "locationmode": { - "description": "The library used by the *country names* `locationmode` option is changing in an upcoming version. Country names in existing plots may not work in the new version. Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute.", + "description": "Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute.", "dflt": "ISO-3", "editType": "calc", "valType": "enumerated", @@ -69184,13 +68906,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -71513,13 +71229,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -73056,13 +72766,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -74544,13 +74248,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoveron": { "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", @@ -76860,13 +76558,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -79010,13 +78702,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoveron": { "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", @@ -81325,13 +81011,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoveron": { "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", @@ -83641,13 +83321,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -86243,13 +85917,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -87060,13 +86728,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -89865,13 +89527,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -91186,13 +90842,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", @@ -91708,13 +91358,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -93875,13 +93519,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hoveron": { "description": "Do the hover effects highlight individual violins or sample points or the kernel density estimate or any combination of them?", @@ -95995,13 +95633,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, @@ -96952,13 +96584,7 @@ "editType": "none", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } + "role": "object" }, "hovertemplate": { "arrayOk": true, diff --git a/uv.lock b/uv.lock new file mode 100644 index 00000000000..b0240ae3737 --- /dev/null +++ b/uv.lock @@ -0,0 +1,514 @@ +version = 1 +revision = 3 +requires-python = ">=3.12" + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, +] + +[[package]] +name = "backrefs" +version = "5.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz", hash = "sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59", size = 5765857, upload-time = "2025-06-22T19:34:13.97Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/4d/798dc1f30468134906575156c089c492cf79b5a5fd373f07fe26c4d046bf/backrefs-5.9-py310-none-any.whl", hash = "sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f", size = 380267, upload-time = "2025-06-22T19:34:05.252Z" }, + { url = "https://files.pythonhosted.org/packages/55/07/f0b3375bf0d06014e9787797e6b7cc02b38ac9ff9726ccfe834d94e9991e/backrefs-5.9-py311-none-any.whl", hash = "sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf", size = 392072, upload-time = "2025-06-22T19:34:06.743Z" }, + { url = "https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl", hash = "sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa", size = 397947, upload-time = "2025-06-22T19:34:08.172Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl", hash = "sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b", size = 399843, upload-time = "2025-06-22T19:34:09.68Z" }, + { url = "https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl", hash = "sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9", size = 411762, upload-time = "2025-06-22T19:34:11.037Z" }, + { url = "https://files.pythonhosted.org/packages/41/ff/392bff89415399a979be4a65357a41d92729ae8580a66073d8ec8d810f98/backrefs-5.9-py39-none-any.whl", hash = "sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60", size = 380265, upload-time = "2025-06-22T19:34:12.405Z" }, +] + +[[package]] +name = "certifi" +version = "2025.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, + { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, + { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, + { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "markdown" +version = "3.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/37/02347f6d6d8279247a5837082ebc26fc0d5aaeaf75aa013fcbb433c777ab/markdown-3.9.tar.gz", hash = "sha256:d2900fe1782bd33bdbbd56859defef70c2e78fc46668f8eb9df3128138f2cb6a", size = 364585, upload-time = "2025-09-04T20:25:22.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/ae/44c4a6a4cbb496d93c6257954260fe3a6e91b7bed2240e5dad2a717f5111/markdown-3.9-py3-none-any.whl", hash = "sha256:9f4d91ed810864ea88a6f32c07ba8bee1346c0cc1f6b1f9f6c822f2a9667d280", size = 107441, upload-time = "2025-09-04T20:25:21.784Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, +] + +[[package]] +name = "mkdocs-gen-files" +version = "0.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/85/2d634462fd59136197d3126ca431ffb666f412e3db38fd5ce3a60566303e/mkdocs_gen_files-0.5.0.tar.gz", hash = "sha256:4c7cf256b5d67062a788f6b1d035e157fc1a9498c2399be9af5257d4ff4d19bc", size = 7539, upload-time = "2023-04-27T19:48:04.894Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/0f/1e55b3fd490ad2cecb6e7b31892d27cb9fc4218ec1dab780440ba8579e74/mkdocs_gen_files-0.5.0-py3-none-any.whl", hash = "sha256:7ac060096f3f40bd19039e7277dd3050be9a453c8ac578645844d4d91d7978ea", size = 8380, upload-time = "2023-04-27T19:48:07.059Z" }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" }, +] + +[[package]] +name = "mkdocs-literate-nav" +version = "0.6.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/5f/99aa379b305cd1c2084d42db3d26f6de0ea9bf2cc1d10ed17f61aff35b9a/mkdocs_literate_nav-0.6.2.tar.gz", hash = "sha256:760e1708aa4be86af81a2b56e82c739d5a8388a0eab1517ecfd8e5aa40810a75", size = 17419, upload-time = "2025-03-18T21:53:09.711Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/84/b5b14d2745e4dd1a90115186284e9ee1b4d0863104011ab46abb7355a1c3/mkdocs_literate_nav-0.6.2-py3-none-any.whl", hash = "sha256:0a6489a26ec7598477b56fa112056a5e3a6c15729f0214bea8a4dbc55bd5f630", size = 13261, upload-time = "2025-03-18T21:53:08.1Z" }, +] + +[[package]] +name = "mkdocs-material" +version = "9.6.20" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "backrefs" }, + { name = "click" }, + { name = "colorama" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "mkdocs" }, + { name = "mkdocs-material-extensions" }, + { name = "paginate" }, + { name = "pygments" }, + { name = "pymdown-extensions" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/ee/6ed7fc739bd7591485c8bec67d5984508d3f2733e708f32714c21593341a/mkdocs_material-9.6.20.tar.gz", hash = "sha256:e1f84d21ec5fb730673c4259b2e0d39f8d32a3fef613e3a8e7094b012d43e790", size = 4037822, upload-time = "2025-09-15T08:48:01.816Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/d8/a31dd52e657bf12b20574706d07df8d767e1ab4340f9bfb9ce73950e5e59/mkdocs_material-9.6.20-py3-none-any.whl", hash = "sha256:b8d8c8b0444c7c06dd984b55ba456ce731f0035c5a1533cc86793618eb1e6c82", size = 9193367, upload-time = "2025-09-15T08:47:58.722Z" }, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "paginate" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, +] + +[[package]] +name = "plotly-js" +version = "3.1.0" +source = { virtual = "." } +dependencies = [ + { name = "markdown" }, + { name = "python-frontmatter" }, + { name = "ruff" }, +] + +[package.optional-dependencies] +dev-build = [ + { name = "mkdocs" }, + { name = "mkdocs-gen-files" }, + { name = "mkdocs-literate-nav" }, + { name = "mkdocs-material" }, +] + +[package.metadata] +requires-dist = [ + { name = "markdown" }, + { name = "mkdocs", marker = "extra == 'dev-build'" }, + { name = "mkdocs-gen-files", marker = "extra == 'dev-build'" }, + { name = "mkdocs-literate-nav", marker = "extra == 'dev-build'" }, + { name = "mkdocs-material", marker = "extra == 'dev-build'" }, + { name = "python-frontmatter" }, + { name = "ruff" }, +] +provides-extras = ["dev-build"] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pymdown-extensions" +version = "10.16.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/b3/6d2b3f149bc5413b0a29761c2c5832d8ce904a1d7f621e86616d96f505cc/pymdown_extensions-10.16.1.tar.gz", hash = "sha256:aace82bcccba3efc03e25d584e6a22d27a8e17caa3f4dd9f207e49b787aa9a91", size = 853277, upload-time = "2025-07-28T16:19:34.167Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl", hash = "sha256:d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d", size = 266178, upload-time = "2025-07-28T16:19:31.401Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-frontmatter" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/de/910fa208120314a12f9a88ea63e03707261692af782c99283f1a2c8a5e6f/python-frontmatter-1.1.0.tar.gz", hash = "sha256:7118d2bd56af9149625745c58c9b51fb67e8d1294a0c76796dafdc72c36e5f6d", size = 16256, upload-time = "2024-01-16T18:50:04.052Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/87/3c8da047b3ec5f99511d1b4d7a5bc72d4b98751c7e78492d14dc736319c5/python_frontmatter-1.1.0-py3-none-any.whl", hash = "sha256:335465556358d9d0e6c98bbeb69b1c969f2a4a21360587b9873bfc3b213407c1", size = 9834, upload-time = "2024-01-16T18:50:00.911Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, +] + +[[package]] +name = "pyyaml-env-tag" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "ruff" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6e/1a/1f4b722862840295bcaba8c9e5261572347509548faaa99b2d57ee7bfe6a/ruff-0.13.0.tar.gz", hash = "sha256:5b4b1ee7eb35afae128ab94459b13b2baaed282b1fb0f472a73c82c996c8ae60", size = 5372863, upload-time = "2025-09-10T16:25:37.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/fe/6f87b419dbe166fd30a991390221f14c5b68946f389ea07913e1719741e0/ruff-0.13.0-py3-none-linux_armv6l.whl", hash = "sha256:137f3d65d58ee828ae136a12d1dc33d992773d8f7644bc6b82714570f31b2004", size = 12187826, upload-time = "2025-09-10T16:24:39.5Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/c92296b1fc36d2499e12b74a3fdb230f77af7bdf048fad7b0a62e94ed56a/ruff-0.13.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:21ae48151b66e71fd111b7d79f9ad358814ed58c339631450c66a4be33cc28b9", size = 12933428, upload-time = "2025-09-10T16:24:43.866Z" }, + { url = "https://files.pythonhosted.org/packages/44/cf/40bc7221a949470307d9c35b4ef5810c294e6cfa3caafb57d882731a9f42/ruff-0.13.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:64de45f4ca5441209e41742d527944635a05a6e7c05798904f39c85bafa819e3", size = 12095543, upload-time = "2025-09-10T16:24:46.638Z" }, + { url = "https://files.pythonhosted.org/packages/f1/03/8b5ff2a211efb68c63a1d03d157e924997ada87d01bebffbd13a0f3fcdeb/ruff-0.13.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b2c653ae9b9d46e0ef62fc6fbf5b979bda20a0b1d2b22f8f7eb0cde9f4963b8", size = 12312489, upload-time = "2025-09-10T16:24:49.556Z" }, + { url = "https://files.pythonhosted.org/packages/37/fc/2336ef6d5e9c8d8ea8305c5f91e767d795cd4fc171a6d97ef38a5302dadc/ruff-0.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cec632534332062bc9eb5884a267b689085a1afea9801bf94e3ba7498a2d207", size = 11991631, upload-time = "2025-09-10T16:24:53.439Z" }, + { url = "https://files.pythonhosted.org/packages/39/7f/f6d574d100fca83d32637d7f5541bea2f5e473c40020bbc7fc4a4d5b7294/ruff-0.13.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dcd628101d9f7d122e120ac7c17e0a0f468b19bc925501dbe03c1cb7f5415b24", size = 13720602, upload-time = "2025-09-10T16:24:56.392Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c8/a8a5b81d8729b5d1f663348d11e2a9d65a7a9bd3c399763b1a51c72be1ce/ruff-0.13.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:afe37db8e1466acb173bb2a39ca92df00570e0fd7c94c72d87b51b21bb63efea", size = 14697751, upload-time = "2025-09-10T16:24:59.89Z" }, + { url = "https://files.pythonhosted.org/packages/57/f5/183ec292272ce7ec5e882aea74937f7288e88ecb500198b832c24debc6d3/ruff-0.13.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f96a8d90bb258d7d3358b372905fe7333aaacf6c39e2408b9f8ba181f4b6ef2", size = 14095317, upload-time = "2025-09-10T16:25:03.025Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8d/7f9771c971724701af7926c14dab31754e7b303d127b0d3f01116faef456/ruff-0.13.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b5e3d883e4f924c5298e3f2ee0f3085819c14f68d1e5b6715597681433f153", size = 13144418, upload-time = "2025-09-10T16:25:06.272Z" }, + { url = "https://files.pythonhosted.org/packages/a8/a6/7985ad1778e60922d4bef546688cd8a25822c58873e9ff30189cfe5dc4ab/ruff-0.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03447f3d18479df3d24917a92d768a89f873a7181a064858ea90a804a7538991", size = 13370843, upload-time = "2025-09-10T16:25:09.965Z" }, + { url = "https://files.pythonhosted.org/packages/64/1c/bafdd5a7a05a50cc51d9f5711da704942d8dd62df3d8c70c311e98ce9f8a/ruff-0.13.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:fbc6b1934eb1c0033da427c805e27d164bb713f8e273a024a7e86176d7f462cf", size = 13321891, upload-time = "2025-09-10T16:25:12.969Z" }, + { url = "https://files.pythonhosted.org/packages/bc/3e/7817f989cb9725ef7e8d2cee74186bf90555279e119de50c750c4b7a72fe/ruff-0.13.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a8ab6a3e03665d39d4a25ee199d207a488724f022db0e1fe4002968abdb8001b", size = 12119119, upload-time = "2025-09-10T16:25:16.621Z" }, + { url = "https://files.pythonhosted.org/packages/58/07/9df080742e8d1080e60c426dce6e96a8faf9a371e2ce22eef662e3839c95/ruff-0.13.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d2a5c62f8ccc6dd2fe259917482de7275cecc86141ee10432727c4816235bc41", size = 11961594, upload-time = "2025-09-10T16:25:19.49Z" }, + { url = "https://files.pythonhosted.org/packages/6a/f4/ae1185349197d26a2316840cb4d6c3fba61d4ac36ed728bf0228b222d71f/ruff-0.13.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:b7b85ca27aeeb1ab421bc787009831cffe6048faae08ad80867edab9f2760945", size = 12933377, upload-time = "2025-09-10T16:25:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/b6/39/e776c10a3b349fc8209a905bfb327831d7516f6058339a613a8d2aaecacd/ruff-0.13.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:79ea0c44a3032af768cabfd9616e44c24303af49d633b43e3a5096e009ebe823", size = 13418555, upload-time = "2025-09-10T16:25:25.681Z" }, + { url = "https://files.pythonhosted.org/packages/46/09/dca8df3d48e8b3f4202bf20b1658898e74b6442ac835bfe2c1816d926697/ruff-0.13.0-py3-none-win32.whl", hash = "sha256:4e473e8f0e6a04e4113f2e1de12a5039579892329ecc49958424e5568ef4f768", size = 12141613, upload-time = "2025-09-10T16:25:28.664Z" }, + { url = "https://files.pythonhosted.org/packages/61/21/0647eb71ed99b888ad50e44d8ec65d7148babc0e242d531a499a0bbcda5f/ruff-0.13.0-py3-none-win_amd64.whl", hash = "sha256:48e5c25c7a3713eea9ce755995767f4dcd1b0b9599b638b12946e892123d1efb", size = 13258250, upload-time = "2025-09-10T16:25:31.773Z" }, + { url = "https://files.pythonhosted.org/packages/e1/a3/03216a6a86c706df54422612981fb0f9041dbb452c3401501d4a22b942c9/ruff-0.13.0-py3-none-win_arm64.whl", hash = "sha256:ab80525317b1e1d38614addec8ac954f1b3e662de9d59114ecbf771d00cf613e", size = 12312357, upload-time = "2025-09-10T16:25:35.595Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +]